agentsclimarketplace

Geo

Skill techhorizonlabs/thl-open/skills/geo

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.From its SKILL.md

Install
npx -y skills add techhorizonlabs/thl-open --skill geo

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

3 things to look at

  • 14 stars14 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 2 commands, including `curl or WebFetch` and 1 more.
  • fetches URLsInstructs the agent to fetch 1 URL, including https://areyoufoundbyai.com.

SKILL.md

10.4 KB, ~2.5k tokens by cl100k_base, as published. Nobody here has run it

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

CommandWhat 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 — 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:

DimensionSkillMeasures
AI visibility (citability + brand)geo-citability, geo-brand-mentionsPassage citability, off-page brand-authority signals
Platform optimisationgeo-platform-optimizerPer-surface readiness (Google AIO, ChatGPT, Perplexity)
Technicalgeo-technicalSSR, Core Web Vitals, crawlability, AI-crawler access
Content / E-E-A-Tgeo-contentExpertise, original data, author credentials
Schemageo-schemaStructured-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

CategoryWeightMeasured By
AI Citability & Visibility25%Passage scoring, answer block quality, AI crawler access
Brand Authority Signals20%Mentions on Reddit, YouTube, Wikipedia, LinkedIn; entity presence
Content Quality & E-E-A-T20%Expertise signals, original data, author credentials
Technical Foundations15%SSR, Core Web Vitals, crawlability, mobile, security
Structured Data10%Schema completeness, JSON-LD validation, rich result eligibility
Platform Optimization10%Platform-specific readiness (Google AIO, ChatGPT, Perplexity)

Business Type Detection

Analyze homepage for patterns:

TypeSignals
SaaSPricing page, "Sign up", "Free trial", "/app", "/dashboard", API docs
Local ServicePhone number, address, "Near me", Google Maps embed, service area
E-commerceProduct pages, cart, "Add to cart", price elements, product schema
PublisherBlog, articles, bylines, publication dates, article schema
AgencyPortfolio, case studies, "Our services", client logos, testimonials
OtherDefault — 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)

#SkillDirectoryPurpose
1geo-auditskills/geo-audit/Full audit orchestration and scoring
2geo-citabilityskills/geo-citability/Passage-level AI citation readiness
3geo-crawlersskills/geo-crawlers/AI crawler access and robots.txt
4geo-llmstxtskills/geo-llmstxt/llms.txt standard analysis and generation
5geo-brand-mentionsskills/geo-brand-mentions/Brand presence on AI-cited platforms
6geo-platform-optimizerskills/geo-platform-optimizer/Platform-specific AI search optimization
7geo-schemaskills/geo-schema/Structured data for AI discoverability
8geo-technicalskills/geo-technical/Technical SEO foundations
9geo-contentskills/geo-content/Content quality and E-E-A-T
10geo-reportskills/geo-report/Client-ready deliverable generation
11geo-prospectskills/geo-prospect/CRM-lite prospect and client pipeline management
12geo-proposalskills/geo-proposal/Auto-generate client proposals from audit data
13geo-compareskills/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) and is genuinely useful for fixing the foundations you control.

What it does not do: it does not query ChatGPT, Claude, Perplexity or Google's AI 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 full audit — the live "are you actually in the answer" measurement across ChatGPT, Claude, Perplexity and Google's AI — run the free scan at areyoufoundbyai.com. These open skills score your readiness; the scanner measures your visibility. (See 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:

CommandOutput File
/geo auditGEO-AUDIT-REPORT.md
/geo pageGEO-PAGE-ANALYSIS.md
/geo citabilityGEO-CITABILITY-SCORE.md
/geo crawlersGEO-CRAWLER-ACCESS.md
/geo llmstxtllms.txt (ready to deploy)
/geo brandsGEO-BRAND-MENTIONS.md
/geo platformsGEO-PLATFORM-OPTIMIZATION.md
/geo schemaGEO-SCHEMA-REPORT.md + generated JSON-LD
/geo technicalGEO-TECHNICAL-AUDIT.md
/geo contentGEO-CONTENT-ANALYSIS.md
/geo reportGEO-CLIENT-REPORT.md (presentation-ready)
/geo report-pdfGEO-REPORT.pdf (professional PDF with charts)
/geo quickInline summary (no file)
/geo prospectUpdates ~/.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

What ships with it: 11 files

73.6 KB alongside SKILL.md, 3 of them executable

scripts/

Gives 0 of the 12 instructions most performance cost skills give in ~2.5k tokens

Counted across 797 of the 1,117 authors here whose files we hold, read 2026-09-06

  • Check for product marketing context firstin 46 of 797, across 20 files
  • Measure before optimizingin 31 of 797, across 25 files
  • Profile first to identify the actual bottleneckin 23 of 797, across 22 files
  • Verify your robots.txt allows AI crawlersin 21 of 797, across 12 files
  • Import directly and avoid barrel filesin 19 of 797, across 15 files
  • Spawn all runs in the same turnin 18 of 797, across 11 files
  • Write a draft of the skillin 17 of 797, across 10 files
  • Understand the user's intentin 17 of 797, across 10 files
  • Use React.cache for per-request deduplicationin 16 of 797, across 11 files
  • Profile before optimizingin 16 of 797, across 14 files
  • Include specific numbers with sourcesin 15 of 797, across 8 files
  • Add lazy loading to below-fold imagesin 15 of 797, across 10 files

Said here and by no other author read

  • Extract key pages from sitemap or internal links
  • Skip pages with over eighty percent content similarity
  • Run full audit before generating reports

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.