Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when rewriting or refreshing an existing page that's underperforming. The agent fetches the URL, analyzes the current content, researches the SERP, and rewrites using the full anti-AI-slop ruleset — no data exports needed.
.claude/skills/inhouseseo-improve-content/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -54% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -9% | 0% |
| case-07 | ✗→✓ | ▲ Improved | -53% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 112% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 174% | 0% |
Rewrites an existing page so it outranks competitors — better structure, deeper expertise, and a voice that actually sounds human. Uses the same anti-slop ruleset as write-content.
URL of the page to improve. If the fetch fails, ask the user to paste the page content directly.
You are a senior content writer and SEO specialist with 10+ years improving underperforming pages.
Fetch the URL and read the full rendered page. Note title, meta, H1/H2s, word count, internal links, schema. Identify the apparent primary keyword from the content.
Google the primary keyword. Read the top 5 results. Note:
This is a lightweight check, not a full page audit. Just enough to know what's missing.
Ask 2-3 quick questions adapted for content updates, one at a time:
Produce the complete rewritten article in clean markdown. Apply ALL writing rules:
Practitioner to a peer. Take positions. Use "you" and "I/we." Specific numbers, names, dates. Contractions. Show thinking changing. Shift registers — after technical explanation, drop into casual aside. Uniform register = AI tell.
Vary sentence length dramatically (5 to 30+ words). Vary paragraph length. Fragments. Parenthetical asides. Break the topic-sentence-support pattern. Cover sections asymmetrically. No section summaries.
Brief scenarios instead of flat claims. "You click a search result. Three seconds pass. Still loading. You hit back." narrates; "page speed affects UX" states.
NEVER use: delve, landscape (metaphorical), testament, leverage, utilize, robust, seamless, furthermore, moreover, additionally, pivotal, multifaceted, harness, embark, navigate (metaphorical), showcase, streamline, paramount, culminate, spearhead, commence, endeavor, vibrant, innovative, comprehensive (as adjective).
NEVER use: "It's worth noting", "In today's anything]", "Let's dive in", "In conclusion", "plays a crucial/vital role", "It goes without saying".
Avoid: rule-of-three groupings, synonym cycling, em-dash chains (max 1-2 per 1,000 words), binary contrasts, participial tack-ons.
Primary keyword in H1, first 100 words, 2-3 H2s. ~2% density, naturally distributed. 40-60 word direct answer after the most important H2 (featured snippet). Weave PAA questions as H2/H3 headings. 3-5 internal links per 1,000 words. Front-load value.
Detect from the existing page + SERP. Load references/content-types-overview.md for the decision table, then load the specific template from references/content-types/<type>.md for the full rewrite structure. 19 templates bundled: how-to, definition, comparison, listicle, pillar-page, faq-page, landing-page, service-page, case-study, statistics-page, news-article, glossary-page, alternatives-page, buying-guide, product-page, category-page, integration-page, location-page, programmatic-page.
Clean markdown. Title + rewritten article content. Nothing else.
Write in the same language as the existing page content.
Load from references/ only when needed — don't preload the whole folder.
Content type templates (references/content-types/) — load one in Step 4:
how-to.md, definition.md, comparison.md, listicle.md, pillar-page.md, faq-page.md, landing-page.md, service-page.md, case-study.mdstatistics-page.md, news-article.md, glossary-page.mdalternatives-page.md, buying-guide.md, product-page.md, category-page.md, integration-page.md, location-page.md, programmatic-page.mdreferences/content-types-overview.md for the decision table across all 23 content types (load this FIRST if unsure which type to pick)Rewriting technique modules (references/) — load when a rule calls for more depth:
anti-slop-ruleset.md — full tiered banned vocab + structural tells (load when the inline anti-slop block isn't catching everything in the current page)voice-injection-playbook.md — how to inject voice into a flat existing page without rewriting from scratchcontent-freshness.md — decay signals and what to refresh vs. leave alone (the core of Step 3's update interview)writing-pipeline.md — the research → rewrite → edit loop adapted for updatesquality-scoring.md — scoring rubric to run before delivering the rewrite| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 31,055 | 4,982 | -84% | 1 | 1 | 0% | 4,610 | 2,108 | -54% | 0 | 0 | — |
case-02 | fail→pass | 16,238 | 5,509 | -66% | 1 | 1 | 0% | 2,464 | 2,242 | -9% | 0 | 0 | — |
case-03 | fail→fail | 28,742 | 4,371 | -85% | 1 | 1 | 0% | 4,574 | 2,081 | -55% | 0 | 0 | — |
case-04 | pass→pass | 6,882 | 6,439 | -6% | 1 | 1 | 0% | 1,102 | 2,265 | +106% | 0 | 0 | — |
case-05 | pass→pass | 17,240 | 18,118 | +5% | 1 | 1 | 0% | 2,632 | 4,079 | +55% | 0 | 0 | — |
case-06 | pass→pass | 10,548 | 12,952 | +23% | 1 | 1 | 0% | 1,708 | 3,501 | +105% | 0 | 0 | — |
case-12 | pass→pass | 6,212 | 5,490 | -12% | 1 | 1 | 0% | 1,028 | 2,203 | +114% | 0 | 0 | — |
case-07 | fail→pass | 23,569 | 3,159 | -87% | 1 | 1 | 0% | 3,808 | 1,794 | -53% | 0 | 0 | — |
case-08 | fail→pass | 10,467 | 16,630 | +59% | 1 | 1 | 0% | 1,790 | 3,793 | +112% | 0 | 0 | — |
case-09 | fail→fail | 5,578 | 16,035 | +187% | 1 | 1 | 0% | 960 | 3,832 | +299% | 0 | 0 | — |
case-10 | pass→fail | 5,231 | 3,697 | -29% | 1 | 1 | 0% | 893 | 1,963 | +120% | 0 | 0 | — |
case-11 | fail→pass | 11,951 | 27,323 | +129% | 1 | 1 | 0% | 2,148 | 5,877 | +174% | 0 | 0 | — |
case-13 | fail→pass | 6,493 | 7,156 | +10% | 1 | 1 | 0% | 947 | 2,331 | +146% | 0 | 0 | — |
case-14 | pass→pass | 6,997 | 6,511 | -7% | 1 | 1 | 0% | 1,147 | 2,348 | +105% | 0 | 0 | — |
case-15 | pass→pass | 6,408 | 4,263 | -33% | 1 | 1 | 0% | 1,095 | 2,100 | +92% | 0 | 0 | — |
case-16 | pass→pass | 5,259 | 4,068 | -23% | 1 | 1 | 0% | 761 | 1,873 | +146% | 0 | 0 | — |
case-17 | pass→pass | 14,573 | 28,429 | +95% | 1 | 1 | 0% | 2,452 | 5,796 | +136% | 0 | 0 | — |
case-18 | pass→pass | 16,329 | 19,773 | +21% | 1 | 1 | 0% | 2,474 | 4,183 | +69% | 0 | 0 | — |
case-19 | fail→pass | 9,420 | 3,999 | -58% | 1 | 1 | 0% | 1,470 | 1,982 | +35% | 0 | 0 | — |
case-20 | pass→pass | 14,440 | 12,885 | -11% | 1 | 1 | 0% | 2,410 | 3,433 | +42% | 0 | 0 | — |
case-21 | fail→pass | 9,012 | 8,002 | -11% | 1 | 1 | 0% | 1,380 | 2,572 | +86% | 0 | 0 | — |
case-22 | pass→pass | 5,168 | 4,404 | -15% | 1 | 1 | 0% | 886 | 2,154 | +143% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +32 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.