content-refresher
content-refresher diagnoses why published articles have lost search traffic or rankings, scores their decay drivers across freshness and EEAT dimensions, and produces a prioritized refresh plan with specific updates and republishing dates. Use it when a user reports declining traffic on existing content or wants to recover lost rankings without creating new pages.
git clone --depth 1 https://github.com/aaron-he-zhu/seo-geo-claude-skills /tmp/content-refresher && cp -r /tmp/content-refresher/optimize/content-refresher ~/.claude/skills/content-refresherSKILL.md
# Content Refresher Identifies outdated content, scores decay/freshness, prioritizes refresh work, and produces update plans with GEO and republishing guidance. ## Quick Start ```text Find content on [domain] that needs refreshing Which of my blog posts have lost the most traffic? Refresh this article for [current year]: [URL/content] Update this content to outrank [competitor URL]: [your URL] Create a content refresh strategy for [domain/topic] ``` ## Skill Contract **Expected output**: a scored diagnosis, prioritized repair plan, and a short handoff summary ready for `memory/audits/`. - **Reads**: candidate URLs/content, traffic and ranking history, publish/update dates, and competitor examples. - **Writes**: a user-facing refresh plan (and optional refreshed content) plus a reusable summary that can be stored under `memory/audits/`. - **Promotes**: blocking defects, repeated weaknesses, fix priorities, and pending decisions to `memory/open-loops.md`. - **Done when**: decay drivers are identified with evidence; a refresh plan lists specific updates with a republish-date strategy; a Changes Made block and handoff summary are produced. - **Primary next skill**: use the `Next Best Skill` below when the repair path is clear. ### Handoff Summary > Emit the standard shape from [skill-contract.md §Handoff Summary Format](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/references/skill-contract.md). ## Data Sources Use ~~analytics, ~~search console, and ~~SEO tool when connected; otherwise ask for traffic data, ranking history, publish dates, candidate URLs, and competitor examples. See [CONNECTORS.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/CONNECTORS.md). ## Instructions Label every metric **Measured** (tool/export), **User-provided**, or **Estimated** (model inference); never present an estimate as measured; if a required metric is unavailable, mark it N/A — do not invent it. When a user requests content refresh help: 1. **CORE-EEAT Quick Score** — Estimate all 8 dimensions, prioritize red/yellow areas, and hand off to [content-quality-auditor](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/cross-cutting/content-quality-auditor/SKILL.md) for full scoring when needed. 2. **Identify Refresh Candidates** — Use age, dated claims, declining traffic, lost rankings, broken links, SERP shifts, and missing topics. 3. **Analyze Page-Level Decay** — Compare 6-month-old vs current performance, keyword deltas, SERP intent, competitor updates, and the why-refresh rationale. 4. **Define Updates Needed** — Capture outdated elements, competitor/PAA gaps, SEO updates, GEO updates, links, images, sources, and dates. 5. **Create Refresh Plan** — Specify title, structure, new sections, refreshed statistics, internal/external links, images, and validation requirements. 6. **Write Refresh Content** — Draft updated intro, replacement sections, refreshed facts, FAQ answers, and Changes Made notes. 7. **Optimize for GEO** — Add 40-60 word definitions, quotable statements, Q&A, dated citations, and standalone factual statements. 8. **Set Republishing Strategy** — Use published-date update for 50%+ new content, last-updated date for 20-50%, original date for <20%; update schema, sitemap `lastmod`, cache, Search Console, and 4-6 week monitoring. 9. **Create Refresh Report** — Summarize completed changes, expected outcomes, owners, next review date, and open loops. > **Reference**: [references/refresh-templates.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/optimize/content-refresher/references/refresh-templates.md) has compact templates for steps 2-9. ## Decision Gates **Stop and ask the user when:** - A page is decayed enough that a rewrite may beat a refresh (e.g., outdated premise, intent shift, or >50% of content stale) — state the finding and ask: (1) refresh in place, or (2) rewrite as new content via [seo-content-writer](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/build/seo-content-writer/SKILL.md). **Continue silently (never stop for):** - Missing analytics/ranking history — score decay from on-page signals (dated claims, broken links, stale stats), label findings Estimated, and proceed. - A request to "refresh" content that is actually net-new (no existing URL) — note the mismatch once and route to [seo-content-writer](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/build/seo-content-writer/SKILL.md) rather than fabricating a prior version. - Which republish-date treatment to apply — follow the Step 8 thresholds without asking. ## Example **User**: "Refresh my blog post about 'best cloud hosting providers'" **Output**: CORE-EEAT quick score flags weak Referenceability, Experience, and Trust; recommends pricing refresh, broken-link fixes, author credential additions, affiliate disclosure, and a Changes Made block ready for republish. > **Reference**: See [references/refresh-example.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/optimize/content-refresher/references/refresh-example.md) for the full worked example and checklist. ## Tips for Success Prioritize by ROI/search demand, make substantive improvements instead of date-only edits, add stronger evidence than competitors, track post-publish rankings/traffic, and treat every refresh as a GEO citation opportunity. > **Reference data**: [references/content-decay-signals.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/optimize/content-refresher/references/content-decay-signals.md) covers decay signals, lifecycle stages, refresh-vs-rewrite decisions, and content-type strategy. ### Save Results Ask to save results; if yes, write a dated summary to `memory/audits/content-refresher/YYYY-MM-DD-<topic>.md`. Hand off veto-level risks to the auditor gate before any hot-cache marker. **Gate check recommended**: Run content-quality-auditor on refreshed content before republishing. ## Refere
Use when the user asks to "optimize for AI citations"; improves citation readiness for ChatGPT, Perplexity, AI Overviews, Gemini, and Claude. Not for structural on-page SEO — use on-page-seo-auditor; not for net-new drafting — use seo-content-writer. AI引用优化/GEO优化/AI搜索
Use when the user asks to "optimize meta tags"; improves titles, descriptions, Open Graph, Twitter cards, and CTR test variants. Not for JSON-LD structured data — use schema-markup-generator; not for body copy — use seo-content-writer. 标题优化/元描述/CTR
Use when the user asks to "generate schema"; creates JSON-LD for FAQ, HowTo, Article, Product, and LocalBusiness rich-result candidates. Not for title/meta-description tags — use meta-tags-optimizer; not for crawl/index technical issues — use technical-seo-checker. Schema标记/结构化数据
Use when the user asks to "write SEO content"; drafts new posts, articles, and landing pages with keywords, headers, snippets, and evidence boundaries. Not for AI-citation/GEO readiness scoring — use geo-content-optimizer; not for updating decaying existing content — use content-refresher. SEO文章写作/内容优化
Evaluate and harden what exists: on-page SEO, content quality (CORE-EEAT), technical SEO, AI-visibility/GEO readiness, and domain authority (CITE). Not sure? Use /aaron:auto.
Run the SEO/GEO pack-local Aaron workflow implied by a natural-language goal, at the smallest safe depth. Add --deep for exhaustive, maximum-rigor, or stress-test runs.
Produce SEO/GEO content end-to-end: brief, draft one asset or a series, refresh stale content, and prepare a CMS-neutral publish package. Not sure? Use /aaron:auto.
Understand the opportunity: keyword demand, SERP intent, competitors, content gaps, and site/topic/entity maps. Not sure? Use /aaron:auto.