Install Blog Refresher
Pick your agent. Every command is ready to paste.
npx skills add Illyism/seo-skills --skill blog-refresherThe open skills CLI detects your agents (Claude Code, Cursor, Codex and 70+ more) and installs to the right folder. Add -g to install globally.
01
Install it
Run the command above, or upload the folder in Claude.
02
Ask naturally
Describe the task. Your agent loads blog-refresher when the request matches its description.
03
Name it if needed
If it does not trigger, say “use the blog-refresher skill”. In Codex, type $blog-refresher.
Blog Refresher
You update existing blog posts so they outrank the pages above them. Analyze the post, compare it with the top-ranking competitors, find the gaps, and write an improved version that keeps the original voice.
Use real research tools: web search or a SERP API for rankings, and a page fetcher for competitor content. Do not rely on memory for what ranks or what competitors say. Use today's date for anything time-sensitive.
Keep messages short and actionable until the final refreshed content.
The 6-phase framework
- Current state analysis: assess the existing post
- Competitor research: analyze the top 5–10 SERP results
- Gap identification: what competitors have that the post lacks
- Improvement plan: a structured upgrade strategy
- Approval checkpoint: present findings and wait for approval
- Content recreation: write the refreshed version
Phase 1: Current state analysis
Content audit checklist
BASIC METRICS
□ Word count
□ Last updated
□ Current ranking for the main keyword (if Search Console or rank data exists)
□ Page traffic per month (if analytics exists)
STRUCTURE
□ Number of H2s and H3s
□ Lists, tables, images, media
□ Internal and external links
QUALITY
□ Readability (grade level)
□ Content depth: shallow / medium / deep
□ Unique insights
□ CTAs present
Initial assessment
EXISTING POST ANALYSIS
Title:
URL:
Primary keyword:
STRENGTHS: what works, unique angles, strong sections to keep
WEAKNESSES: outdated information, missing topics, weak sections, poor flow
QUICK WINS: easy updates, stats to refresh, broken links to fix
Phase 2: Competitor research
Step 1: Read the SERP
Extract the top 10 titles, the featured snippet, People Also Ask questions, related searches, and the dominant content format.
Step 2: Pick 5 competitors
Prioritize direct competitors, pages ranking #1–3, recently updated content, and pages with visible engagement.
Step 3: Audit each competitor page
URL / Ranking position
Word count
H2 sections and H3 breakdown
Unique elements: features, data, examples, visuals, interactive tools
Last modified date
Phase 3: Gap analysis
Build a table that compares the post with each competitor:
| Element | Your post | Comp 1 | Comp 2 | Comp 3 | Comp 4 | Comp 5 | Priority |
|---|---|---|---|---|---|---|---|
| Word count | |||||||
| Featured snippet format | |||||||
| [Topic 1] | |||||||
| [Topic 2] | |||||||
| Statistics / data | |||||||
| Examples / cases | |||||||
| Visuals | |||||||
| FAQ section | |||||||
| Schema markup |
Then list missing topics by priority:
- High: covered by 4+ competitors
- Medium: covered by 2–3 competitors
- Low: covered by 1 competitor
- Emerging: angles nobody covers yet
Finish with each competitor's unique angle and the post's opportunity to differentiate.
Phase 4: Refresh strategy
IMMEDIATE
□ Update outdated statistics to the latest available data
□ Fix broken links
□ Add missing high-priority topics
□ Format the answer for the featured snippet
□ Refresh examples and screenshots
STRUCTURE
□ Reorder H2s for better flow
□ Add an FAQ from People Also Ask
□ Add comparison tables
□ Improve the intro hook
OPTIMIZATION
□ Target word count
□ Internal links to add
□ Authoritative external sources to cite
□ Image alt text
□ Schema markup
Proposed outline
- 3 new title options (current year or new angle, snippet-focused, differentiated)
- The new H2 structure, each marked Keep / Modified / New with what changes
- Target word count and new elements (table, FAQ, diagram)
Phase 5: Approval
Present the plan before writing:
## Content refresh plan: [Post title]
### Summary
The post ranks #[X] and has fallen behind on [areas]. This refresh adds [N] sections and updates [N] outdated elements.
### Key findings
1. Content depth: competitors average [X] words vs [Y]
2. Missing topics: [top 3 gaps]
3. Outdated elements: [main issues]
4. Opportunity: [unique angle]
### Gap table
### New outline
Shall I write the refreshed version? Any sections to prioritize?
Do not promise specific ranking or traffic gains.
Phase 6: Writing the refresh
Keep what works
- Sections that already rank well
- The original voice and tone
- The URL (or plan a 301 redirect)
- Existing anchors that other pages link to
Improve
- Add a visible "Last updated: [date]"
- Cite the year next to every statistic
- Go deeper than competitors on the topics that matter
- Add original data, examples, or diagrams competitors lack
Make it scannable
- Paragraphs of 2–3 sentences
- More H3s
- Lists and tables where they help
- Jump links for long posts
SEO checklist
□ Title tag 50–60 characters
□ Meta description 150–160 characters
□ Primary keyword in the first 100 words
□ Related terms used naturally
□ Snippet-ready answer near the top
□ FAQ answers People Also Ask
□ Internal links to and from related posts
Output format
# [New title]
_Last updated: [date]_
[New intro]
[Jump links]
[Refreshed sections]
## Frequently asked questions
## Conclusion
---
### Refresh summary for the publisher
- Meta description: [new]
- Schema: [types to add]
- Internal links: [pages to link]
- Images needed: [list]
- URL: [keep / redirect plan]
- Word count: [old] → [new]
- Sections added: [list]
Quality check
- Every gap from Phase 3 is addressed or consciously skipped
- All data and examples are current and sourced
- The original voice is intact
- No keyword stuffing
- The post gives more practical value than each competitor analyzed
Tips for Blog Refresher
- • Start a fresh session after installing so your agent picks up the new skill.
- • It is part of a pack with 12 skills. Install only the ones you need with --skill to keep triggers precise.
- • If two skills overlap, mention the one you want by name.
Questions about Blog Refresher
What does the Blog Refresher skill do?
Refresh and improve existing blog posts to outrank competitors using a 6-phase content audit and SERP gap analysis. Use when the user wants to update, refresh, or improve an existing blog post, recover lost rankings, or asks why a post fell behind competitors.
How do I install Blog Refresher?
Run "npx skills add Illyism/seo-skills --skill blog-refresher" in your project. The skills CLI installs it for Claude Code, Cursor, Codex and 70+ other agents. In Claude on the web, upload the skill folder as a ZIP under Customize > Skills.
Does Blog Refresher work in Cursor and Codex?
Yes. Blog Refresher uses the open SKILL.md format, so it works in Claude Code, Claude, Cursor, OpenAI Codex, Gemini CLI, GitHub Copilot and other agents that support agent skills.
Is Blog Refresher free?
Blog Refresher is open source on GitHub. It is free to install; check the license before commercial use.
Who made Blog Refresher?
Blog Refresher is published by Illyism in the Illyism/seo-skills repository, together with 11 other skills.
