Spokes.wiki Search About
Created
Updated
Also known as
GEO-SEO Claude · geo-seo-claude · GEO-first SEO skill for Claude Code
See also
agent-skills · ai-marketing-claude · claude-seo · agentic-seo-skill · claude-skills-ppc · verification-loops-skills
repo
https://github.com/zubair-trabzada/geo-seo-claude

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 is skills/geo-brand-mentions/SKILL.md at 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 under scripts/webapp/ with four Jinja templates.
  • Six JSON-LD schema templates, an HTML/CSS report template, install.sh / install-win.sh / uninstall.sh, and an examples/ 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:

  1. The README's architecture tree lists scripts/generate_pdf_report.py — PDF report generator (ReportLab). That file is not in the repository, and requirements.txt does not include reportlab.
  2. It was replaced rather than lost. skills/geo-report-pdf/SKILL.md is 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.
  3. That pipeline needs ~/.claude/skills/geo/templates/geo-report-template.html and its CSS. Both files exist in the repository under templates/. install.sh never copies that directory — it installs geo/, skills/, agents/, scripts/, schema/ and hooks/, 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.

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