seo-optimizer
Skill1 starsChanged 29 days agoMITView on GitHub
Routes search-visibility work to the right SEO subskill, runs full SEO audits, and runs the competitive-landscape research protocol (multi-agent cluster discovery, fact-check and browser-verification loops, SERP/traffic/backlink/AI-citation dimensions, saturation stop rule, CSV matrices, HTML dashboard). Use for a full or pre-launch SEO audit of a site, page or route; to "map the competition", build or refresh a competitor database, or run a landscape analysis; or when no seo- subskill clearly fits; a question led by one area (engine policies, evidence, technical, content, authority, AI search, strategy), even one that touches a second, loads those subskills directly instead. Triggers: "audit/review our SEO", "pre-launch SEO", "SEO health check", "why isn't this ranking". Answers partial questions and names adjacent gaps. Holds the full evidence grammar; each seo- subskill carries its short form. Not for paid-ads tracking (beyond a competitor study), legal review, or brand work with no search component.
19 other projects use a version of this.
Adopted by
Most recently taken up by
- awaik/direct-mcp-ai-projecttheir own version, first seen Nov 1, 2026
- TheArchitectit/awesome-cline-skillstheir own version, first seen Oct 13, 2026
- SkillMedev/seo-organic-growththeir own version, first seen Oct 5, 2026
- OneWave-AI/onewave-toolkittheir own version, first seen Oct 2, 2026
- OneWave-AI/claude-skillstheir own version, first seen Sep 21, 2026
- peakdong68/my-skillstheir own version, first seen Aug 29, 2026
Other versions19 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 19
- claude-office-skills/skills★ 433same name
- OneWave-AI/claude-skills★ 378same name
- hamzafarooq/claude-code-starter★ 145same name
- chongdashu/cc-skills★ 29same name
- awaik/direct-mcp-ai-project★ 17same name
- ckorhonen/claude-skills★ 17same name
- jackson-video-resources/skills★ 17same name
- TheArchitectit/awesome-cline-skills★ 8same name
- madeinlowcode/skills-claude-code★ 7same name
- basejb/skills★ 5same name
9 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository7 other files it gives its agents.
- seo-ai-searchSkill
- seo-authoritySkill
- seo-contentSkill
- seo-engine-policiesSkill
- seo-evidenceSkill
- seo-strategySkill
- seo-technicalSkill
The file
We split this skill into the rules it gives an agent
4 rules. 0 are common, 3 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 15 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 21
Conversion is the point: Ask once: would this page deserve to exist if Google did not exist?
- Very specific: line 37
Every tactic you recommend carries one label next to it: [documented] engine documentation · [measured: MARK, n=S samples, c=C controlled] …
- Distinctive: line 52
No rollout without a revert rule: Before any change: applicability, holdout, what stays fixed, primary metric + window, and the …
- Distinctive: line 115
Never fabricate a score; say when a check is uncertain.
“Common” is measured: kept by at least 6 in 10 of the 15 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
seo-optimizer
Organic visibility, AI answer-engine citations, trust, conversion — in that order. This skill routes and audits; seven seo- subskills hold the depth.
Load rule (every seo- skill)
Descriptions always; a SKILL.md body on trigger; then one reference per load-when row the question touches — another only if the question spans another row or a file's Next: line points there. Never open files "to be thorough". Ledger parts, practitioner parts, engine pages and the crawler registry are lookup-only.
Philosophy
- People-first, search-aware. Satisfy a real user, then make it crawlable and trustworthy.
- Intent before keywords: the job decides the page.
- Clusters over isolated articles.
- Durable assets, not hacks: crawlability, trust, links, original data.
- Conversion is the point. Ask once: would this page deserve to exist if Google did not exist? If no, rethink the page.
The Shortcut Trap
Legitimate SEO is high-friction. Shortcuts that skip it at scale — mass low-value pages, link drops, PBNs, service-for-link swaps, duplicate-filter evasion — match spam policies. Self-check: low-effort + systematised + scaled + no value per URL → refuse; value per URL decides, not the production method. The refusal is a policy and YMYL-correctness refusal, not an evidence claim: unedited AI articles show +17 pp positions [measured: MAINSTREAM, #50, n=4, c=1 — uncontrolled before/after; the one A/B reports direction only]. Agent pipelines run the fail-closed gates in skill seo-content › publishing-gates.
Owned-property links are judged by purpose and footprint, not ownership: a link a reader would expect is navigation; a network built to pass rank is refused below.
EEA [documented: https://developers.google.com/search/blog/2026/08/update-site-reputation-policy, 2026-10-11]: from 30 Aug 2026 a site-reputation-abuse manual action is still issued and notified, but it no longer affects rankings for EEA searchers (Google may instead separate the section so it ranks on its own merits); outside the EEA it still demotes the affected section. Policy risk differs by searcher location; the refusal stands on correctness and reputation.
Hard refusals
Never recommend or implement: keyword stuffing, doorway pages, scaled content abuse (many pages made primarily to manipulate rankings, little to no value, «no matter how it's created»), fake reviews, link farms/PBNs/domain pools, cloaking, parasite SEO, comment/forum spam, hidden links, expired-domain tricks, service-for-link exchanges, cross-linking a portfolio of sites you control beyond links a reader would expect (reciprocal, sitewide, footer), and duplicate-filter evasion (identical bodies, changed URL/H1/title). Spam-policy violations.
Evidence marks — how every recommendation is labelled
Every tactic you recommend carries one label next to it:
[documented] engine documentation · [measured: MARK, n=S samples, c=C controlled] a published measurement · [practitioner] operating judgment · [hypothesis] mechanism story.
Numbers keep their denominator. "+113% AI citations (entry 60: 7 independent samples — 1 controlled A/B reporting direction only, 1 before/after with control at +113% on 123 pages, 4 uncontrolled, 1 design unclear; the 20-vs-20 pages is the study's replication recipe, not the measurement)" — never "+113%". The study's "N of M samples" column means N samples measured the headline metric out of M independent samples — it is NOT a controlled-test count; read controlled counts from each entry's study-design line. If the sample or control count is not reported, write "not reported" and do not headline the gain.
Marks are counts, not verdicts. MAINSTREAM = ≥3 independent samples (or 2 if both controlled): how many published, not whether it works. MAINSTREAM with 0 controlled tests and a range crossing zero = "published, direction unresolved". IT DEPENDS = ask the named moderator question, then test — 10 of 12 IT DEPENDS sides have no controlled test. EXPERIMENTAL = ≤2 samples, no E score; never quote one as evidence of size. ACADEMIC = benchmark sizes, not live-site.
E and A never merge. Quote evidence and actionability separately; shortlist rank weights A 0.65 and is not evidence.
Bundles support direction, not size. 92 of 182 entries changed several things, measured one outcome. Credit the bundle.
Discount the record. 81.9% of 1,700 published outcomes are positive; the hand-verified 90 ran 64%. 602 of 769 tactics have no controlled test. 65 of 118 controlled measurements come from one publisher — say when a claim's controlled evidence is single-publisher.
Never forecast a published number onto a client site. Medians (+36% sessions, 87 entries) are what publishers chose to publish. The only forecast allowed is built from the client's own GSC demand and funnel.
No rollout without a revert rule. Before any change: applicability, holdout, what stays fixed, primary metric + window, and the pre-declared trigger that reverts it. Without one, every outcome reads as confirmation.
Full ledger, six-part replication recipe, 182-entry catalogue: load skill seo-evidence (Evidence ledger).
Closed set of 9 labels. [documented: <URL>, <YYYY-MM-DD>] — a page we read, with its check date. [documented-secondary: <source>, <date>] — official page unread, named secondary used (only in ## Unverified or an engine page §5/§8). [unverified: <what is missing>] — only in ## Unverified or as a pointer <topic>: unverified [unverified: …]; see <pointer>. [practitioner: anonymised sources · <label> · N thr / S · newest YYYY-MM · G/C]. [vendor], [memory] (verify before use), [unvalidated house heuristic]. One label per claim; only a dated fetch upgrades one.
Operating sequence (run every time)
- Business understanding — offer, buyer, geography, conversion goal, competitors, proprietary data; pick the scope and name the points it covers.
- SERP & intent — match the page type to what the SERP rewards.
- Keyword universe — by intent and by type.
- Architecture — keywords → page types; depth budget ≤2 clicks money pages, ≤3 clusters.
- Audit — detect the framework, run the 8 points (Explore subagent above 200 routes), score PRESENT / PARTIAL / MISSING with file:line.
- Prioritise by
impact × business value × confidence ÷ difficulty; file each action under one primary lane (eligibility · intent · content · on-page · experience · authority · measurement) and stop at the first failing gate[practitioner]. Lanes: OP1. - Report, verdict first. 8. Ask which gap to start with.
The 8-point audit (one line each; depth in the owning skill)
| # | Point | Owner |
| 1 | Per-page meta: own title, description, OG, canonical per route and locale | seo-evidence (titles), seo-technical |
| 2 | Structured data matching visible content; no FAQ/HowTo rich-result promise | seo-technical |
| 3 | Breadcrumbs: BreadcrumbList + visible trail | seo-technical |
| 4 | Programmatic pages: one URL per distinct intent, value per URL | seo-content |
| 5 | Internal linking: topic links, no orphan money page | seo-content |
| 6 | Technical hygiene: robots, sitemap, canonicals, redirects, rendering, CWV, hreflang | seo-technical |
| 7 | GSC + Bing Webmaster Tools day one; IndexNow; 7b: GSC "Search generative AI" control on include (set or inherited) | seo-technical, seo-engine-policies |
| 8 | One editorial link from an owned property a reader expects | seo-authority |
Decision rules
- Name what the SERP rewards; every recommendation is an action (page, targets, anchors); every page has a job.
- Refresh or consolidate — diagnose first; date-only bumps are anecdotes.
- YMYL trust signals are a requirement
[practitioner]: bylines, primary sources, dates, legal entity, methodology page. - Audit any connector before trusting it (GSC/MCP servers, crawlers, SEO APIs): check what it requested and returned.
- Policy gate first: a tactic an engine forbids is not graded or built. Label every tactic.
Route the question
| User asks about… | Load skill | Open first (load-when rows) |
| penalties, de-indexing, bans, manual action, "is X allowed on Bing", AI opt-outs | seo-engine-policies | EP1 (one engine) · EP2 (≥2, "which engines") · EP3 (dated Google update) |
| "does X work", studies, practitioners, myths, A/B, revert | seo-evidence | EV1 (does it work) · EV2 (named entry) · EV3 (practitioners) · EV4 (test, revert) · EV5 (titles) |
| crawl, index, render, schema, CWV, hreflang, migrations, traffic loss | seo-technical | TE1–TE11 |
| keywords, intent, briefs, programmatic, comparison, local, GSC page-2 | seo-content | CO1–CO10 |
| links, PR, E-E-A-T, brand, Reddit/YouTube, disavow | seo-authority | AU1–AU2 |
| AI answer engines, AI crawler access, llms.txt, AI-citation tracking | seo-ai-search | AI1–AI7 |
| strategy, roadmap, ideas, resources | seo-strategy | ST1–ST5 |
| competitors, competitor database, landscape study, "who are we up against" | this skill | OP3 |
Multi-part order: policy gate → evidence → implementation (500 city pages: seo-engine-policies → seo-evidence → seo-content), each stage opening only its own rows. A full audit is OP1 plus ≤3 subskill rows.
Audit delivery
| ID | Question shape | Open |
| OP1 | full audit, report template, lanes, delivery gates | audit-output (+ part 2) + measurement-gates |
| OP2 | paid-API spend guard, field allowlists, prompt-file tests | measurement-gates part 2 |
| OP3 | map the competition, competitor database, landscape analysis, refresh a competitor study | competitive-landscape-research; per phase only: agent prompts · templates · methods · new-market pack; scripts scripts/merge_rows.py, scripts/build_dashboard.py |
Final notes
- Each dated claim names its check date; engine pages are re-fetched after 180 days
[unvalidated house heuristic]. - Never fabricate a score; say when a check is uncertain.
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.

