Agent skill

Content Decay Detector

by Affitor in Affitor/affiliate-skills

Monitor existing content for ranking drops and trigger refresh workflows.

MITAuto-check passedMarketing & SEO

Install Content Decay Detector

skills CLI
$ npx skills add Affitor/affiliate-skills --skill content-decay-detector -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Affitor/affiliate-skills content-decay-detector --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Affitor/affiliate-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/blog/content-decay-detector .claude/skills/content-decay-detector && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
content-decay-detector
GitHub stars
699
Token cost
~2k tokens
SKILL.md length
661 words
Files
1
Skills in repo
50
Repo updated
First seen
Licence
MIT

At a glance

Monitor existing content for ranking drops and trigger refresh workflows.

  • Works in 5 steps: Gather Content Data → Check for Decay Signals → Score Decay Priority → …
  • Refresh workflows
  • SKILL.md covers Stage, When to Use, Input Schema and Workflow, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Content Decay Detector is an agent skill from Affitor/affiliate-skills. Monitor existing content for ranking drops and trigger refresh workflows. Triggers on: "check for content decay", "which content needs updating", "content refresh", "ranking drops", "traffic decline", "stale content", "content audit", "what to refresh", "outdated content", "content performance check", "update old articles", "declining rankings", "content maintenance", "refresh priority list", "which articles are losing traffic", "SEO content audit".

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent

It sits in Marketing & SEO, covering Content marketing and On-page SEO. The repository describes itself as: 50 AI agent skills for affiliate marketing. Research trending content, write data-backed posts, generate infographics, build landing pages, deploy — full flywheel with social… The licence is MIT.

When your agent uses it

  • Refresh workflows
  • : check for content decay
  • Which content needs updating
  • Content refresh

Example prompts

  • “check for content decay”
  • “which content needs updating”
  • “content refresh”
  • “/content-decay-detector”

Requirements

  • Compatibility (from SKILL.md): Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Gather Content Data
  2. Check for Decay Signals
  3. Score Decay Priority
  4. Generate Refresh Instructions
  5. Self-Validation

What it can do on your machine

Read from SKILL.md and the folder at commit e43bfae. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent

    From compatibility in the SKILL.md frontmatter.

Context cost

Content Decay Detector loads about 2k tokens when it runs. Until then it costs about 119 tokens; SKILL.md has 661 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~119
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Affitor/affiliate-skills at commit e43bfae, republished under its MIT licence (© Affitor). 661 words, ~2,039 tokens.

