blog-decay

Detect content decay by comparing Google Search Console page performance exports.

2.0k|334|Updated Feb 17, 2026
One-click install
npx skills add https://github.com/AgriciDaniel/claude-blog --skill blog-decay
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: blog-decay
Source: https://github.com/AgriciDaniel/claude-blog/tree/main/brain/.raw/sources/claude-blog-skill/skills/blog-decay
Command: npx skills add https://github.com/AgriciDaniel/claude-blog --skill blog-decay

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

Blog posts lose organic traffic over time, but spotting which pages are declining requires manually comparing Google Search Console data across periods. This Skill automates that comparison, flagging pages with quarter-over-quarter drops and recommending whether to refresh, consolidate, prune, or investigate each one.

Core Features & Use Cases

  • Decay Detection: Compares current and previous GSC page exports to flag pages with 20% or larger declines in clicks or impressions, with severity tiers (warning, high, critical).
  • Dropped Page Identification: Detects pages present in the previous period but missing from the current export, with validation guidance before marking them as dropped out.
  • Action Recommendations: Maps each declining page to a triage action such as refresh/update content, investigate query shift, consolidate/redirect, or prune.
  • Use Case: Export two quarters of GSC page data as JSON, run the analyzer, and receive a markdown report listing every declining URL with its severity and recommended next step.

Quick Start

Ask the AI to run /blog decay with your current and previous GSC JSON exports to get a report of declining pages and recommended actions.

Frequently Asked Questions about blog-decay

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I detect content decay from Google Search Console data?

Export page-level performance data for two comparable periods from Google Search Console as JSON, then run the content_decay.py script with both files. It flags pages with declines of 20% or more and assigns severity levels and recommended actions.

How to compare two GSC exports for traffic drops?

Run python3 scripts/content_decay.py current.json previous.json with two GSC page exports. You can adjust the decline threshold with --threshold, switch metrics with --metric impressions, and output a markdown report with --format markdown.

What JSON format does the content decay analyzer accept?

The script accepts JSON lists of page rows containing page or url, clicks, and impressions fields. It also accepts the object shape returned by the blog-google command where rows sit under a top-level rows key.

When should I prune versus refresh a declining blog post?

Refresh when the page still has demand and likely needs freshness, title, or internal link updates. Prune when the page had very low prior demand and does not justify rewrite effort, and consolidate or redirect when the loss is severe enough that merging into a stronger URL recovers value faster.

Why is a page marked needs_validation instead of dropped_out?

A page is only marked dropped_out after confirming identical filters, sufficient row limits, matching dimensions, and URL inspection between exports. Without those checks, missing pages are marked needs_validation because export differences can mimic a true drop.