agentleFS
Ormus-SolutionsOrmus-Solutions/LibreGEO-Claude-Code/skills/geo-audit/SKILL.md

geo-audit

Skill1 starsChanged 43 days agoMITView on GitHub

Full-site GEO and SEO audit: discovers the site and its business type, runs citability, brand, crawler and llms.txt, content, and schema analyses as parallel subagents, and returns a composite GEO Score (0-100) with issues by severity and a prioritized action plan. Use when the user wants a complete AI search visibility audit of a website, such as a local business, SaaS, or e-commerce site.

20 other projects use a version of this, 4 of them edited.

Adopted by

Most recently taken up by

Used with

Projects with it also use seo-local and seo-schema.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • mangollcSkill

    seo-local

    Local SEO optimization: Google Business Profile post generation, 30-day posting calendars, NAP consistency checks, local citation audits, review response templates, local keywords.

    Also in 3 projects that use this

  • megastepSkill

    seo-schema

    Detect, validate, and generate Schema.org structured data. JSON-LD format preferred. Use when user says "schema", "structured data", "rich results", "JSON-LD", or "markup".

    Also in 3 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

27 rules. 0 are common, 27 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 18 edited versions we read keep these.

  • 27

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use WebFetch to retrieve the homepage at the provided URL.

    line 31
  2. Distinctive:

    If sitemap exists, extract up to 50 unique page URLs prioritized by:

    line 57
  3. Distinctive:

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

    line 63
  4. Distinctive:

    Follow up to 2 levels deep

    line 65
  5. Distinctive:

    Check brand presence across YouTube, Reddit, Wikipedia, LinkedIn

    line 95
  6. Distinctive:

    Check for llms.txt presence and quality

    line 101
  7. Distinctive:

    Verify meta tags, headers, and technical accessibility for AI systems

    line 102
  8. Distinctive:

    Check page speed and rendering (JS-heavy sites are harder for AI crawlers)

    line 103
  9. Distinctive:

    Check author bios, credentials, source citations

    line 107
  10. Distinctive:

    Verify "About" page quality and team credentials

    line 109
  11. Distinctive:

    Check for GEO-critical schema types (FAQ, HowTo, Organization, Product, Article)

    line 113
  12. Distinctive:

    Every issue found during the audit is classified by severity:

    line 153
  13. Distinctive:

    All AI crawlers blocked in robots.txt

    line 156
  14. Distinctive:

    No indexable content (JavaScript-rendered only with no SSR)

    line 157
  15. Distinctive:

    No llms.txt file present

    line 165
  16. Distinctive:

    No author attribution on content pages

    line 168
  17. Distinctive:

    All content behind login/paywall with no preview

    line 169
  18. Distinctive:

    No Wikipedia or Reddit brand presence

    line 177
  19. Distinctive:

    Page Limit: Never crawl more than 50 pages per audit.

    line 302
  20. Distinctive:

    Robots.txt: Always check and respect robots.txt before crawling.

    line 304
  21. Distinctive:

    Rate Limiting: Wait at least 1 second between page fetches to avoid overloading the server.

    line 305
  22. Distinctive:

    Content Type: Only analyze HTML pages. Skip PDFs, images, and other binary content.

    line 307
  23. Distinctive:

    Check for: API documentation structure, changelog pages, knowledge base organization

    line 316
  24. Distinctive:

    Check for: Service area pages, location-specific content, review markup

    line 321
  25. Distinctive:

    Check for: Product schema completeness, review aggregation, FAQ sections on product pages

    line 326
  26. Distinctive:

    Check for: Article schema, author pages, publication date freshness, original research

    line 331
  27. Distinctive:

    Check for: Portfolio schema, team credentials, industry-specific expertise signals

    line 336

“Common” is measured: kept by at least 6 in 10 of the 18 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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.

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.


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 TypeDetection Signals
SaaSPricing page, "Sign up" / "Free trial" CTAs, app.domain.com subdomain, feature comparison tables, integration pages
Local BusinessPhysical address on homepage, Google Maps embed, "Near me" content, LocalBusiness schema, service area pages
E-commerceProduct listings, shopping cart, product schema, category pages, price displays, "Add to cart" buttons
PublisherBlog-heavy navigation, article schema, author pages, date-based archives, RSS feeds, high content volume
Agency/ServicesCase studies, portfolio, "Our Work" section, team page, client logos, service descriptions
HybridCombination 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 alt text
  • Open Graph and Twitter Card meta tags
  • Response status code
  • Whether the page has structured data

