write-seo
Skill0 starsChanged 2 months agoMITView on GitHub
Write long-form SEO content (2,000–3,000+ words) built on the author's real material — entity-salient, sub-query-mapped headings, extractable passages — self-checked with /score.
In this repository15 other files it gives its agents.
- alignment-auditSkill
- auditSkill
- citable-passageSkill
- content-briefSkill
- entity-coverageSkill
- humanizerSkill
- internal-linksSkill
- meta-tagsSkill
- navboost-auditSkill
- optimizeSkill
- researchSkill
- schema-genSkill
- scoreSkill
- seo-fundamentalsSkill
- topic-clustersSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 28
If no /research or /content-brief output exists:
- Distinctive: line 31
Must-cover entities (what all top results include) and 3–5 information-gain angles — verified against the SERP, filled only with real …
- Very specific: line 48
Run the humanizer skill as a pass (${CLAUDE_PLUGIN_ROOT}/skills/humanizer/SKILL.md) — it removes AI patterns and checks that the human …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/write-seo — Write SEO-optimized content
Target: $ARGUMENTS
Rules and numbers: ${CLAUDE_PLUGIN_ROOT}/skills/seo-fundamentals/SKILL.md and ${CLAUDE_PLUGIN_ROOT}/skills/seo-fundamentals/references/scoring-spec.md. Writing references: ${CLAUDE_SKILL_DIR}/references/engagement-techniques.md (hooks, APP intro, story structure) and ${CLAUDE_SKILL_DIR}/references/cta-playbook.md.
0. Collect real material first
The article's credibility comes from what only the author has. Before writing, ask once (AskUserQuestion, skip if a brief already supplies it):
- Own data or observations on this topic (numbers from their work, audits, experiments).
- 1–3 real anecdotes or cases (who, when, what happened — with permission to name, or anonymized by the user).
- Tools, versions, dates they actually used.
- Their stance: what they believe, where they are unsure.
- Existing pages to link to; author name and profile URLs for
sameAs.
Whatever the user does not supply is not invented. Write [NEEDS REAL DATA: e.g., one client example with a metric] at the spot and list all gaps at the end. Statistics from research must come from sources you fetched, cited inline with the primary-source URL.
1. Pre-writing
If no /research or /content-brief output exists:
- WebSearch the keyword; identify the primary entity (Knowledge Graph entity, not just the keyword), intent, top-10 content types and lengths.
- Fan-out: list 8–12 sub-queries Google's AI Mode would decompose the query into (definition, how-to, comparison, troubleshooting, best practice, alternatives, cost, when). Each becomes an H2 or H3.
- Must-cover entities (what all top results include) and 3–5 information-gain angles — verified against the SERP, filled only with real material.
Architecture: H1 with the primary entity, benefit-driven, <70 chars; 4–7 H2s mapped to sub-queries; H3s for finer sub-queries; target length = SERP median + 20–30% (never padded).
2. Writing
Introduction (100–150 words): hook using one of the five formulas in engagement-techniques.md; then Agree → Promise → Preview. The primary entity appears in the first 50 words as the subject of a sentence.
Each H2/H3: open with a self-contained answer to the heading's implicit question (1–3 sentences, ≤60 words, contains a fact — number, named entity, or date). Then evidence, examples, detail. Definition-style opening ("X is Y that does Z") on concept sections. Short paragraphs (2–4 sentences), mixed sentence length, active voice, inline citations to primary sources.
Engagement elements: 2–3 mini-stories (50–150 words) built from the user's real anecdotes (structure in the reference); first-person stake and at least one honest acknowledgment of trade-offs or uncertainty — in the author's voice, from their input; 2–3 contextual CTAs (soft within 500 words, medium after proof, strong in the conclusion, each specific about what the reader gets); [IMAGE: description] notes where visuals belong.
Conclusion (75–100 words): three takeaways, primary entity reinforced, strong CTA with risk reversal, link to related content.
3. Self-check before delivery
- Save the draft; run
python3 ${CLAUDE_PLUGIN_ROOT}/scripts/text_metrics.py <draft> --keyword "<kw>". Fix anything outside the targets in${CLAUDE_PLUGIN_ROOT}/skills/seo-fundamentals/references/scoring-spec.md§3 (density >3%, headings sparser than 400 words, Flesch under target, passages <4/1,000 words). - Run the
humanizerskill as a pass (${CLAUDE_PLUGIN_ROOT}/skills/humanizer/SKILL.md) — it removes AI patterns and checks that the human markers present are real ones. - Score with
/score(A–G). Deliver only at ≥70/100 and AI Overviews readiness ≥ PARTIAL, or state exactly which criteria the missing real material blocks.
4. Deliver
- The article in markdown.
- Meta title, meta description, slug — 3 options each (final polish via
/meta-tags). - Internal link suggestions (anchor + target), external primary sources used.
- Schema recommendation: Article + Person (author,
sameAs) + BreadcrumbList; FAQ only if Q/A are literally in the body (/schema-gen). - A–G scorecard with dual verdict.
[NEEDS REAL DATA]gap list for the author.
Offer: /optimize for a deeper pass, /citable-passage for AI-search extractability, /internal-links to wire it into the site.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

