SEO + GEO Skills

CI Latest release Downloads License: MIT Platforms

Agent skills that audit a website for classic search and for the answer engines — ChatGPT, Claude, Perplexity, Gemini, Google AI Overviews.

48 skills, 23 subagents, and one static binary that does the actual work. No Python, no virtualenv, no pip install.


Install

macOS and Linux:

curl -fsSL https://raw.githubusercontent.com/asale-ai/seo-geo-skill/main/install.sh | sh

Windows PowerShell:

irm https://raw.githubusercontent.com/asale-ai/seo-geo-skill/main/install.ps1 | iex

That installs the seogeo binary — checksum-verified against the published SHA256SUMS — and then hands the skills to npx skills, which supports 75+ agents: Claude Code, Codex, Cursor, OpenCode, Cline, Copilot, Roo, Windsurf, and the rest. One canonical copy lands in ~/.agents/skills and is symlinked into each agent that is present. The install is pinned to the same tag as the binary, so the skills can never be newer or older than the code that runs them.

No Node? The installer falls back to writing five known agent directories directly. Nothing here requires npm.

Confirm it worked:

seogeo --version
seogeo install --list

Skills only, no binary yet — the bundled seo-geo-skill skill will then walk your agent through installing the binary:

npx skills add asale-ai/seo-geo-skill --all

ClawHub:

clawhub install @asale-ai/seo-geo-skill

From source:

cargo install --git https://github.com/asale-ai/seo-geo-skill
seogeo install --target npx      # or --target all

Pick your own targets:

seogeo install --target npx        # 75+ agents via npx skills
seogeo install --target all        # the five paths seogeo writes itself
seogeo install --target claude     # just one
seogeo install --list              # what is detected here

Using the skills

Ask for what you want in plain language. The skill descriptions are written so your agent picks the right one; you rarely need to name it.

Audit https://example.com for AI search visibility
Why isn't my product page getting cited by ChatGPT?
Check whether AI crawlers can actually reach my site
Generate an llms.txt for example.com
Did a Google update cause my traffic drop last month?

In Claude Code you can also invoke them directly:

Command What you get
/geo audit <url> Full GEO + SEO audit with a composite score and a prioritised plan
/geo citability <url> Passage-by-passage score for how quotable the page is to an answer engine
/geo crawlers <url> Whether each AI crawler is allowed and actually served
/geo llmstxt <url> Validate an existing llms.txt, or generate one
/geo brands <url> Brand presence on the platforms AI answers cite most
/geo report-pdf Turn the audit into a client-ready PDF
/seo audit <url> Full technical + content + schema audit
/seo page <url> Deep single-page analysis
/seo technical <url> Crawlability, indexability, Core Web Vitals, security headers
/seo content <url> E-E-A-T, thin content, uncited claims, AI-pattern density
/seo schema <url> Detect, validate, and generate structured data
/seo images <url> Alt text, dimensions, formats, lazy loading, LCP impact
/seo sitemap <url> Sitemap discovery and validation
/seo hreflang <url> International SEO annotations
/seo local <url> Google Business Profile, NAP, citations, local schema
/seo backlinks <url> Link profile, and verification that claimed links exist
/seo drift baseline|compare <url> Catch SEO regressions between deploys
/seo google <command> Search Console, PageSpeed, CrUX, GA4, Indexing API

seogeo commands lists every subcommand and the skills that use it.


What works without any setup

Most of it. These need no accounts, no keys, and no quota:

page fetching and rendering · SEO element extraction · AI-citability scoring · robots.txt and live AI-crawler checks · llms.txt validation and generation · schema detection, validation, and generation · content quality and citation-gap analysis · hreflang · image audits · Core Web Vitals lab signals · speculation rules and bfcache · drift monitoring · WHOIS heritage · parasite-SEO risk · IndexNow submission · backlink verification · Common Crawl ranks · PDF report generation · the CRM pipeline.

Field data and account data need credentials. Check what you have:

seogeo google-auth --check
seogeo backlinks-auth --check
Set this And these start working
GOOGLE_API_KEY PageSpeed Insights, CrUX field data, LCP subparts, Natural Language, YouTube
GOOGLE_APPLICATION_CREDENTIALS Search Console, URL Inspection, Indexing API, GA4
MOZ_API_KEY Domain Authority, referring domains, anchor text
BING_WEBMASTER_API_KEY Bing link data, IndexNow
DATAFORSEO_LOGIN + DATAFORSEO_PASSWORD Live SERPs, keyword volume, marketplace data

seogeo google-auth --setup prints the exact steps for the Google side.

Two optional binaries widen what is possible: Chrome (any of Chrome, Chromium, or Edge) for rendering, screenshots, and PDFs, and Node for the Unlighthouse sweep. Both are detected automatically, and the commands that need them say so plainly when they are missing.


Behind a restrictive network?

If requests fail while curl succeeds, point the tool at your proxy:

export SEOGEO_PROXY=http://127.0.0.1:7890

HTTPS_PROXY and ALL_PROXY are honoured too.


Uninstall

npx skills remove          # if the skills came from npx skills
rm -rf ~/.claude/skills/{seo,geo}* ~/.claude/agents/{seo,geo}*-*.md
rm -f ~/.local/bin/seogeo

Your data — drift baselines, CRM records, cost ledger — lives under ~/.config/seogeo, ~/.local/share/seogeo, and ~/.cache/seogeo. Remove those too if you want a clean slate.


Prior art

This project did not start from a blank page. The skill taxonomy, the scoring models, and much of the domain guidance come from two MIT-licensed projects:

Project Author What it contributed here
AgriciDaniel/claude-seo agricidaniel The seo-* skill family, the SEO subagents, the reference library, the schema templates
zubair-trabzada/geo-seo-claude Zubair Trabzada The geo-* skill family, the GEO subagents, the citability and brand-authority scoring, the report templates

Both are Python-and-Claude-Code projects; the rewrite here moves every execution step onto the seogeo binary and widens the install to 75+ agents. If you want the originals — including the parts this port left behind — go read them. Attribution records the full chain, including the upstream community contributors whose credit travels with the code.


Links

Contributing · Security · Attribution · MIT