Phase 2: Parallel Subagent Delegation

Delegate analysis to 5 specialized subagents. Each subagent operates on the collected page data and produces a category score (0-100) plus findings.

Subagent 1: AI Citability Analysis (geo-citability)

  • Analyze content blocks for quotability by AI systems
  • Score passage self-containment, answer block quality, statistical density
  • Identify high-value pages that could be reformatted for better AI citation

Subagent 2: Platform & Brand Analysis (geo-brand-mentions)

  • Check brand presence across YouTube, Reddit, Wikipedia, LinkedIn
  • Assess third-party mention volume and sentiment
  • Score brand authority signals that AI models use for entity recognition

Subagent 3: Technical GEO Infrastructure (geo-crawlers + geo-llmstxt)

  • Analyze robots.txt for AI crawler access
  • Check for llms.txt presence and quality
  • Verify meta tags, headers, and technical accessibility for AI systems
  • Check page speed and rendering (JS-heavy sites are harder for AI crawlers)

Subagent 4: Content E-E-A-T Quality (geo-content)

  • Evaluate Experience, Expertise, Authoritativeness, Trustworthiness signals
  • Check author bios, credentials, source citations
  • Assess content freshness, depth, and originality
  • Verify "About" page quality and team credentials

Subagent 5: Schema & Structured Data (geo-schema)

  • Validate all schema.org markup
  • Check for GEO-critical schema types (FAQ, HowTo, Organization, Product, Article)
  • Assess schema completeness and accuracy
  • Identify missing schema opportunities

Phase 3: Score Aggregation and Report Generation

Composite GEO Score Calculation

The overall GEO Score (0-100) is a weighted average of six category scores:

CategoryWeightWhat It Measures
AI Citability25%How quotable/extractable content is for AI systems
Brand Authority20%Third-party mentions, entity recognition signals
Content E-E-A-T20%Experience, Expertise, Authoritativeness, Trustworthiness
Technical GEO15%AI crawler access, llms.txt, rendering, speed
Schema & Structured Data10%Schema.org markup quality and completeness
Platform Optimization10%Presence on platforms AI models train on and cite

Formula:

GEO_Score = (Citability * 0.25) + (Brand * 0.20) + (EEAT * 0.20) + (Technical * 0.15) + (Schema * 0.10) + (Platform * 0.10)

Score Interpretation

Score RangeRatingInterpretation
90-100ExcellentTop-tier GEO optimization; site is highly likely to be cited by AI
75-89GoodStrong GEO foundation with room for improvement
60-74FairModerate GEO presence; significant optimization opportunities exist
40-59PoorWeak GEO signals; AI systems may struggle to cite or recommend
0-39CriticalMinimal GEO optimization; site is largely invisible to AI systems

Issue Severity Classification

Every issue found during the audit is classified by severity:

Critical (Fix Immediately)

  • All AI crawlers blocked in robots.txt
  • No indexable content (JavaScript-rendered only with no SSR)
  • Domain-level noindex directive
  • Site returns 5xx errors on key pages
  • Complete absence of any structured data
  • Brand not recognized as an entity by any AI system

High (Fix Within 1 Week)

  • Key AI crawlers (GPTBot, ClaudeBot, PerplexityBot) blocked
  • No llms.txt file present
  • Zero question-answering content blocks on key pages
  • Missing Organization or LocalBusiness schema
  • No author attribution on content pages
  • All content behind login/paywall with no preview

Medium (Fix Within 1 Month)

  • Partial AI crawler blocking (some allowed, some blocked)
  • llms.txt exists but is incomplete or malformed
  • Content blocks average under 50 citability score
  • Missing FAQ schema on pages with FAQ content
  • Thin author bios without credentials
  • No Wikipedia or Reddit brand presence

Low (Optimize When Possible)

  • Minor schema validation errors
  • Some images missing alt text
  • Content freshness issues on non-critical pages
  • Missing Open Graph tags
  • Suboptimal heading hierarchy on some pages
  • LinkedIn company page exists but is incomplete

Output Format

Generate a file called GEO-AUDIT-REPORT.md with the following structure:

# GEO Audit Report: [Site Name]

