Skip to content
Marketing
Skill

/content-decay-scan

Scan content library for decay signals: declining traffic, falling rankings, outdated stats, dropped AI citations. Prioritizes refresh opportunities by business impact. Use when identifying content that needs refreshing, recovering lost traffic, or auditing for stale and

From plugin
digital-marketing-pro
727158 skills24 agents18 commands
Install
$ npx -y skills add indranilbanerjee/digital-marketing-pro --skill content-decay-scan --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/content-decay-scan

Context preview

The summary Claude sees to decide when to auto-load this skill.

Scan content library for decay signals: declining traffic, falling rankings, outdated stats, dropped AI citations. Prioritizes refresh opportunities by business impact. Use when identifying content that needs refreshing, recovering lost traffic, or auditing for stale and

SKILL.md

content-decay-scan.SKILL.md
name: content-decay-scan
description: "Scan content library for decay signals: declining traffic, falling rankings, outdated stats, dropped AI citations. Prioritizes refresh opportunities by business impact. Use when identifying content that needs refreshing, recovering lost traffic, or auditing for stale and underperforming content."
user-invocable: true
triggers:
  - scan for content decay
  - find declining content
  - content refresh audit
  - which content needs updating
  - content losing traffic
  - find stale content
  - content decay analysis
  - prioritize content refreshes

/digital-marketing-pro:content-decay-scan

Purpose

Scan the entire content library for decay signals and prioritize refreshes by business impact. Content decay is invisible revenue loss — pages that once ranked well and drove conversions silently lose traffic as competitors publish fresher content, search algorithms evolve, statistics become outdated, and AI systems stop citing stale sources. This command detects declining organic traffic, falling keyword positions, outdated content (stale dates, broken links, deprecated information), lost AI citations, and conversion rate drops. It then ranks every piece of content by business impact — traffic multiplied by conversion rate multiplied by revenue per conversion — so you refresh the content that recovers the most revenue first, not just the content that lost the most traffic.

Input Required

The user must provide (or will be prompted for):

  • **Content library data**: URLs of the content to scan — can be a full sitemap, a specific content directory (e.g., /blog/*, /resources/*), or a curated list of high-value pages. For each URL, the system will pull or needs: current monthly traffic, traffic 3 and 6 months ago for trend analysis, primary keyword rankings (current and historical positions), publish date and last updated date, conversion rate if tracked (form fills, signups, purchases), and revenue attribution if available
  • **Analytics source**: Where to pull performance data — Google Analytics and Google Search Console via connected MCPs, or exported CSV data. If MCPs are connected, data is pulled automatically. If not, the user provides exported analytics covering at least the past 6 months
  • **Priority metrics**: Which decay signals matter most for this scan — traffic decline (default highest weight), ranking drops, content freshness (time since last update), AI citation loss, broken links, or conversion rate decline. The user can adjust weights or accept defaults. Revenue impact is always calculated regardless of signal weights
  • **Decay thresholds (optional)**: Brand-specific thresholds for what constitutes "decay" — e.g., "flag anything with 20%+ traffic decline over 3 months" or "flag content not updated in 12+ months." If not provided, standard thresholds are applied: 15% traffic decline over 3 months, 10+ position drop on primary keyword, 18+ months since last update, or 20%+ conversion rate decline
  • **Exclusions (optional)**: Content to exclude from the scan — seasonal pages, archived content, redirect targets, or pages scheduled for removal. Prevents false positives and focuses the scan on content the brand intends to maintain

Process

1. **Load brand context**: Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json`. Apply content strategy priorities, target keyword clusters, historical content performance baselines, and industry context for freshness expectations (fast-moving industries like tech need more frequent updates than evergreen niches). Also check for guidelines at `~/.claude-marketing/brands/{slug}/guidelines/_manifest.json`. Check for agency SOPs at `~/.claude-marketing/sops/`. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with industry defaults. 2. **Gather content performance data**: Connect to analytics MCPs (Google Analytics, Google Search Console) and pull performance data for the content library — monthly traffic for the past 6 months per URL, keyword position data for primary and secondary keywords, click-through rates from search results, and conversion data if available. For content not covered by MCPs, use any exported data the user provided. Build a performance timeline for each content piece showing the trajectory over the past 6 months. 3. **Score each content piece for decay**: Run the decay scorer with the performance data:

   python "${CLAUDE_PLUGIN_ROOT}/scripts/creative-fatigue-predictor.py" \
       --action decay-scan \
       --data '[{"content_id":"blog_01","url":"/blog/post-a","monthly_traffic_current":1200,"monthly_traffic_previous":1600,"monthly_traffic_6mo_ago":2100,"keyword_positions_current":{"seo tips":12},"keyword_positions_previous":{"seo tips":7},"last_updated":"2024-11-01"}, ...]'

(`creative-fatigue-predictor.py` actions: `score-health`, `predict-fatigue`, `generate-refresh-brief`, `decay-scan`, `priority-refresh`, `batch-health`. `--data` is a JSON object or array; there is no `--brand` flag on this script.) The decay scoring model evaluates multiple signals per content piece — traffic trend (3-month and 6-month decline rates, weighted by the user's priority metrics), keyword position changes (drops on primary keyword, movement direction and velocity), content freshness (months since last substantive update, presence of dated statistics or references), broken links (internal and external link health), and conversion rate trend (declining conversion even with stable traffic indicates content quality decay). Each piece receives a decay score from 0-100 where 0 is healthy and 100 is severely decayed. 4. **Calculate business impact score**: For each content piece, compute the revenue impact of its decay — current monthly traffic multiplied by conversion rate multiplied by estimated revenue per conversion. Then calculate the recoverab

Read more
Ships withdigital-marketing-pro

Your agency just signed a 50-brand client. The previous agency left no playbook. Three brands are bleeding budget, two have stale positioning, one is launching in a regulated jurisdiction next month. Where do you start?

Get the whole plugin