Skip to content
Marketing
Skill

/geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit across AI citability, platform analysis, technical infrastructure, content quality, and schema markup. Produces a composite GEO Score (0-100) with

From plugin
thl-open
1917 skills

Claude Code

$ npx -y skills add techhorizonlabs/thl-open --skill geo-audit --agent claude-code

SKILL.md

geo-audit.SKILL.md
name: geo-audit
description: Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit across AI citability, platform analysis, technical infrastructure, content quality, and schema markup. Produces a composite GEO Score (0-100) with prioritized action plan.
allowed-tools:
  - Read
  - Grep
  - Glob
  - Bash
  - WebFetch
  - Write

GEO Audit Orchestration Skill

Purpose

This skill performs a comprehensive Generative Engine Optimization (GEO) audit of any website. GEO is the practice of optimizing web content so that AI systems (ChatGPT, Claude, Perplexity, Gemini, etc.) can discover, understand, cite, and recommend it. This audit measures how well a site performs across all GEO dimensions and produces an actionable improvement plan.

> **What this composite is, and what it isn't.** This score is a **readiness** measure: it reads public signals (content, schema, crawler access, off-page authority) and infers how citable and recommendable the site is. It does **not** query the AI engines to confirm the business is actually named in their answers. Read it as "how well-built for AI is this site," not "is this site in the answer right now." For the live outcome, run the free scan at **[areyoufoundbyai.com](https://areyoufoundbyai.com)**: two buyer questions on ChatGPT and Gemini, no signup; Pro asks up to 25 buyer questions across seven engines on the schedule you choose, from a shared token balance, and its headline measure is the named share of saved answers (the two are complementary: readiness here, visibility there; see [`docs/THL-GEO-METHOD.md`](../../docs/THL-GEO-METHOD.md)). This composite is the open audit's own formula. It is not the product's AI Readiness score, which is built differently (five site signals, with the off-site Footprint scored separately). Every dimension below carries a provenance tag; a `[heuristic]` tag means model judgement from signals, not a measured fact.

Key Insight

Traditional SEO optimizes for search engine rankings. GEO optimizes for AI citation and recommendation. Sites that score high on GEO metrics see 30-115% more visibility in AI-generated responses (Georgia Tech / Princeton / IIT Delhi 2024 study). The two disciplines overlap but have distinct requirements.

---

THL enhancements (this fork)

Tech Horizon Labs runs this audit as part of a three-layer method (see [`docs/THL-GEO-METHOD.md`](../../docs/THL-GEO-METHOD.md)):

  • **External benchmark.** Alongside the dimensional composite below, run the `agent-readiness-scan` skill (THL-original) for Cloudflare's independent `isitagentready.com` 0 to 100 score. Record both; on a re-audit, track the delta on each: the movement is the proof, not the first number.
  • **Checklist.** Work through [`references/thl-audit-checklist.md`](references/thl-audit-checklist.md) so no dimension is silently skipped and the same facts/scores stay consistent across every section.
  • **Deliverable.** Assemble the audit data and run `tools/audit-report-kit` (THL-original) to produce a branded client PDF + compile-checked JSON-LD for the schema fixes, instead of leaving a raw markdown file.

---

Audit Workflow

Phase 1: Discovery and Reconnaissance

**Step 1: Fetch Homepage and Detect Business Type**

1. Use WebFetch to retrieve the homepage at the provided URL. 2. Extract the following signals:

  • Page title, meta description, H1 heading
  • Navigation menu items (reveals site structure)
  • Footer content (reveals business info, location, legal pages)
  • Schema.org markup on homepage (Organization, LocalBusiness, etc.)
  • Pricing page link (SaaS indicator)
  • Product listing patterns (E-commerce indicator)
  • Blog/resource section (Publisher indicator)
  • Service pages (Agency indicator)
  • Address/phone/Google Maps embed (Local business indicator)

3. Classify the business type using these patterns:

| Business Type | Detection Signals | |---|---| | **SaaS** | Pricing page, "Sign up" / "Free trial" CTAs, app.domain.com subdomain, feature comparison tables, integration pages | | **Local Business** | Physical address on homepage, Google Maps embed, "Near me" content, LocalBusiness schema, service area pages | | **E-commerce** | Product listings, shopping cart, product schema, category pages, price displays, "Add to cart" buttons | | **Publisher** | Blog-heavy navigation, article schema, author pages, date-based archives, RSS feeds, high content volume | | **Agency/Services** | Case studies, portfolio, "Our Work" section, team page, client logos, service descriptions | | **Professional / financial services (YMYL)** | Named advisers/practitioners, displayed credentials, a regulatory licence (AFSL / AR number / registration), FSG / privacy / disclaimer pages, and "your money or your life" topics (finance, legal, health). A trust-critical sub-type of Local/Agency. | | **Hybrid** | Combination of above signals -- classify by dominant pattern |

**Step 2: Crawl Sitemap and Internal Links**

1. Attempt to fetch `/sitemap.xml` and `/sitemap_index.xml`. 2. If sitemap exists, extract up to 50 unique page URLs prioritized by:

  • Homepage (always include)
  • Top-level navigation pages
  • High-value pages (pricing, about, contact, key service/product pages)
  • Blog posts (sample 5-10 most recent)
  • Category/landing pages

3. If no sitemap exists, crawl internal links from the homepage:

  • Extract all `<a href>` links pointing to the same domain
  • Follow up to 2 levels deep
  • Prioritize pages linked from main navigation

4. Respect `robots.txt` directives -- do not fetch disallowed paths. 5. Enforce a maximum of 50 pages and a 30-second timeout per fetch.

**Step 3: Collect Page-Level Data**

For each page in the crawl set, record:

  • URL, title, meta description, canonical URL
  • H1-H6 heading structure
  • Word count of main content
  • Schema.org types present
  • Internal/external link counts
  • Images with/without a
Read more
@techhorizonlabs
Ships withthl-open

Turn a client website into an AI-readiness audit, a ranked fix plan and a branded report. Open agent skills and reporting tools from Tech Horizon Labs. Start in Claude Code, or use a compatible agent that reads SKILL.md files.

Stars on GitHub

Momentum

stars in total
19
Star history of techhorizonlabs/thl-open on GitHub, a chart by star-history.com

Other skills on thl-open.

found-by-ai

found-by-ai

Measure whether AI engines actually recommend a business when buyers ask. Runs the free live scan at areyoufoundbyai.com (no…

geo-compare

geo-compare

Monthly delta tracking and progress reporting for GEO clients. Compares two GEO audits (baseline vs. current), calculates score…

geo-content

geo-content

Content quality and E-E-A-T assessment for AI citability: evaluate experience, expertise, authoritativeness, trustworthiness, and…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about geo-audit.

Which coding agents can use geo-audit?
geo-audit installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.