**Audit Date:** [Date]
**URL:** [URL]
**Business Type:** [Detected Type]
**Pages Analyzed:** [Count]

---

## Executive Summary

**Overall GEO Score: [X]/100 ([Rating])**

[2-3 sentence summary of the site's GEO health, biggest strengths, and most critical gaps.]

### Score Breakdown

| Category | Score | Weight | Weighted Score |
|---|---|---|---|
| AI Citability | [X]/100 | 25% | [X] |
| Brand Authority | [X]/100 | 20% | [X] |
| Content E-E-A-T | [X]/100 | 20% | [X] |
| Technical GEO | [X]/100 | 15% | [X] |
| Schema & Structured Data | [X]/100 | 10% | [X] |
| Platform Optimization | [X]/100 | 10% | [X] |
| **Overall GEO Score** | | | **[X]/100** |

---

## Critical Issues (Fix Immediately)

[List each critical issue with specific page URLs and recommended fix]

## High Priority Issues

[List each high-priority issue with details]

## Medium Priority Issues

[List each medium-priority issue]

## Low Priority Issues

[List each low-priority issue]

---

## Category Deep Dives

### AI Citability ([X]/100)
[Detailed findings, examples of good/bad passages, rewrite suggestions]

### Brand Authority ([X]/100)
[Platform presence map, mention volume, sentiment]

### Content E-E-A-T ([X]/100)
[Author quality, source citations, freshness, depth]

### Technical GEO ([X]/100)
[Crawler access, llms.txt, rendering, headers]

### Schema & Structured Data ([X]/100)
[Schema types found, validation results, missing opportunities]

### Platform Optimization ([X]/100)
[Presence on YouTube, Reddit, Wikipedia, etc.]

---

## Quick Wins (Implement This Week)

1. [Specific, actionable quick win with expected impact]
2. [Another quick win]
3. [Another quick win]
4. [Another quick win]
5. [Another quick win]

## 30-Day Action Plan

### Week 1: [Theme]
- [ ] Action item 1
- [ ] Action item 2

### Week 2: [Theme]
- [ ] Action item 1
- [ ] Action item 2

### Week 3: [Theme]
- [ ] Action item 1
- [ ] Action item 2

### Week 4: [Theme]
- [ ] Action item 1
- [ ] Action item 2

---

## Appendix: Pages Analyzed

| URL | Title | GEO Issues |
|---|---|---|
| [url] | [title] | [issue count] |

Quality Gates

  • Page Limit: Never crawl more than 50 pages per audit. Prioritize high-value pages.
  • Timeout: 30-second maximum per page fetch. Skip pages that exceed this.
  • Robots.txt: Always check and respect robots.txt before crawling. Note any AI-specific directives.
  • Rate Limiting: Wait at least 1 second between page fetches to avoid overloading the server.
  • Error Handling: Log failed fetches but continue the audit. Report fetch failures in the appendix.
  • Content Type: Only analyze HTML pages. Skip PDFs, images, and other binary content.
  • Deduplication: Canonicalize URLs before crawling. Skip duplicate content (e.g., HTTP vs HTTPS, www vs non-www, trailing slashes).

Business-Type-Specific Audit Adjustments

SaaS Sites

  • Extra weight on: Feature comparison tables (high citability), integration pages, documentation quality
  • Check for: API documentation structure, changelog pages, knowledge base organization
  • Key schema: SoftwareApplication, FAQPage, HowTo

Local Businesses

  • Extra weight on: NAP consistency, Google Business Profile signals, local schema
  • Check for: Service area pages, location-specific content, review markup
  • Key schema: LocalBusiness, GeoCoordinates, OpeningHoursSpecification

E-commerce Sites

  • Extra weight on: Product descriptions (citability), comparison content, buying guides
  • Check for: Product schema completeness, review aggregation, FAQ sections on product pages
  • Key schema: Product, AggregateRating, Offer, BreadcrumbList

Publishers

  • Extra weight on: Article quality, author credentials, source citation practices
  • Check for: Article schema, author pages, publication date freshness, original research
  • Key schema: Article, NewsArticle, Person (author), ClaimReview

Agency/Services

  • Extra weight on: Case studies (citability), expertise demonstration, thought leadership
  • Check for: Portfolio schema, team credentials, industry-specific expertise signals
  • Key schema: Organization, Service, Person (team), Review

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.