mcpbeat

Blog Decay

agricidaniel/claude-blog-blog-decay

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".

This is a copy. The original lives at agricidaniel/blog-decay.

959 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
1556
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/AgriciDaniel/claude-blog --skill blog-decay

The instruction itself

6 sections, as written by the author

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:

| Decline | Severity |

| --- | --- |

| 20% to 39.9% | warning |

| 40% to 59.9% | high |

| 60% or more | critical |

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.

Use the action as the first triage path only after checking indexation,

canonical status, query loss, internal links, backlinks, seasonality, and

business value:

| Action | Use when |

| --- | --- |

| refresh/update content | The page still has demand and likely needs freshness, title, internal link, or section updates. |

| investigate query shift | Clicks fell while impressions held up, suggesting CTR, rank, SERP, or query mix changes. |

| consolidate/redirect | The page dropped out or the loss is severe enough that merging into a stronger URL may recover value faster. |

| prune | The 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.

How to use it

Copy the folder

Take agricidaniel/claude-blog-blog-decay from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.