Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
shiplightai avatar

Geo Review

  • 1 installs
  • 2 repo stars
  • Updated April 19, 2026
  • shiplightai/claude-code-plugin

Evaluate content visibility to AI answer engines: citation-worthiness, structure, authority signals, llms.txt, entity clarity, and AI retrieval readiness.

About

Runs a Generative Engine Optimization review of how well an app and its content are optimized to be cited by AI engines like ChatGPT, Perplexity, and Google AI Overviews. A developer uses it when discovery happens through AI assistants or competitors appear in AI answers and they do not.

  • Checks citation-worthiness, entity clarity, llms.txt, and authority signals
  • Grounded in GEO research and E-E-A-T with fix guidance

Geo Review by the numbers

  • 1 all-time installs (skills.sh)
  • Ranked #1,710 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
  • Data as of Jul 27, 2026 (Skillselion catalog sync)
npx skills add https://github.com/shiplightai/claude-code-plugin --skill geo-review

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1
repo stars2
Last updatedApril 19, 2026
Repositoryshiplightai/claude-code-plugin

What it does

Evaluate content visibility to AI answer engines: citation-worthiness, structure, authority signals, llms.txt, entity clarity, and AI retrieval readiness.

Files

SKILL.mdMarkdownGitHub ↗

GEO Review

Evaluate how well your application and content are optimized for AI-powered search and answer engines — ChatGPT, Perplexity, Google AI Overviews, Claude, and other generative AI systems that cite web sources. Traditional SEO gets you ranked in a link list; GEO gets you cited in AI-generated answers.

When to use

Use /shiplight:geo-review when:

  • Your product is discovered through AI assistants (developer tools, SaaS, APIs)
  • You want to appear in Google AI Overviews
  • Users find your product by asking AI "what's the best X for Y?"
  • You publish documentation, guides, or educational content
  • Your competitors are showing up in AI answers and you're not
  • Building thought leadership content that AI should reference
  • Launching a new product where AI-driven discovery matters

Why GEO Matters Now

  • 40% of Gen Z uses TikTok and AI chatbots instead of Google for search (Adobe 2024)
  • Google AI Overviews now appear for ~30% of search queries, pushing traditional results below the fold
  • Perplexity processes 100M+ queries/month, citing web sources in every answer
  • ChatGPT with browsing and search is becoming a primary research tool
  • AI systems don't rank links — they select and cite sources based on different signals than traditional SEO
  • Being the source an AI quotes is the new "position #1"

Standards & Frameworks Referenced

  • GEO research (Georgia Tech / Princeton / IIT Delhi, 2024) — "GEO: Generative Engine Optimization"
  • Google E-E-A-T — Experience, Expertise, Authoritativeness, Trustworthiness
  • Schema.org — Structured data for entity understanding
  • llms.txt — Emerging standard for AI crawler instructions (similar to robots.txt for LLMs)
  • Retrieval-Augmented Generation (RAG) — How AI systems fetch and cite content

Phase Overview

Phase 1: EDUCATE   → How AI search works differently from traditional search
Phase 2: SCOPE     → Identify content types, target queries, AI visibility goals
Phase 3: ANALYZE   → Content analysis + browser-based AI search validation
Phase 4: REPORT    → Findings with citation gap analysis and confidence scores
Phase 5: REMEDIATE → Fix guidance + YAML regression tests

---

Phase 1: Educate

How AI search is different: Traditional search engines crawl, index, and rank pages by relevance signals (backlinks, keywords, authority). AI answer engines do something fundamentally different — they retrieve content, understand it semantically, and synthesize answers by selecting the most citation-worthy sources. Your content needs to be clear, specific, authoritative, and directly answerable to be selected.
Key insight: AI systems prefer content that makes specific, verifiable claims with supporting evidence. Vague marketing copy is ignored. Concrete statements with data, comparisons, and clear structure get cited.

---

Phase 2: Scope

Gather context

1. Auto-detect from codebase/content:

  • Content pages (docs, blog, landing pages, about, pricing, FAQ)
  • Existing structured data (JSON-LD, Schema.org)
  • Content management approach (static, CMS, MDX, etc.)
  • llms.txt presence
  • Sitemap and content organization
  • Author/expertise signals
  • Publication dates and freshness signals

2. Ask the user (one at a time):

  • Product type: What does your product/site do? (needed to understand AI query context)
  • Target URL: Where is the content published?
  • Target AI queries: What questions should AI answer with your content? (e.g., "best CI/CD tool for startups", "how to implement OAuth in Node.js")
  • Competitors: Who else shows up when AI answers these queries? (optional but valuable)
  • Content goals: Documentation? Thought leadership? Product discovery? All of the above?

