We Audited the Top AEO Skills. Almost None Measure Anything.
We read every file of the 12 most-installed AEO and GEO skills on skills.sh and checked their claims against the research. Here is what they get wrong, and the open-source skill we built to fix it.
Frequently asked questions
What is the best AEO skill for Claude Code?
By installs, the incumbent is coreyhaines31's ai-seo, with about 135,000 installs on skills.sh, and it is a solid, actively maintained general guide. We built Elmo's aeo skill because none of the popular skills closes the loop with measurement, and several repeat claims the research doesn't support. aeo is MIT-licensed, works without Elmo, and reads Elmo data over MCP when it is available. Judge it by its sources: every claim in it links to a primary study or platform document. In our benchmark of 32 neutral evals, it cut the factual errors in Claude Sonnet's answers from about 5 per run to 1.3, while the other popular skills left them at 2.7 to 5.0.
How do I install the aeo skill?
Run npx skills add elmohq/elmo. The skills CLI detects your agent (Claude Code, Cursor, Codex, Gemini CLI, and others) and installs the skill with its reference files and audit script. You can also copy the skills/aeo folder from the GitHub repository into your agent's skills directory.
Does the aeo skill require Elmo?
No. The workflow, access audit, content and off-site playbooks, and evidence file all work on their own, and the skill includes a manual sampling protocol for measuring without any tool. Measurement at a useful sample size needs repeated runs across engines, which Elmo automates either on Elmo Cloud or on a free self-hosted install.
What do popular AEO skills get wrong?
The most common errors in the skills we audited: a misquoted table from the 2023 GEO paper (which tested a simulated GPT-3.5 engine, not ChatGPT), FAQ schema sold as a citation booster with no primary source, llms.txt presented as something answer engines read, composite 'GEO scores' built on invented weights, contradictory magic passage lengths, and outdated or wrong crawler facts such as listing the retired anthropic-ai agent while omitting OAI-SearchBot.
Does llms.txt help with AI visibility?
Not for consumer answer engines, on current evidence. Ahrefs found that 97% of 137,000 llms.txt files received zero requests in a month, and AI bots never requested the file when it didn't exist. Google's John Mueller has said no AI system uses it. It is still useful for developer documentation, which coding agents read.
Why does an AEO skill need measurement?
AI answers change on almost every run. SparkToro found the same brand list repeated less than once in 100 runs, while the share of runs naming a given brand was fairly stable. Without repeated sampling, an agent can't tell whether a change worked, so every recommendation stays a guess.
We read every file of the 12 most-installed answer engine optimization skills on skills.sh, nearly 19,000 lines in all, and checked each claim against its source. The two most-installed skills teach a misordered version of the GEO paper's results. Six present schema markup, usually FAQ schema, as a citation booster without a primary source. Four compute "GEO scores" from weights nobody validated. And none of them reports a brand's visibility as a rate from repeated runs, which is the only way to know whether any of the advice worked. So we wrote aeo, an open-source skill built around the loop the others skip: measure, diagnose, fix, measure again.
npx skills add elmohq/elmo
Key facts
Skills audited
12, by install count on skills.sh, 3 Oct 2026
Installs of the leading AEO skill
~135,000 (coreyhaines31 ai-seo)
Skills that misquote the GEO paper's results table
2, including the most-installed one
Skills that sell FAQ or schema markup as an AI citation lever
6
Skills that compute a composite "GEO score"
4
Skills that can retrieve a real AI answer themselves
2: one via a paid scraper actor, one via an optional DataForSEO hook
Skills that report visibility as a rate across repeated runs
0. One describes the method for a human to follow by hand
Factual errors per 32-question benchmark run
1.3 with aeo, 2.7–5.0 with the other top skills, 4.7 with no skill
aeo SKILL.md length
189 lines, with 1012 lines of references loaded on demand
Key takeaways
The category leader is decent. coreyhaines31's ai-seo quotes Google's own guidance, splits crawlers by purpose, and tells you to sample answers repeatedly. Its main problems are a wrong results table, a claim that answer engines parse llms.txt, and a claim about Search Console that has been out of date since June 2026.
The long tail is worse. Below the top few, skills recommend <meta name="keywords">, "15 FAQs with schema", an "18-token extraction rule", and parasite SEO, and one labels ByteDance's crawler as Cohere's.
Almost everything that is wrong traces back to unsourced statistics: vendor correlations presented as causal weights, or numbers with no traceable source at all.
The research points somewhere else. Being retrieved matters more than rewriting, third-party coverage matters more than markup, and visibility can only be measured as a rate across many runs.
In a 32-question benchmark, four of the five other popular skills scored at or below no skill at all. aeo scored highest and cut factual errors per run from about 5 to 1.3.
aeo keeps the good parts, drops the myths, adds a measurement loop, a stdlib-only access audit script, and an evidence file with a primary source for every claim. It works with or without Elmo.
A skill is a folder with a SKILL.md file: a description that tells the agent when to load it, instructions, and optional reference files and scripts. Claude Code, Cursor, Codex, Gemini CLI, and most other coding agents read the format, and skills.sh ranks public skills by how many times they've been installed.
AEO is a natural fit. The work combines technical checks an agent can run (robots.txt, rendering, indexing), research it can do (what's being cited, by whom), and writing it can draft. That is why the leading AEO skill has around 135,000 installs. Whatever these skills say becomes what thousands of agents tell their users about AI search. So we checked what they say.
On 3 October 2026 we pulled install counts from the skills.sh search API for the queries "aeo", "geo", "ai seo", "ai visibility", and "answer engine optimization". We took the 12 most-installed skills that are actually about AI search visibility, cloned each repository, and read every SKILL.md and reference file. We checked each factual claim against its primary source: the paper, the platform documentation, or the original study. Where a skill cited a statistic with no source, we looked for one. The sources we checked against are collected in the skill's evidence file.
We build an AI visibility product, so weigh our conclusions accordingly. Every claim below links to something you can check.
Nearly every AEO guide cites GEO: Generative Engine Optimization (Aggarwal et al., KDD 2024). The two most-installed skills reproduce the same results table: cite sources +40%, statistics +37%, quotations +30%, authoritative tone +25%. The paper's own results put adding quotations first (the paper reports its best methods improved its word-share metric by 41%), then statistics, fluency, and citing sources. Authoritative tone sits near the bottom, with a gain of roughly 11–13%.
The order matters less than the context the table drops. The paper measured how much of the answer's text came from a page, in a simulated engine: GPT-3.5 summarizing five fixed Google results. The gains went mostly to pages ranked fifth, at the expense of pages ranked first. When C-SEO Bench (NeurIPS 2025) tested the same kinds of rewrites on current models, only 3 of 54 cases showed a significant improvement, and moving a page to the top of the retrieved results beat every rewrite. The coreyhaines31 skill's own evals assert the misquoted figures, so the error is checked into its tests.
Six of the twelve present structured data, usually FAQPage, as something that gets you cited: "+40% AI visibility", "highest AI citation rate", "Critical", "15 FAQs with Schema". We couldn't find a primary source for any of these figures. Google restricted FAQ rich results in 2023 and stopped showing them altogether in May 2026, and its AI optimization guide says AI Overviews and AI Mode need no special schema. A difference-in-differences study of 1,885 pages that added schema found no lift in AI citations, and a small decline in AI Overviews.
The leading skill says AI engines "parse llms.txt", and one suite has a whole skill for generating it. Ahrefs looked at server logs for 137,000 domains and found that 97% of llms.txt files got zero requests in a month, and that AI bots never asked for the file on sites that didn't have one. It is useful for developer documentation, because coding agents read it. It isn't an AEO lever.
Four skills output a composite score: "GEO Readiness Score: 72/100", a 1–10 "GEO score", "GEO Score v2". Each is a weighted sum of heuristics (citability 25%, schema 20%, brand 20%, and so on) with no validation against which pages actually get cited. The "monitoring" in these skills re-runs the same heuristic, so the score goes up when you do what the score asks for, whether or not any engine noticed.
Crawler mistakes are the most expensive, because a wrong robots.txt rule silently removes a site from an engine. The audit turned up the retired anthropic-ai user agent listed as current while OAI-SearchBot, the crawler that decides whether a site appears in ChatGPT search, went unmentioned; Google-Extended described as affecting AI Overviews (it controls Gemini training and Gemini app grounding, and doesn't affect Search); training and search crawlers lumped into one list; and ByteDance's crawler attributed to Cohere.
This is the gap that matters most. AI answers change on almost every run: SparkToro found the same brand list less than once in 100 runs, while the share of runs naming a given brand was fairly stable. So the only honest measure is a rate across repeated runs, per engine, against a fixed set of competitors.
The best of the incumbents say so, then leave it to the human ("run each query 3–5 times per platform") or point to a third-party tool. The rest skip measurement entirely, or "monitor" their own audit score. Without measurement, an agent can't tell whether its last recommendation worked, so it can't learn which of its advice to drop.
We kept what the incumbents get right: Google's guidance up front and the purpose-by-purpose crawler split from coreyhaines31, AgriciDaniel's rule of deferring to primary sources, the Measured-versus-Estimated labels from aaron-he-zhu, Sanity's short-router structure, and cognitic-labs' treatment of fetched pages as untrusted input. Then:
A workflow with a measurement loop. Scope, prompt set, baseline, diagnosis, access, owned content, off-site work, then re-measurement against a dated change log. The skill won't make a recommendation without a way to check it.
Prompt sets built from demand. It builds prompts from Search Console queries, sales and support language, community threads, and engines' own fan-out queries, tagged by intent and weighted toward unbranded prompts, which is where brands win or lose.
Statistics an agent can apply. Runs per prompt for exploratory versus confirmatory claims, and a margin-of-error table, so "down 8 points on 20 runs" gets reported as what it is: no detectable change.
Off-site work driven by the brand's own citation data. Instead of a generic "get on Reddit" list, it ranks the third-party pages engines actually cite for the prompts the brand loses, with a playbook for each source type and clear lines it won't cross.
An access audit that runs.scripts/check_ai_access.py uses only the Python standard library. It evaluates robots.txt for 17 crawlers with RFC 9309 matching, fetches each page as each crawler to catch firewall blocks robots.txt doesn't show, flags noindex and nosnippet, and checks whether content is in the raw HTML that non-rendering AI crawlers see.
Receipts. The dated facts live in one evidence file with a credibility rating and a primary source for each, plus a myths table, so the main instructions don't go stale and every number can be traced.
The rules that carry legal or policy risk. The FTC's rule on consumer reviews, disclosure for employees and paid placements, Google's link spam and scaled-content policies, the extra bar for health and finance pages, and the ban on networks of sites posing as independent sources in Anthropic's Usage Policy. When asked for any of it, the skill declines and offers the earned version. It also covers the newer ground the others skip: product feeds and AI shopping results, pages AI agents have to use, and domain moves.
A short main file. SKILL.md is 189 lines. References load only when the agent reaches the step that needs them.
Reading the skills tells you what they claim. To see what they do to an agent's answers, we ran a benchmark. We wrote 32 evals designed to be neutral and not Elmo-specific: no question mentions Elmo or needs a tracking tool, and they cover the work the other skills are built for too, including rewriting a page, fixing JSON-LD, local and ecommerce listings, hreflang, YouTube, rebrands, and review policy. Each comes with fixture files where it needs them (HTML, robots.txt, a CSV of tracked answers) and a rubric of 4–8 checks. Each check is either a fact with a primary source or a judgement call with a stated reason, and a separate review pass loosened any check that favored one school of thought.
Claude Sonnet answered all 32 with each skill installed, and with none, three times each. Claude Opus graded every answer against the rubric without knowing which skill produced it.
Skill
Checks passed
Facts right
Quality (1–5)
Factual errors per run
elmohq aeo
98.2%
97.9%
4.80
1.3
AgriciDaniel seo-geo
95.2%
92.1%
4.53
2.7
No skill
94.5%
90.6%
4.38
4.7
Sanity seo-aeo-best-practices
94.4%
91.2%
4.53
3.7
bencium-aeo
94.0%
90.6%
4.53
3.7
resciencelab seo-geo
93.2%
89.1%
4.50
4.0
coreyhaines31 ai-seo
93.0%
90.0%
4.49
5.0
The judgement checks barely separate anyone: Sonnet already gives sensible advice, and every setup passed 97–99% of them. The difference is in the facts. Without help, the model often says FAQ rich results still show for health and government sites, that snippet controls are the only way out of AI Overviews, that Search Console has no AI report, and that a canonical tag fixes syndicated copies. A skill can only help by correcting facts like these, and most of the popular ones don't.
Four of the five other skills scored at or below no skill. For Sanity's and bencium's, the gap is within run-to-run noise: they repeat the model's stale facts without adding new mistakes. resciencelab's and coreyhaines31's land below no skill on every run, because they add errors the model then repeats: no AI reporting in Search Console, answer engines parsing llms.txt, unsourced percentages, and product markup filled with values the page doesn't state. General-purpose checklists also pull answers away from the question asked, so specifics like testing a page with the accessibility tree or treating "near me" results as location-dependent get dropped.
Two caveats. We revised aeo after earlier rounds of this benchmark, so its score is optimistic; before those revisions it passed 95.9% of checks with 1.0 factual error per run, already ahead of every other setup. And Claude graded Claude. The evals, fixtures, and sources are in the repository, so you can run them against any skill.
Measurement is the step the skill can't do alone, because it needs the same prompts run many times across engines. That's what Elmo does: it runs a brand's prompts across ChatGPT, Google AI Overviews and AI Mode, Perplexity, Gemini, Copilot, and others on a schedule, and records mentions, citations, and fan-out queries. The skill connects to it over MCP and maps each diagnostic question to a tool call.
Elmo is MIT-licensed. Self-hosting it is free, plus whatever you pay a scraping provider, and the skill walks through the setup. It recommends providers based on our public status page, and links to them with affiliate links that it discloses, because that's how the open-source project is funded. If you'd rather not run infrastructure, Elmo Cloud runs the same software for you. If you use neither, the skill's manual sampling protocol gets you a rough first baseline.
The skills CLI installs aeo for whichever agents it finds. Then ask your agent something like "Audit our AI visibility for example.com against Acme and Globex." The skill is on GitHub under the MIT license. If you find a claim in it that the evidence doesn't support, open an issue: that's the standard we're holding the other skills to.