SkillAgentSearch skills...

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

Install / Use

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

Installs into whichever agent you are using.

About this skill
📄

SKILL.md

Installable skill definition

Quality Score

86/100

Supported Platforms

Cline

Tags

Our assessment of blog-decay

blog-decay scores 86/100 on our quality scale, 396th of 814 Content & Media skills we index (top 49%).

Its SKILL.md is 3.7 KB long, split into 6 sections with 3 code examples: a solid amount of guidance for an agent.

With 2,282 GitHub stars, it is one of the more widely adopted skills in the catalogue.

Substance
26/30
Structure
16/20
Description
15/15
Adoption
14/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 4 days ago, so blog-decay is actively maintained.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands.

Automated pattern scan on 2026-09-29. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

blog-decay compared with similar skills

All 4 of these similar skills score higher than blog-decay; compare them before choosing.

SkillScoreStarsUpdatedFormat
blog-decay (this skill)by AgriciDaniel862.3k4d agoSKILL.md
siyuanby siyuan-note10046.5ktodayMCP Server
algorithmic-artby anthropics100177.9k6d agoSKILL.md
pptxby anthropics100177.9k6d agoSKILL.md
designby nextlevelbuilder100130.2k7d agoSKILL.md

Frequently asked questions

How do I install blog-decay?
Run npx skills add AgriciDaniel/claude-blog --skill blog-decay. The install tabs above show the steps for each supported agent.
Which AI agents does blog-decay work with?
It is written for Cline, as a SKILL.md file. Other agents that read the same format can often use it too.
Is blog-decay safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is blog-decay still maintained?
The repository was last updated 4 days ago, so blog-decay is actively maintained.

name: blog-decay description: 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". argument-hint: "<current-gsc.json> <previous-gsc.json> [threshold] [metric]" user-invokable: true license: MIT

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.

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:

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

Related Skills

View on GitHub
GitHub Stars2.3k
CategoryContent
Updated4d ago
Forks392

Languages

Python

Trust signals

100/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

No cautions