← ClaudeAtlas

geo-auditlisted

Audit and improve how discoverable and citable a website is to AI search engines and answer assistants (ChatGPT Search, Microsoft Copilot, Perplexity) — i.e. Generative Engine Optimization (GEO), also called AI SEO, AEO, or LLM SEO. Fetches a site exactly as an AI crawler sees it (raw HTML, no JavaScript) and scores it against a 3-block framework (Access → Retrieval → Citability), then produces a prioritized, concrete fix list and an optional HTML report. Use when the user asks things like "GEO audit", "AI SEO audit", "why doesn't ChatGPT cite my site", "how do I get cited by ChatGPT/Copilot/Perplexity", "optimize my site for ChatGPT search", "is my site visible to AI", "get my content into AI answers", "generative engine optimization", or wants to check/improve a site's readiness for AI-driven search and citations.
hashd1ve/geo-audit-skill · ★ 0 · AI & Automation · score 70
Install: claude install-skill hashd1ve/geo-audit-skill
# GEO Audit Diagnose whether AI search engines can **find, read, and cite** a website, then say exactly what to change. Grounded in how ChatGPT Search actually works: it leans on **Bing's index** plus OpenAI's crawlers, and **those crawlers do not execute JavaScript** — so anything rendered client-side is invisible to them. ## The one non-obvious idea **A no-JavaScript HTTP fetch (curl/urllib) shows exactly what the AI crawler sees.** For GEO this is the correct instrument, not a limitation. Do **not** trust `web_fetch`, a browser, or a classic-SEO tool that renders JavaScript to judge what AI crawlers can read — they will show content the crawler never receives and give false confidence. The bundled scanner fetches as `OAI-SearchBot` with no JS. ## Workflow 1. **Scope.** Get the domain. Ask for target queries/keywords and whether they have server-log or Bing Webmaster access (only if the user wants the retrieval/ measurement depth — the scan works without them). 2. **Scan.** Run the scanner (standard library, no installs): ```bash python3 scripts/geo_audit.py <domain> --sample 8 --json out.json --html report.html ``` It reads robots.txt (bot access), the sitemap (URL shape), and samples pages, reporting per page: body word count, headings, `<p>` count, JSON-LD, and a `js_only` verdict. Use `--pages /a,/b,/c` to audit specific URLs. 3. **Interpret** against the 3 blocks, **top-down — stop at the first failing block** (fixing citability on pag