GEO-first SEO analysis tool. Optimizes websites for AI-powered search engines (ChatGPT, Claude, Perplexity, Gemini, Google AI Overviews) while maintaining traditional SEO foundations. Performs full GEO audits, citability scoring, AI crawler analysis, llms.txt generation, brand mention scanning, platform-specific optimization, schema markup, technical SEO, content quality (E-E-A-T), and client-ready GEO report generation. Use when user says "geo", "seo", "audit", "AI search", "AI visibility", ...
Scanned 8/31/2026
Install to Claude Code
npx -y skills add techhorizonlabs/thl-open --skill geo --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Geo?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/techhorizonlabs-geo)More formats (shields.io, HTML) on the badges page.
---
name: geo
description: >
GEO-first SEO analysis tool. Optimizes websites for AI-powered search engines
(ChatGPT, Claude, Perplexity, Gemini, Google AI Overviews) while maintaining
traditional SEO foundations. Performs full GEO audits, citability scoring,
AI crawler analysis, llms.txt generation, brand mention scanning, platform-specific
optimization, schema markup, technical SEO, content quality (E-E-A-T), and
client-ready GEO report generation. Use when user says "geo", "seo", "audit",
"AI search", "AI visibility", "optimize", "citability", "llms.txt", "schema",
"brand mentions", "GEO report", or any URL for analysis.
allowed-tools: Read, Grep, Glob, Bash, WebFetch, Write
---
# GEO-SEO Analysis Tool (improved by Tech Horizon Labs)
> **Philosophy:** GEO-first, SEO-supported. AI search is eating traditional search.
> This tool optimizes for where traffic is going, not where it was.
---
## Quick Reference
| Command | What It Does |
|---------|-------------|
| `/geo audit <url>` | Full GEO + SEO audit with parallel subagents |
| `/geo page <url>` | Deep single-page GEO analysis |
| `/geo citability <url>` | Score content for AI citation readiness |
| `/geo crawlers <url>` | Check AI crawler access (robots.txt analysis) |
| `/geo llmstxt <url>` | Analyze or generate llms.txt file |
| `/geo brands <url>` | Scan brand mentions across AI-cited platforms |
| `/geo platforms <url>` | Platform-specific optimization (ChatGPT, Perplexity, Google AIO) |
| `/geo schema <url>` | Detect, validate, and generate structured data |
| `/geo technical <url>` | Traditional technical SEO audit |
| `/geo content <url>` | Content quality and E-E-A-T assessment |
| `/geo report <url>` | Generate client-ready GEO deliverable |
| `/geo report-pdf <url>` | Generate professional PDF report with charts and scores |
| `/geo quick <url>` | 60-second GEO visibility snapshot |
| `/geo prospect <cmd>` | CRM-lite: manage prospects through the sales pipeline |
| `/geo proposal <domain>` | Auto-generate client proposal from audit data |
| `/geo compare <domain>` | Monthly delta report: show score improvements to client |
---
## Orchestration Logic
### Full Audit (`/geo audit <url>`)
**Phase 1: Discovery (Sequential)**
1. Fetch homepage HTML (curl or WebFetch)
2. Detect business type (SaaS, Local, E-commerce, Publisher, Agency, Other)
3. Extract key pages from sitemap.xml or internal links (up to 50 pages)
**Phase 2: Dimensional analysis (delegate to the specialised skills)**
The canonical orchestrator is [`skills/geo-audit`](../geo-audit/SKILL.md) — it runs the five analysis dimensions in parallel under a fixed return contract and composite. This umbrella skill defers to it; don't re-implement the orchestration here. The dimensions and the skills that measure them:
| Dimension | Skill | Measures |
|-----------|-------|----------|
| AI visibility (citability + brand) | [`geo-citability`](../geo-citability/SKILL.md), [`geo-brand-mentions`](../geo-brand-mentions/SKILL.md) | Passage citability, off-page brand-authority signals |
| Platform optimisation | [`geo-platform-optimizer`](../geo-platform-optimizer/SKILL.md) | Per-surface readiness (Google AIO, ChatGPT, Perplexity) |
| Technical | [`geo-technical`](../geo-technical/SKILL.md) | SSR, Core Web Vitals, crawlability, AI-crawler access |
| Content / E-E-A-T | [`geo-content`](../geo-content/SKILL.md) | Expertise, original data, author credentials |
| Schema | [`geo-schema`](../geo-schema/SKILL.md) | Structured-data detection, validation, generation |
**Phase 3: Synthesis (Sequential)**
1. Collect all subagent reports
2. Calculate composite GEO Score (0-100)
3. Generate prioritized action plan
4. Output client-ready report
### Scoring Methodology
| Category | Weight | Measured By |
|----------|--------|-------------|
| AI Citability & Visibility | 25% | Passage scoring, answer block quality, AI crawler access |
| Brand Authority Signals | 20% | Mentions on Reddit, YouTube, Wikipedia, LinkedIn; entity presence |
| Content Quality & E-E-A-T | 20% | Expertise signals, original data, author credentials |
| Technical Foundations | 15% | SSR, Core Web Vitals, crawlability, mobile, security |
| Structured Data | 10% | Schema completeness, JSON-LD validation, rich result eligibility |
| Platform Optimization | 10% | Platform-specific readiness (Google AIO, ChatGPT, Perplexity) |
---
## Business Type Detection
Analyze homepage for patterns:
| Type | Signals |
|------|---------|
| **SaaS** | Pricing page, "Sign up", "Free trial", "/app", "/dashboard", API docs |
| **Local Service** | Phone number, address, "Near me", Google Maps embed, service area |
| **E-commerce** | Product pages, cart, "Add to cart", price elements, product schema |
| **Publisher** | Blog, articles, bylines, publication dates, article schema |
| **Agency** | Portfolio, case studies, "Our services", client logos, testimonials |
| **Other** | Default — apply general GEO best practices |
Adjust recommendations based on detected type. Local businesses need LocalBusiness schema and Google Business Profile optimization. SaaS needs SoftwareApplication schema and comparison page strategy. E-commerce needs Product schema and review aggregation.
---
## Sub-Skills (13 Specialized Components)
| # | Skill | Directory | Purpose |
|---|-------|-----------|---------|
| 1 | geo-audit | `skills/geo-audit/` | Full audit orchestration and scoring |
| 2 | geo-citability | `skills/geo-citability/` | Passage-level AI citation readiness |
| 3 | geo-crawlers | `skills/geo-crawlers/` | AI crawler access and robots.txt |
| 4 | geo-llmstxt | `skills/geo-llmstxt/` | llms.txt standard analysis and generation |
| 5 | geo-brand-mentions | `skills/geo-brand-mentions/` | Brand presence on AI-cited platforms |
| 6 | geo-platform-optimizer | `skills/geo-platform-optimizer/` | Platform-specific AI search optimization |
| 7 | geo-schema | `skills/geo-schema/` | Structured data for AI discoverability |
| 8 | geo-technical | `skills/geo-technical/` | Technical SEO foundations |
| 9 | geo-content | `skills/geo-content/` | Content quality and E-E-A-T |
| 10 | geo-report | `skills/geo-report/` | Client-ready deliverable generation |
| 11 | geo-prospect | `skills/geo-prospect/` | CRM-lite prospect and client pipeline management |
| 12 | geo-proposal | `skills/geo-proposal/` | Auto-generate client proposals from audit data |
| 13 | geo-compare | `skills/geo-compare/` | Monthly delta tracking and progress reports |
---
## What this measures — and what it can't
These skills read **public signals** — your pages, schema, crawler access, and off-page authority (Wikipedia/Wikidata verified live; other platforms via search) — and from them **infer** how citable and recommendable you are to AI answer engines. That inference is grounded in published research (see [`docs/SOURCES.md`](../../docs/SOURCES.md)) and is genuinely useful for fixing the foundations you control.
What it does **not** do: it does **not** query the seven answer engines live to check whether they actually **name** you in an answer. That's a different measurement — the *outcome*, not the *inputs* — and it's what our hosted scanner does:
> **For the live "are you actually in the answer" measurement, start with the free scan at [areyoufoundbyai.com](https://areyoufoundbyai.com): two buyer questions on ChatGPT and Gemini, once, no signup. The trial and paid tiers ask up to 12 buyer questions across all seven engines (ChatGPT, Claude, Gemini, Perplexity, Grok, DeepSeek, Google AI Overviews), multi-sampled.** These open skills score your **readiness**; the scanner measures your **visibility**. (See [`docs/THL-GEO-METHOD.md`](../../docs/THL-GEO-METHOD.md) for how the two fit together.)
Every score this suite emits is tagged with its provenance (`[scan]` / `[partial-scan]` / `[heuristic]` / `[unmeasured]`) — read a `[heuristic]` tag as "informed model judgement from signals," not a measured fact.
---
## Output Files
All commands generate structured output:
| Command | Output File |
|---------|------------|
| `/geo audit` | `GEO-AUDIT-REPORT.md` |
| `/geo page` | `GEO-PAGE-ANALYSIS.md` |
| `/geo citability` | `GEO-CITABILITY-SCORE.md` |
| `/geo crawlers` | `GEO-CRAWLER-ACCESS.md` |
| `/geo llmstxt` | `llms.txt` (ready to deploy) |
| `/geo brands` | `GEO-BRAND-MENTIONS.md` |
| `/geo platforms` | `GEO-PLATFORM-OPTIMIZATION.md` |
| `/geo schema` | `GEO-SCHEMA-REPORT.md` + generated JSON-LD |
| `/geo technical` | `GEO-TECHNICAL-AUDIT.md` |
| `/geo content` | `GEO-CONTENT-ANALYSIS.md` |
| `/geo report` | `GEO-CLIENT-REPORT.md` (presentation-ready) |
| `/geo report-pdf` | `GEO-REPORT.pdf` (professional PDF with charts) |
| `/geo quick` | Inline summary (no file) |
| `/geo prospect` | Updates `~/.geo-prospects/prospects.json` |
| `/geo proposal` | `~/.geo-prospects/proposals/<domain>-proposal-<date>.md` |
| `/geo compare` | `~/.geo-prospects/reports/<domain>-monthly-<YYYY-MM>.md` |
---
## PDF Report Generation
The `/geo report-pdf <url>` command generates a professional, branded PDF report:
### How It Works
1. Run the full audit or individual analyses first
2. Collect all scores and findings into a JSON structure
3. Execute the PDF generator: `python3 scripts/generate_pdf_report.py data.json GEO-REPORT.pdf`
### What the PDF Includes
- **Cover page** with GEO score gauge visualization
- **Score breakdown** with color-coded bar charts
- **AI Platform Readiness** dashboard with horizontal bar chart
- **Crawler Access** status table with color-coded Allow/Block
- **Key Findings** categorized by severity (Critical/High/Medium/Low)
- **Prioritized Action Plan** (Quick Wins, Medium-Term, Strategic)
- **Methodology & Glossary** appendix
### Workflow
1. First run `/geo audit <url>` to collect all data
2. Then run `/geo report-pdf <url>` to generate the PDF
3. The tool will compile audit data into JSON, then generate the PDF
4. Output: `GEO-REPORT.pdf` in the current directory
---
## Quality Gates
- **Crawl limit:** Max 50 pages per audit (focus on quality over quantity)
- **Timeout:** 30 seconds per page fetch
- **Rate limiting:** 1-second delay between requests, max 5 concurrent
- **Robots.txt:** Always respect, always check
- **Duplicate detection:** Skip pages with >80% content similarity
---
## Quick Start Examples
```
# Full GEO audit of a website
/geo audit https://example.com
# Check if AI bots can see your site
/geo crawlers https://example.com
# Score a specific page for AI citability
/geo citability https://example.com/blog/best-article
# Generate an llms.txt file for your site
/geo llmstxt https://example.com
# Get a 60-second visibility snapshot
/geo quick https://example.com
# Generate a client-ready report
/geo report https://example.com
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!