geo-seo-claude (GEO-first SEO skill for Claude Code)
zubair-trabzada's second pack in this spoke, and the largest SEO/marketing skill pack it holds by
star count after claude-seo. MIT, 9,877★ / 1,531 forks, created 2026-02-18 and last pushed
2026-08-31 — the day it was routed here. Installed by piping install.sh into a shell; driven from
/geo audit <url> and eleven sibling commands inside claude-code.
The pitch is a positioning claim about where search is going: "GEO-first, SEO-supported… AI search is eating traditional search. This tool optimizes for where traffic is going, not where it was." It audits a site for citation by ChatGPT, Perplexity, Gemini and Google AI Overviews, scores it 0–100, and emits a client-ready report.
T1 as the primary artifact — the project speaking for itself. As on ai-marketing-claude, that is provenance, not quality: nothing here has been run, and the README's headline statistics are uncited third-party numbers relayed by the maker, which is T3 material sitting inside a T1 page.
What is actually in it
Read from the file tree, not the README. 71 files, 637 KB, and the ratio is the thing:
- ~293 KB of markdown prompt across
geo/SKILL.md(the router), 15 sub-skill directories, and 5 subagent definitions. The largest single file isskills/geo-brand-mentions/SKILL.mdat 23 KB. - ~87 KB of Python in six files:
fetch_page.py(18 KB),citability_scorer.py,brand_scanner.py,llmstxt_generator.py,crm_dashboard.py, and a Flask app underscripts/webapp/with four Jinja templates. - Six JSON-LD schema templates, an HTML/CSS report template,
install.sh/install-win.sh/uninstall.sh, and anexamples/directory holding a real generated audit for one client domain (PDF, JSON, proposal, quick audit, dated 2026-03-12).
So it is still mostly instructions to a model — three and a half times more prompt than code — but the code is doing more than it was in ai-marketing-claude.
The README undercounts its own skills. It says "13 specialized sub-skills" above an architecture
tree that lists 14; the repository has 15 (geo-update appears in neither). It also documents
scripts/webapp/ nowhere, so a Flask CRM dashboard ships unmentioned.
The verification question, answered differently this time
The spoke's standing measure for a skill pack is how many of its scripts fetch a checkable fact rather than instruct the model to form an impression. agentic-seo-skill has 89 evidence collectors; ai-marketing-claude, by the same author, has four, and that page concluded its scored client PDF "rests on no checkable observation."
This pack sits between them, and closer to the useful end than the count suggests. fetch_page.py
retrieves and parses the page. citability_scorer.py computes a score from measurable text properties
— word counts per block, pronoun density, sentence length, counts of percentages and dollar figures.
llmstxt_generator.py validates a real file at a real path. brand_scanner.py queries named
platforms. The crawler check reads robots.txt for 14+ named agents (GPTBot, ClaudeBot,
PerplexityBot, OAI-SearchBot) and deducts fixed points per blocked crawler. Four of six scripts
collect evidence, and the scoring hangs off them rather than off the model's impression of the page.
What it still cannot observe is the outcome. Every input is a property of the site; none is a measurement of whether an AI system actually cited it. The score predicts citability and nothing checks the prediction — the same ceiling claude-seo hit, where "nothing measures whether the audits improve rankings."
It published the rubric ai-marketing-claude was missing
The sharpest difference from the author's earlier pack. docs/scoring-methodology.md is 16 KB and
gives the composite formula, the six weights (Citability 25 / Brand 20 / E-E-A-T 20 / Technical 15 /
Schema 10 / Platform 10), the point allocation inside each sub-score, and the score bands. The
citability sub-score alone is broken into five weighted components with per-point criteria.
And it states its own limit, unprompted:
"The 25/20/20/15/10/10 weight distribution reflects the judgement of the tool's authors… These weights are not derived from a controlled study and are subject to change as AI search platforms evolve."
That sentence is rare in this corpus. ai-marketing-claude's six-dimension score had no published rubric and no caveat; claude-seo's output contract forces a "how would we know this failed?" line into every recommendation. This is a third posture — publish the arithmetic and label it opinion — and of the three it is the cheapest for a reader to check.
One number is sourced; five are not
The README opens with a "Why GEO Matters (2026)" table of six statistics: a $850M GEO services market growing to $7.3B by 2031, +527% year-over-year AI-referred traffic, AI traffic converting 4.4× better than organic, a Gartner forecast of −50% search traffic by 2028, brand mentions correlating 3× more strongly than backlinks, and 23% of marketers investing in GEO. None carries a citation on that page.
One survives a dig. docs/scoring-methodology.md attributes the brand-mention correlation to an
Ahrefs study of 75,000 brands (December 2025) and gives the underlying coefficients: YouTube
presence 0.737 against domain rating / backlinks 0.266. That is where "3×" comes from, and it is
a real, named, checkable source — buried one level below the headline that uses it.
The other five have no such backing anywhere in the repository. This matters more than the usual README-inflation complaint, because the numbers are the argument: the whole pitch for reordering an SEO practice around GEO rests on that table, and five-sixths of it is unattributed.
The advertised PDF report cannot work from a clean install
Reading the installer and the skill file, not running them, so this is a defect claim about code, not a test result. Three things line up:
- The README's architecture tree lists
scripts/generate_pdf_report.py — PDF report generator (ReportLab). That file is not in the repository, andrequirements.txtdoes not includereportlab. - It was replaced rather than lost.
skills/geo-report-pdf/SKILL.mdis at v2.0.0 and says so plainly: "No Python dependencies. No ReportLab." The pipeline is now pandoc → a bundled HTML template → Chrome headless printing to PDF. The README simply never caught up. - That pipeline needs
~/.claude/skills/geo/templates/geo-report-template.htmland its CSS. Both files exist in the repository undertemplates/.install.shnever copies that directory — it installsgeo/,skills/,agents/,scripts/,schema/andhooks/, and its verification step checks for the schema directory but not this one.
So /geo report-pdf, a headline feature with a sample PDF committed to examples/, points at a path
the installer does not create. The skill also hardcodes /Applications/Google Chrome.app/, which
makes the feature macOS-only in a repository that ships a Windows installer.
Whether this breaks in practice depends on how a user installed; someone running from a clone with the right absolute paths may never see it. The point for this spoke is narrower and does not need a test run: a 9.9k-star pack advertises a client deliverable whose install path is not wired up, and nothing in the 1,531 forks or the star count would tell you that. It is the concrete version of the argument agentic-awesome-skills makes about what stars measure.
Free tool, paid community
The repository's homepage field points at skool.com/aiworkshop, and the README closes with a section
titled "Want to Turn This Into a Business?": the tool is free, the community teaches client
acquisition, pricing and proposal templates, and it names the market rate — "GEO agencies charge
$2K–$12K/month. This tool does the audit. The community teaches you how to sell it."
This is now a pattern, not an instance. claude-seo was recorded as the spoke's first two-tier open/paid cadence — MIT repo plus a members-only early-access mirror behind a Skool membership, run by agrici-daniel. Here is the second, by a different author, with a different structure: no private mirror and no gated code, but the same free-pack-as-funnel shape and the same platform. Two of the three largest SEO skill packs in this spoke are the top of a paid Skool funnel. The pack is not the product; the audit it lets you sell is.
What changed since ai-marketing-claude
Same author, five and a half months later, and it answers three of the four weaknesses that page recorded:
| ai-marketing-claude (2026-03-02) | geo-seo-claude (2026-08-31) |
|---|---|
| Created and last pushed nine minutes apart, untouched since | Created 2026-02-18, pushed the day of this ingest |
| 4 Python scripts, none collecting evidence | 6 scripts, four of them evidence collectors |
| Six-dimension score with no published rubric | 16 KB methodology doc, per-point criteria, explicit "not from a controlled study" |
| No output sample | examples/ ships a real client audit, JSON, proposal and PDF |
| 28% fork-to-star ratio (692 / 2,451) | 15% (1,531 / 9,877) |
The one thing that did not change is the ceiling: still no evaluation of whether any of it works.
That table also corrects a reading the earlier page invites. "Nine minutes, then nothing" was true of that repository and stays true; it is not a fact about the author. The same person has a repository four times as popular that has been maintained for six months, so the abandonment signal belongs to the artifact, not the builder — a distinction worth keeping whenever this spoke reads repository metadata as evidence about people.
Cross-spoke context — ../search-marketing-wiki
The GEO substance here is that spoke's, and two threads connect:
- The unsourced statistics are exactly the genre its generative-engine-optimization page was assembled from before geo-paper arrived, and the Ahrefs coefficients (0.737 vs 0.266) are a concrete number for the brand-depth-ai-recommendations argument that brand signals beat links.
- The citability rubric independently rediscovers the one controlled result. geo-paper (Aggarwal et al., KDD 2024) measured visibility gains of 30–40% from adding verifiable statistics, adding credible quotations, and citing sources. This pack's citability scorer awards points for percentages, dollar amounts, numbers with units, named sources, and attributed claims ("research shows…"). Same three levers, arrived at from practice, and the repository never cites the paper. Its unsourced 134–167-word "optimal passage" range has no such corroboration.
Routed here rather than there under the standing rule that agent skill packs for SEO/PPC are tools in this spoke (agentic-seo-skill, claude-skills-ppc precedent); the GEO claims are noted, not paged.
Recorded weaknesses
Nothing has been run: no output verified, no audit reproduced, no third-party review, no verifier of
the kind skillsbench defines. Five of six headline statistics are uncited. The composite score has
a published rubric and, by the maintainer's own admission, no validation. Star, fork and file counts
are a 2026-08-31 snapshot. curl | bash remains the documented install path, which
agent-skills-can-be-harmful is the standing reason to name.
Related
zubair-trabzada · ai-marketing-claude · claude-seo · agentic-seo-skill · claude-skills-ppc · agent-skills · agentic-awesome-skills · agent-skills-can-be-harmful · skillsbench · verification-loops-skills · claude-code · agrici-daniel · llms-txt · e-e-a-t · synthesis