agentsclimarketplace

Blog decay

Skill AgriciDaniel/claude-blog/skills/blog-decay

Claude Code blog skill suite: 30 sub-skills, 5 agents, 5-gate v1.9.0 Blog Delivery Contract, dual-optimized for Google rankings and AI citations. Active development at AI-Marketing-Hub/claude-blog (AI Marketing Hub Pro community); public releases ship here.

Install
npx -y skills add AgriciDaniel/claude-blog --skill blog-decay

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Detect content decay from Google Search Console exports by comparing current and previous page performance, flagging quarter-over-quarter traffic drops, dropped pages, and refresh, consolidate, prune, or query-shift actions. Use when the user says "/blog decay", "content decay", "traffic drop", "QoQ decline", "GSC decay", or "refresh declining posts".

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.7 KB, as published. Nobody here has run it

Blog Decay

Use /blog decay to find pages whose Google Search Console performance has declined quarter-over-quarter. The command compares a current-period export against a previous-period export, flags pages with a 20% or larger decline by default, and recommends the next content action.

Default Offline Workflow

Run the local analyzer against two GSC page exports:

python3 scripts/content_decay.py current.json previous.json

Useful options:

python3 scripts/content_decay.py current.json previous.json --threshold 0.30
python3 scripts/content_decay.py current.json previous.json --metric impressions
python3 scripts/content_decay.py current.json previous.json --format markdown --output decay-report.md

The script accepts JSON lists of page rows with page or url, clicks, and impressions. It also accepts the object shape returned by blog-google when the rows are under a top-level rows key.

Optional Live GSC Export

For live data, use /blog google gsc or the underlying blog-google command to create each period export, then run the offline analyzer:

python3 skills/blog-google/scripts/run.py gsc_query --property sc-domain:example.com --dimensions page --start-date YYYY-MM-DD --end-date YYYY-MM-DD --json > gsc-current.json
python3 skills/blog-google/scripts/run.py gsc_query --property sc-domain:example.com --dimensions page --start-date YYYY-MM-DD --end-date YYYY-MM-DD --json > gsc-previous.json
python3 scripts/content_decay.py gsc-current.json gsc-previous.json --format markdown

Use adjacent periods of similar length for short-term checks. For seasonality, also run a year-over-year comparison using the same date length, filters, search type, device, country, and property. When possible, inspect up to 16 months of GSC history before diagnosing a traffic drop.

Decay Model

The default metric is clicks. Also review impressions, CTR, average position, query and page pairs, device, country, and search appearance deltas before choosing an action.

Severity:

DeclineSeverity
20% to 39.9%warning
40% to 59.9%high
60% or morecritical

Dropped pages are previous-period pages missing from the current export only after confirming identical filters, sufficient row limits, matching dimensions, and URL inspection. Otherwise mark them as needs_validation, not dropped_out.

Recommended Actions

Use the action as the first triage path only after checking indexation, canonical status, query loss, internal links, backlinks, seasonality, and business value:

ActionUse when
refresh/update contentThe page still has demand and likely needs freshness, title, internal link, or section updates.
investigate query shiftClicks fell while impressions held up, suggesting CTR, rank, SERP, or query mix changes.
consolidate/redirectThe page dropped out or the loss is severe enough that merging into a stronger URL may recover value faster.
pruneThe page had very low prior demand and may not justify rewrite effort.

Cross-references

Use blog-google to collect Search Console exports when live credentials are available. Use blog-rewrite after decay detection when the recommended action is refresh/update content and the page is worth improving.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.