3. Map content landscape:

  • Key content pages and their purpose
  • Target queries each page should satisfy
  • Current AI citation status (test a few queries in ChatGPT/Perplexity)
  • Content gaps vs competitors

---

Phase 3: Analyze

Open a browser session with new_session using record_evidence: true. Run all applicable check categories.

Category A: Content Citation-Worthiness (CITE)

Check IDCheckPrincipleMethod
CITE-01Content contains specific, verifiable claimsGEO researchScan pages for concrete statements with data/numbers
CITE-02Statistics and original data are presentGEO researchCheck for unique numbers, benchmarks, research findings
CITE-03Content directly answers target queriesRAG retrievalMatch content against target queries — does it contain direct answers?
CITE-04Claims have supporting evidence or citationsE-E-A-TCheck for source references, links, data attribution
CITE-05Content is specific (not generic/vague)GEO researchAnalyze content for specificity vs marketing fluff
CITE-06Comparison content exists (vs alternatives)AI preferenceCheck for "X vs Y" or comparison tables that AI can cite
CITE-07Content has clear, quotable summary sentencesCitation formatCheck if key paragraphs start with citable claims
CITE-08Unique perspective or data (not regurgitated)E-E-A-TAssess originality — does this add something AI can't already synthesize?
CITE-09Content demonstrates first-hand experienceE-E-A-T (Experience)Check for case studies, personal experience, real examples
CITE-10Technical accuracy and depthE-E-A-T (Expertise)Assess whether content goes beyond surface level

Browser validation: Navigate to content pages. Extract text content. Analyze for claim density, statistics, quotable statements. Compare against target queries for direct answer matching.

Category B: Content Structure for AI Retrieval (STRUCT)

Check IDCheckPrincipleMethod
STRUCT-01Clear heading hierarchy maps to questionsRAG chunkingCheck if H2/H3 headings are question-shaped or topic-clear
STRUCT-02FAQ sections with direct Q&A formatAI preferenceCheck for FAQ sections, question-answer pairs
STRUCT-03Definition/explanation paragraphs lead with the answerRetrievalCheck if paragraphs front-load the key claim (inverted pyramid)
STRUCT-04Tables and structured comparisons presentAI preferenceCheck for HTML tables with clear headers
STRUCT-05Content is chunked into digestible sections (300-500 words)RAG chunkingMeasure section lengths between headings
STRUCT-06Lists used for multi-point informationAI preferenceCheck for ordered/unordered lists for multi-step or multi-item content
STRUCT-07Code examples are complete and runnable (for technical content)Developer experienceCheck code blocks for completeness and language tags
STRUCT-08TL;DR or summary at top of long contentRetrievalCheck for executive summary or key takeaways section

Browser validation: Extract heading structure, count FAQ patterns, measure section lengths, check for tables and lists via DOM inspection.

Category C: Authority & Trust Signals (AUTH)

Check IDCheckPrincipleMethod
AUTH-01Author information present (name, bio, credentials)E-E-A-TCheck for author bylines, about sections
AUTH-02Organization/brand identity clearEntity recognitionCheck for About page, consistent branding
AUTH-03Publication and update dates visibleFreshnessCheck for date metadata on content pages
AUTH-04Sources and references citedE-E-A-TCheck for outbound links to authoritative sources
AUTH-05Testimonials/social proof presentTrustCheck for customer quotes, logos, case studies
AUTH-06Professional contact information availableTrustCheck for contact page, physical address, support channels
AUTH-07Content recency (updated within last 12 months)FreshnessCheck publish/update dates
AUTH-08Domain authority indicators (established site)E-E-A-TCheck site age, about page depth, team page

Browser validation: Navigate to content pages, about page, author pages. Extract dates, author info, citation links.

Category D: Technical AI Discoverability (TECH)