Download SKILL.mdSave it as .claude/skills/content-decay-detector/SKILL.md (or your agent's skills folder).
name
content-decay-detector
description
Monitor existing content for ranking drops and trigger refresh workflows. Triggers on: "check for content decay", "which content needs updating", "content refresh", "ranking drops", "traffic decline", "stale content", "content audit", "what to refresh", "outdated content", "content performance check", "update old articles", "declining rankings", "content maintenance", "refresh priority list", "which articles are losing traffic", "SEO content audit".
compatibility
Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent
license
MIT
version
1.0.0
tags
affiliate-marketing, blogging, seo, content-writing, content-audit, decay
metadata.author
affitor
metadata.version
1.0
metadata.stage
S3-Blog

Content Decay Detector

Monitor existing content for ranking drops and generate a prioritized refresh queue. Refreshing decaying content is the highest-ROI SEO activity — it's faster and cheaper than creating new content, and recovering a lost position is easier than earning a new one.

Stage

S3: Blog & SEO — Blog maintenance and optimization. This skill keeps your existing content competitive and prevents rankings from silently eroding.

When to Use

  • User has existing blog content and wants to check for decay
  • User notices traffic declining on specific pages
  • User asks "what content needs updating?"
  • User says "content decay", "ranking drops", "stale content", "refresh", "content audit"
  • Monthly maintenance check — should run every 30 days on active blogs
  • After seo-audit reveals declining pages

Input Schema

yaml
site_url: string              # REQUIRED — the site to audit
                              # e.g., "myblog.com", "example.com/blog"

content_list: object[]        # OPTIONAL — specific pages to check
  - url: string               # Page URL
    title: string             # Page title
    publish_date: string      # Original publish date
    last_updated: string      # Last update date
    target_keyword: string    # Primary keyword

check_competitors: boolean    # OPTIONAL — whether to check if competitors published fresher content
                              # Default: true

timeframe: string             # OPTIONAL — "30d" | "90d" | "6m" | "1y"
                              # Default: "90d"

Chaining from S6 seo-audit: Use declining_pages as the content_list.

Workflow

Step 1: Gather Content Data

If content_list not provided:

  1. web_search: site:[site_url] — discover indexed pages
  2. Identify the top 15-20 most important pages (by topic relevance)
  3. For each page, note: title, URL, apparent publish/update date
Step 2: Check for Decay Signals

Read shared/references/seo-strategy.md for decay signals and refresh methodology.

For each page:

  1. web_search for the page's target keyword — check current ranking position
  2. Look for decay signals:
    • Outdated information: Product features, pricing, dates mentioned
    • Competitor freshness: Newer, better content published by competitors
    • Missing elements: No images, no data, thin content compared to current SERP
    • Broken patterns: "2023" in a title when it's 2025+, discontinued products mentioned
Step 3: Score Decay Priority

For each decaying page, assign priority:

FactorScoreCriteria
Revenue impact1-5Contains affiliate links + had traffic = high revenue impact
Decay severity1-5Major outdated info = 5, minor = 1
Fix effort1-5 (inverted)Easy fix = 5, full rewrite = 1
Competitor threat1-5Competitor published better version = 5

Priority = Revenue × Decay × Fix_Ease × Competitor_Threat (normalized)

Step 4: Generate Refresh Instructions

For each page in priority order, specify:

  1. What's decayed — specific outdated elements
  2. What to update — concrete changes to make
  3. What to add — new sections, data, or elements competitors have
  4. Internal linking — new pages to link to/from since original publish
  5. Estimated effort — time to refresh
Step 5: Self-Validation
  • Decay signals are evidence-based (not guesses)
  • Priority ordering makes business sense (revenue-impacting first)
  • Refresh instructions are specific and actionable
  • Effort estimates are realistic
  • Not recommending refreshes for content that's performing fine

Output Schema

yaml
output_schema_version: "1.0.0"
content_decay:
  site: string
  pages_analyzed: number
  pages_decaying: number
  total_refresh_effort: string  # Estimated total hours

  decaying_pages:
    - url: string
      title: string
      priority: string          # "P0-critical" | "P1-high" | "P2-medium" | "P3-low"
      decay_signals: string[]
      refresh_actions: string[]
      estimated_effort: string
      revenue_impact: string    # "high" | "medium" | "low"

  healthy_pages: string[]       # Pages that don't need refresh

chain_metadata:
  skill_slug: "content-decay-detector"
  stage: "blog"
  timestamp: string
  suggested_next:
    - "affiliate-blog-builder"
    - "seo-audit"
    - "internal-linking-optimizer"
    - "keyword-cluster-architect"

Output Format

## Content Decay Report: [Site]

### Summary
- **Pages analyzed:** XX
- **Pages decaying:** XX
- **Total refresh effort:** XX hours
- **Estimated traffic recovery:** XX%

### Priority Refresh Queue

#### P0 — Critical (do this week)

**[Page Title]** — [URL]
- Decay: [what's wrong]
- Action: [what to do]
- Effort: [time estimate]
- Impact: [expected result]

#### P1 — High (do this month)
[same structure]

#### P2 — Medium (schedule)
[same structure]

### Healthy Pages (no action needed)
- [Page] — still ranking, content fresh
- [Page] — recently updated

### Monthly Maintenance Schedule
- Week 1: Refresh P0 pages
- Week 2: Refresh P1 pages
- Week 3: Create new content for gaps found
- Week 4: Internal linking review
Show full SKILL.md (273 more words)Show less

Error Handling

  • No site URL: "I need your blog URL to check for content decay. What's the site?"
  • Site has no indexed pages: "I can't find indexed pages for this URL. Check that the site is public and indexed by search engines."
  • All content is fresh: "Great news — no significant decay detected. Run this check again in 30 days."
  • Can't determine ranking positions: Use available signals (content age, competitor freshness, outdated info) for prioritization.

Examples

Example 1: "Check my blog for content decay" → Discover indexed pages, check each for decay signals, generate prioritized refresh queue with specific actions per page.

Example 2: "Which of my articles need updating?" → Analyze content list, identify outdated pricing, stale comparisons, missing new products. Rank by revenue impact.

Example 3: "Content decay check" (after seo-audit) → Pick up declining pages from seo-audit output. Deep-dive each with competitor analysis and specific refresh instructions.

Flywheel Connections

Feeds Into
  • affiliate-blog-builder (S3) — refresh instructions for specific articles
  • internal-linking-optimizer (S6) — decaying pages may need better internal links
  • keyword-cluster-architect (S3) — content gaps revealed by decay analysis
Fed By
  • seo-audit (S6) — declining pages to investigate
  • internal-linking-optimizer (S6) — pages with weak link structure may be decaying
  • performance-report (S6) — traffic decline data
Feedback Loop
  • After refreshing, seo-audit (S6) tracks whether rankings recovered → measure refresh ROI, refine decay detection sensitivity

Quality Gate

Before delivering output, verify:

  1. Would I share this on MY personal social?
  2. Contains specific, surprising detail? (not generic)
  3. Respects reader's intelligence?
  4. Remarkable enough to share? (Purple Cow test)
  5. Irresistible offer framing? (refresh actions feel actionable)

Any NO → rewrite before delivering.

References

  • shared/references/seo-strategy.md — Decay signals, refresh methodology, priority matrix
  • shared/references/flywheel-connections.md — Master connection map

© Affitor, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/blog/content-decay-detector of Affitor/affiliate-skills.

Open the folder on GitHubat commit e43bfae

Compare with similar skills

Content Decay Detector next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Content Decay Detector compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Content Decay Detector this skillAffitor/affiliate-skills699—~2kAutomated safety check: PassMIT
AI Citability Scorerzubair-trabzada/geo-seo-claude11k2 repos~3.7kAutomated safety check: NotesMIT
SEO Content Auditseranking/seo-skills160—~3kAutomated safety check: PassMIT
SEO ContentAgriciDaniel/codex-seo7915 repos~2.3kAutomated safety check: PassMIT
SEO Content Auditrampstackco/claude-skills940—~2.1kAutomated safety check: PassMIT
SEO Content Gap Auditrampstackco/claude-skills940—~2.3kAutomated safety check: PassMIT

Similar skills

  • AI Citability Scorer

    zubair-trabzada/geo-seo-claude

    Scores how likely AI assistants are to quote passages from a web page and suggests rewrites that make those passages easier to extract.

    11k GitHub starsUsed in 2 repos~3.7k tokens
    Marketing & SEOAuto-check: notes
  • SEO Content Audit

    seranking/seo-skills

    E-E-A-T + CITE quality audit for an EXISTING piece of content.

    160 GitHub stars~3k tokensUpdated 3 mo ago
    Marketing & SEOAuto-check passed
  • SEO Content

    AgriciDaniel/codex-seo

    Content quality and E-E-A-T analysis with AI citation readiness assessment.

    791 GitHub starsUsed in 5 repos~2.3k tokens
    Marketing & SEOAuto-check passed
  • SEO Content Audit

    rampstackco/claude-skills

    Audit existing content across a site to decide what to keep, update, merge, redirect, or delete.

    940 GitHub stars~2.1k tokensUpdated yesterday
    Marketing & SEOAuto-check passed
  • SEO Content Gap Audit

    rampstackco/claude-skills

    Audit content gaps and decay using Ahrefs MCP data: missing topics, thin coverage, outdated content, and decaying pages.

    940 GitHub stars~2.3k tokensUpdated yesterday
    Marketing & SEOAuto-check passed
  • Editorial QA

    rampstackco/claude-skills

    Pre-publish QA framework for content. An agent skill from rampstackco/claude-skills.

    940 GitHub stars~5.6k tokensUpdated yesterday
    Marketing & SEOAuto-check passed

More from Affitor/affiliate-skills

All 50 skills in this repo
  • Performance Report

    Affitor/affiliate-skills

    Generate affiliate performance reports with KPIs and recommendations.

    699 GitHub starsUsed in 1 repo~2.5k tokens
    Auto-check passed
  • Affiliate Check

    Affitor/affiliate-skills

    Live affiliate program data from openaffiliate.dev. An agent skill from Affitor/affiliate-skills.

    699 GitHub stars~808 tokensUpdated 23 days ago
    Auto-check: notes
  • Affiliate Program Search

    Affitor/affiliate-skills

    Research and evaluate affiliate programs to find the best ones to promote.

    699 GitHub stars~2.4k tokensUpdated 23 days ago
    Auto-check passed
  • Bio Link Deployer

    Affitor/affiliate-skills

    Create a Linktree-style bio link hub page as a single self-contained HTML file.

    699 GitHub stars~3k tokensUpdated 23 days ago
    Auto-check passed
  • Conversion Tracker

    Affitor/affiliate-skills

    Set up affiliate conversion tracking with UTM parameters and link tagging.

    699 GitHub stars~2.1k tokensUpdated 23 days ago
    Auto-check passed
  • Product Showcase Page

    Affitor/affiliate-skills

    Build a single-product deep-dive showcase page as a self-contained HTML file.

    699 GitHub stars~3.6k tokensUpdated 23 days ago
    Auto-check passed

Categories

Questions about Content Decay Detector

What does Content Decay Detector do?

Monitor existing content for ranking drops and trigger refresh workflows. Content Decay Detector is an agent skill from Affitor/affiliate-skills. Monitor existing content for ranking drops and trigger refresh workflows.

When should I use Content Decay Detector?

Content Decay Detector fits situations like: refresh workflows; : check for content decay; which content needs updating; content refresh.

How do I install Content Decay Detector in Claude Code?

Run `npx skills add Affitor/affiliate-skills --skill content-decay-detector -a claude-code`. Or copy the skill folder (skills/blog/content-decay-detector in Affitor/affiliate-skills) into .claude/skills/content-decay-detector in your project. Claude Code loads it when a task matches its description.

How do I install Content Decay Detector in Codex?

Run `npx skills add Affitor/affiliate-skills --skill content-decay-detector -a codex`. Or copy the skill folder (skills/blog/content-decay-detector in Affitor/affiliate-skills) into .agents/skills/content-decay-detector in your project. Codex loads it when a task matches its description.

Can I use Content Decay Detector in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Affitor/affiliate-skills --skill content-decay-detector -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/content-decay-detector, .gemini/skills/content-decay-detector, .github/skills/content-decay-detector and .opencode/skills/content-decay-detector in your project.

What does Content Decay Detector need to run?

SKILL.md names no scripts, command-line tools or credentials: Content Decay Detector is instructions for the agent only. Compatibility (from SKILL.md): Claude Code, ChatGPT, Gemini CLI, Cursor, Windsurf, OpenClaw, any AI agent.

Does Content Decay Detector access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Content Decay Detector safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Content Decay Detector use?

Content Decay Detector is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Content Decay Detector use?

About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Content Decay Detector?

Skills that share tags, products or a category with Content Decay Detector: AI Citability Scorer (zubair-trabzada/geo-seo-claude, 11k stars), SEO Content Audit (seranking/seo-skills, 160 stars), SEO Content (AgriciDaniel/codex-seo, 791 stars) and SEO Content Audit (rampstackco/claude-skills, 940 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Content Decay Detector?

Affitor (a GitHub organization) maintains it in Affitor/affiliate-skills, which has 699 GitHub stars. The repository holds 50 skills in this directory. The repository was last updated on September 15, 2026.

Source: Affitor/affiliate-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.