Blog Decay Analyzer
Find declining pages in Google Search Console exports and choose whether to refresh, consolidate, prune, or investigate query shifts.
The skill limits its stated task to reading two GSC exports and recommending content actions, and it requires checks of indexation, canonical status, queries, seasonality, and business value before action; no malware or gross overreach is evident. However, the live workflow involves Google APIs, credentials, and site data without explaining data flow, least privilege, user confirmation, sensitive-data handling, or rollback, so points are deducted.
Input shapes, defaults, thresholds, severity bands, and validation conditions for dropped pages are described clearly, with deterministic-looking offline commands. The supplied evidence does not include content_decay.py or skill-specific tests for key paths; handling of errors, missing files, zero baselines, duplicate URLs, and malformed data is not verifiable. The score therefore stays conservative under the static ceiling.
Trigger phrases, argument shape, intended scenario, and basic input structure are clear, and the offline JSON workflow supports use without API access. Non-fit boundaries and edge-case triggers remain incomplete; live functionality depends on Google services and credentials, which may be difficult to reach from mainland China, so points are deducted.
Frontmatter provides a name, description, argument hint, and MIT license. The body includes workflow instructions, options, the model, severity table, action table, and cross-references; repository context supplies version, CI, dependency, and maintenance signals. The skill itself lacks versioning, changelog, ownership, installation notes, FAQ, troubleshooting, and the referenced script implementation, while relative-path assumptions are not fully explained.
The task, inputs, default threshold, recommended actions, and seasonality checks are concrete and could directly support refresh, consolidation, or pruning triage. Because the core analyzer and representative outputs are not included in the evidence, calculation correctness, output completeness, and practical advantage over manual analysis cannot be confirmed; the static ceiling is applied.
The skill provides auditable commands, thresholds, and decision rules, while repository CI and tests offer general engineering evidence. The supplied tests mainly cover brain adapters and a generic pipeline, not blog-decay calculations, edge cases, or output contracts, and there is no independent or third-party corroboration; only limited credit is justified.
- The core analyzer is not included in the supplied evidence, so the referenced scripts/content_decay.py path, calculations, and output contract cannot be verified.
- The live GSC workflow involves Google credentials and site data; confirm least-privilege OAuth/API scopes, data handling, and mainland-China network reachability before use.
- Do not automatically refresh, consolidate, or prune based only on a click decline; complete the required indexation, canonical, query, seasonality, and business-value checks first.
What does this skill do, and when should you use it?
Blog Decay is a focused content-decay skill from the claude-blog repository. It compares current and previous Google Search Console page exports to identify quarter-over-quarter performance declines. By default, it uses clicks and flags declines of 20% or more, with warning, high, and critical severity bands. It also provides triage recommendations while requiring checks for indexation, canonical status, query loss, seasonality, and other factors before action. It is a good fit for SEO and editorial teams that already export GSC data and need a repeatable decline-review workflow.
Reads two Google Search Console page exports in JSON, accepting page or url fields plus clicks and impressions, including the object format with rows at the top level; runs python3 scripts/content_decay.py current.json previous.json to compare periods using clicks or impressions; flags pages with a default decline threshold of 20%; labels 20%–39.9%, 40%–59.9%, and 60% or greater declines as warning, high, and critical; identifies pages missing from the current export only after filter, dimension, row-limit, and URL checks, otherwise marking them needs_validation; recommends refresh/update content, investigate query shift, consolidate/redirect, or prune; and can write a Markdown report. It can also consume live GSC exports produced through blog-google.
- An SEO specialist has two adjacent-quarter GSC exports and needs to identify posts with at least a 20% click decline.
- An editorial team sees traffic losses and wants to use impressions and CTR changes to decide between refreshing a page and investigating SERP or query changes.
- A site operator needs to distinguish genuinely dropped pages from pages missing because export filters, dimensions, or row limits changed.
- A content team wants to prioritize rewrite effort by separating pages with remaining demand from low-demand pages that may be better pruned.
What are this skill's strengths and limitations?
- Defines a clear JSON input shape and supports both page and url fields.
- Provides configurable thresholds, severity bands, and concrete triage actions.
- Treats missing pages cautiously and requires validation before calling them dropped out.
- Supports both offline analysis and a live GSC export workflow.
- It detects and prioritizes decay but does not itself refresh, merge, redirect, or prune content.
- Live GSC collection requires Google Search Console access and the blog-google workflow.
- The source provides no standalone test results or detailed failure-handling documentation for this skill.
- The `/blog decay` invocation and Claude Code plugin installation require adaptation in other Agent Skills clients.
How do you install this skill?
The skill is installed as part of the complete claude-blog suite from the public AgriciDaniel/claude-blog repository. In Claude Code, run /plugin marketplace add AgriciDaniel/claude-blog, then /plugin install claude-blog@agricidaniel-claude-blog. The source does not document a standalone installation procedure for only blog-decay.
How do you use this skill?
In Claude Code, invoke /blog decay with the current and previous GSC JSON exports, for example /blog decay current.json previous.json. The local analyzer can also be run directly with python3 scripts/content_decay.py current.json previous.json. Use --threshold 0.30 for a 30% threshold, --metric impressions to analyze impressions, or --format markdown --output decay-report.md to create a Markdown report. For live data, first create period exports with /blog google gsc or the underlying blog-google command.
How does this skill compare with similar options?
Compared with manually comparing two GSC exports, Blog Decay adds a repeatable threshold model, severity classification, and action triage. Compared with /blog rewrite, it is the diagnostic step that identifies declining pages before a rewrite is considered.