Check IDCheckPrincipleMethod
TECH-01llms.txt present at site rootAI crawler standardFetch /llms.txt, check format and content
TECH-02llms-full.txt with detailed content (if applicable)AI crawler standardFetch /llms-full.txt
TECH-03JSON-LD structured data with rich entity infoSchema.orgCheck for Organization, Product, Article, FAQ schema
TECH-04Content accessible without JavaScriptRAG crawlingDisable JS, check if content renders
TECH-05Clean, semantic HTML (not framework soup)CrawlabilityCheck for meaningful tags vs div-heavy DOM
TECH-06robots.txt allows AI crawlersDiscoverabilityCheck for GPTBot, ClaudeBot, PerplexityBot, Bingbot rules
TECH-07Sitemap includes content pages with lastmodDiscoverabilityCheck sitemap for content pages and dates
TECH-08Open Graph tags help AI understand contentSocial + AICheck OG tags for accurate content description
TECH-09API documentation is machine-readable (if applicable)Developer GEOCheck for OpenAPI spec, API reference format
TECH-10Content is not behind authentication wallsRAG accessVerify key content is publicly accessible

Browser validation: Fetch llms.txt, check robots.txt for AI bot rules, verify SSR content, inspect structured data.

Category E: Entity & Brand Clarity (ENTITY)

Check IDCheckPrincipleMethod
ENTITY-01Product/brand name is consistently usedEntity recognitionCheck name consistency across pages
ENTITY-02Clear product category declarationAI classificationCheck if content states "X is a [category]" explicitly
ENTITY-03Key features/differentiators stated clearlyAI comparisonCheck for feature lists, unique value propositions
ENTITY-04Use case descriptions are specificAI recommendationCheck for "best for [specific use case]" patterns
ENTITY-05Pricing/tier information is structuredAI recommendationCheck pricing page for clear, structured plans
ENTITY-06Integration/compatibility information presentAI recommendationCheck for "works with X" / integration pages
ENTITY-07Competitor differentiation is factualAI comparisonCheck comparison content for factual (not just marketing) claims
ENTITY-08Industry/vertical targeting is explicitAI classificationCheck if content targets specific industries/roles

Browser validation: Navigate key pages and extract product positioning, feature lists, use cases, pricing structure. Check for entity-clear statements.

Category F: AI Citation Testing (TEST)

This category is unique to GEO — it tests actual AI visibility.

Check IDCheckMethod
TEST-01Test target queries in PerplexityNavigate to perplexity.ai, search target queries, check if your site is cited
TEST-02Test target queries in ChatGPT (if browsing available)Search via ChatGPT, check citations
TEST-03Test target queries in Google (check AI Overview)Google search, check if AI Overview cites your content
TEST-04Compare citation frequency vs competitorsCount citations for you vs top competitors across queries
TEST-05Analyze what content IS being cited (from competitors)Study cited content format, structure, claims

Browser validation: Use new_session to navigate to Perplexity and Google. Search target queries. Screenshot results. Check for citations to the user's domain. This provides real-world evidence of current AI visibility.

Important: TEST category results are the ground truth — they show whether your content is actually being cited, regardless of what the other categories suggest.

---

Phase 4: Report

Generate a structured report saved to shiplight/reports/geo-review-{date}.md:

# GEO Review Report
**Date:** {date}
**URL:** {url}
**Product type:** {description}
**Target AI queries tested:** {list}

## Overall GEO Score: {X}/10 | Confidence: {X}%

## Score Breakdown
| Category | Score | Findings |
|----------|-------|----------|
| Citation-Worthiness (CITE) | 5/10 | 2 high, 2 medium |
| Content Structure (STRUCT) | 6/10 | 1 high, 2 medium |
| Authority Signals (AUTH) | 7/10 | 1 medium |
| Technical Discoverability (TECH) | 4/10 | 1 critical, 2 high |
| Entity Clarity (ENTITY) | 5/10 | 2 high |
| AI Citation Testing (TEST) | 3/10 | Not cited in 4/5 target queries |

## AI Citation Status
| Target Query | Perplexity | Google AI Overview | Cited? | Competitor Cited? |
|-------------|------------|-------------------|--------|------------------|
| "best X for Y" | Not cited | Not in overview | ❌ | CompetitorA: ✅ |
| "how to do Z" | Cited (#3 source) | Cited | ✅ | CompetitorB: ✅ |
| ... | | | | |

## Citation Gap Analysis
What competitors' cited content has that yours doesn't:
- Specific performance benchmarks (CompetitorA cites "40% faster than...")
- Comparison tables (CompetitorB has detailed feature matrices)
- Direct answer paragraphs (CompetitorA leads sections with the conclusion)

## Findings
(structured findings with evidence and priority)

Confidence Scoring

  • 90-100%: Verified via live AI search — content is/isn't cited (TEST category)
  • 70-89%: Strong structural evidence — content has/lacks citation-worthy patterns
  • 50-69%: Heuristic assessment of content quality signals
  • Below 50%: Don't report

---

Phase 5: Remediate

1. Fix guidance (example)

#### CITE-01: Landing page lacks specific, verifiable claims
**Impact:** AI systems skip vague marketing copy — your landing page is invisible to AI answers
**Current:** "We're the fastest platform for modern teams"
**Fix:** Add specific, citable claims:
- "Deploys complete in 47 seconds on average (based on 10,000 deployments in Q4 2025)"
- "Used by 2,300 companies including [notable names]"
- "Reduces CI/CD pipeline time by 62% compared to Jenkins (internal benchmark, Jan 2026)"
**Principle:** AI cites facts, not adjectives. Every claim should be verifiable.
#### TECH-01: No llms.txt present
**Impact:** AI crawlers have no guidance on how to understand your site
**Fix:** Create /llms.txt at site root:

# [Your Product Name]

> One-sentence description of what your product does.

## Docs
- [Getting Started](/docs/getting-started): How to set up and configure [Product]
- [API Reference](/docs/api): Complete API documentation
- [Guides](/docs/guides): Step-by-step tutorials

## Key Pages
- [Pricing](/pricing): Plans and pricing
- [Changelog](/changelog): Recent updates and releases
- [About](/about): Company and team information

Also create /llms-full.txt with expanded content for deeper AI understanding.

2. YAML regression tests

- name: tech-01-llms-txt-present
  description: Verify llms.txt exists and is properly formatted
  severity: high
  standard: llms-txt-standard
  steps:
    - URL: /llms.txt
    - VERIFY: The page loads successfully and contains structured information about the site
    - CODE: |
        const content = await page.textContent('body');
        if (!content || content.trim().length < 50) {
          throw new Error('llms.txt is missing or too short');
        }
        if (!content.includes('#')) {
          throw new Error('llms.txt should use markdown heading structure');
        }
        console.log(`llms.txt found (${content.length} chars)`);

- name: tech-06-ai-crawlers-allowed
  description: Verify robots.txt allows AI search crawlers
  severity: high
  standard: AI-Discoverability
  steps:
    - URL: /robots.txt
    - CODE: |
        const content = await page.textContent('body');
        const blockedBots = ['GPTBot', 'ClaudeBot', 'PerplexityBot', 'Google-Extended'];
        const blocked = blockedBots.filter(bot => {
          const pattern = new RegExp(`User-agent:\\s*${bot}[\\s\\S]*?Disallow:\\s*/`, 'i');
          return pattern.test(content);
        });
        if (blocked.length > 0) {
          throw new Error(`AI crawlers blocked in robots.txt: ${blocked.join(', ')}`);
        }
        console.log('All major AI crawlers are allowed');
    - VERIFY: robots.txt does not block major AI search engine crawlers

- name: cite-01-specific-claims-present
  description: Verify key pages contain specific, citable claims with data
  severity: high
  standard: GEO-Citation-Worthiness
  steps:
    - URL: /
    - CODE: |
        const text = await page.textContent('main') || await page.textContent('body');
        // Check for specific numbers/statistics
        const hasNumbers = /\d+[%xX]|\$[\d,.]+|\d{1,3}(,\d{3})+|\d+\s*(users|customers|companies|teams|downloads)/i.test(text);
        if (!hasNumbers) {
          throw new Error('Landing page lacks specific statistics or data points that AI can cite');
        }
        console.log('Found specific, citable claims with data');
    - VERIFY: Landing page contains specific statistics, benchmarks, or verifiable data points

Save all YAML tests to shiplight/tests/geo-review.test.yaml.

---

Depth Levels

  • `--quick`: llms.txt check + robots.txt AI crawler check + landing page claim analysis. ~2 minutes.
  • default: All content categories + 3 target query tests in Perplexity. ~10-15 minutes.
  • `--thorough`: All categories + full AI citation testing across multiple engines + competitor citation analysis + content gap recommendations. ~25-40 minutes.

Tips

  • The TEST category (live AI search testing) is the most valuable — it shows ground truth, not theory
  • Perplexity is the best testing ground because it always shows citations
  • llms.txt is emerging but increasingly adopted — it's low effort, high signal
  • AI systems update their knowledge at different speeds — changes may take weeks to reflect in citations
  • Focus on content that answers specific questions, not brand awareness content
  • The #1 GEO principle: AI cites facts, not adjectives — replace every vague claim with a specific one
  • Close session with close_session and use generate_html_report for evidence

Related skills

Marketing & SEOseocontent

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.