← Back to Skills Marketplace
capt-marbles

GEO Optimization

by captmarbles · GitHub ↗ · v1.1.0
cross-platform ⚠ suspicious
3606
Downloads
8
Stars
7
Active Installs
2
Versions
Install in OpenClaw
/install geo-optimization
Description
Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discoverability and citation.
README (SKILL.md)

GEO: Generative Engine Optimization

Optimize content to appear in AI-powered search engines (ChatGPT, Perplexity, Claude, Google AI Overviews). GEO is about being parseable, quotable, and authoritative — not keyword stuffing.


Quick Reference

Goal Tactic
Get cited in AI answers Add specific statistics, quotable facts
Appear in comparisons Create definitive comparison tables
Answer user questions Comprehensive FAQ sections
Establish entity Clear first-paragraph definitions
Build authority Third-party mentions, backlinks, freshness signals

GEO vs SEO: Key Differences

Aspect Traditional SEO GEO
Goal Rank on SERPs Get cited in AI responses
Keywords Exact match matters Semantic understanding
Content style Can be promotional Must be factual, neutral
Structure Headers for scanning Headers + parseable data
Links Backlinks for authority Citations + entity mentions
Freshness Helpful Critical (LLMs prefer recent)
Format Long-form wins Quotable chunks win

The GEO Audit Checklist

Score each page 0-2 points per item (0=missing, 1=partial, 2=excellent):

1. Entity Clarity (Max 10 pts)

  • First paragraph clearly defines what/who the entity is
  • Entity name used consistently throughout
  • Clear category placement ("X is a [type of thing]")
  • Relationship to other known entities stated
  • Wikipedia-style objectivity in tone

2. Quotable Facts (Max 10 pts)

  • Specific numbers present (not "many" or "fast")
  • Statistics are current and sourced
  • Claims are concrete and verifiable
  • Key facts in standalone sentences (easy to extract)
  • "By the numbers" or facts section exists

3. FAQ Coverage (Max 10 pts)

  • FAQ section exists
  • Questions match how users prompt LLMs
  • Answers are direct and complete
  • FAQ schema markup implemented
  • Covers "what is", "how does", "why", "vs" questions

4. Comparison Positioning (Max 10 pts)

  • Comparison tables exist
  • Competitors named explicitly
  • Factual differences highlighted (not just marketing)
  • "Alternative to X" content exists
  • Fair representation (not obviously biased)

5. Structural Clarity (Max 10 pts)

  • Clear heading hierarchy (H1→H2→H3)
  • Bullet points for lists
  • Tables for comparisons
  • Short paragraphs (2-4 sentences)
  • Summary/TL;DR at top or bottom

6. Authority Signals (Max 10 pts)

  • Author/company credentials stated
  • Customer names/logos (social proof)
  • Case studies with real numbers
  • Third-party mentions/citations
  • "Last updated" date present

7. Freshness (Max 10 pts)

  • Page has recent update date
  • Content reflects current year
  • No outdated references
  • Regular content updates
  • News/changelog section exists

Scoring:

  • 60-70: Excellent GEO readiness
  • 45-59: Good, needs some optimization
  • 30-44: Fair, significant gaps
  • \x3C30: Poor, major overhaul needed

Content Optimization Templates

Template 1: Entity Definition Page

# [Entity Name]

**[Entity Name]** is a [category] that [primary function]. 
Unlike [alternative/competitor], [Entity Name] offers [key differentiator].

## [Entity Name] by the Numbers

- [Specific stat 1]
- [Specific stat 2]
- [Specific stat 3]
- [Specific stat 4]

## How [Entity Name] Works

[2-3 paragraphs explaining core functionality]

## Who Uses [Entity Name]

[Named customers with context]

## Frequently Asked Questions

### What is [Entity Name]?
[Direct answer in 2-3 sentences]

### How is [Entity Name] different from [Competitor]?
[Factual comparison]

### How much does [Entity Name] cost?
[Pricing info or guidance]

*Last updated: [Date]*

Template 2: Comparison Page (Alternative To)

# Best [Competitor] Alternative: [Your Product] (2026)

> **Summary:** [Your Product] is a [category] offering [key differentiators]. 
> [Customers] report [specific result] compared to [Competitor].

*Last updated: [Date]*

## Why [Users] Look for [Competitor] Alternatives

### Problem 1: [Specific Pain Point]
[Explanation with specifics]

### Problem 2: [Specific Pain Point]
[Explanation with specifics]

## [Your Product] vs [Competitor]: Comparison

| Feature | [Competitor] | [Your Product] |
|---------|--------------|----------------|
| [Feature 1] | [Their approach] | [Your approach] |
| [Feature 2] | [Their approach] | [Your approach] |
| [Feature 3] | [Their approach] | [Your approach] |

## Key Differences

### [Differentiator 1]
[Factual explanation with numbers]

### [Differentiator 2]
[Factual explanation with numbers]

## Customer Results

> "[Quote with specific result]"
> — [Name], [Title], [Company]

## Frequently Asked Questions

### Is [Your Product] a good alternative to [Competitor]?
[Direct answer]

### How does [Your Product] compare to [Competitor] on [key factor]?
[Specific comparison]

### Can I migrate from [Competitor] to [Your Product]?
[Migration info]

## Summary

[Your Product] is a [category] offering [key benefits]. [Customers] 
using [Your Product] instead of [Competitor] report [specific results].

*[Your Product] has [credibility stat]. Learn more at [link].*

Template 3: FAQ Page (LLM Optimized)

# [Topic] FAQ

Answers to common questions about [topic].

*Last updated: [Date]*

## General Questions

### What is [thing]?
[Thing] is a [category] that [function]. It is used by [who] to [accomplish what].

### How does [thing] work?
[Thing] works by [process]. [Additional detail].

### Who uses [thing]?
[Thing] is used by [user types], including [specific examples like Company A, Company B].

## Comparison Questions

### How is [thing] different from [alternative]?
[Thing] differs from [alternative] in [specific ways]:
- [Difference 1]
- [Difference 2]
- [Difference 3]

### Is [thing] better than [alternative]?
[Thing] is better suited for [use cases] because [reasons]. 
[Alternative] may be better for [other use cases].

## Pricing & Access

### How much does [thing] cost?
[Pricing information or range]

### Is there a free trial?
[Trial information]

## Technical Questions

### What are the requirements for [thing]?
[Requirements list]

### How do I get started with [thing]?
1. [Step 1]
2. [Step 2]
3. [Step 3]

Platform-Specific Optimization

Perplexity AI

How it works: 3-layer reranking system

  1. Initial retrieval from web index
  2. Relevance scoring
  3. Citation selection based on authority + recency

Optimization tactics:

  • Strong domain authority matters
  • Freshness signals critical (update dates)
  • Direct answers to questions
  • Being cited by other authoritative sources
  • Structured data helps parsing

ChatGPT / SearchGPT

How it works: Bing-powered search + LLM synthesis

Optimization tactics:

  • Bing indexing matters (submit sitemap to Bing)
  • E-E-A-T signals weighted heavily
  • Conversational content structure
  • FAQ format highly effective
  • Named entities help recognition

Google AI Overviews

How it works: Google's index + Gemini synthesis

Optimization tactics:

  • Traditional SEO still matters (ranking helps)
  • Featured snippet optimization
  • Schema markup (FAQ, HowTo, Product)
  • Clear, authoritative content
  • Mobile-first indexing

Claude

How it works: Training data + retrieval (when web-enabled)

Optimization tactics:

  • Quality content in training sources
  • Wikipedia mentions help entity recognition
  • Technical accuracy valued
  • Clear, well-structured prose
  • Being cited in authoritative sources

Technical Implementation

Schema Markup for GEO

Organization Schema:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Company Name",
  "description": "Clear description of what company does",
  "url": "https://example.com",
  "foundingDate": "2017",
  "numberOfEmployees": "50-100",
  "sameAs": [
    "https://twitter.com/company",
    "https://linkedin.com/company/company"
  ]
}

FAQ Schema:

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "What is [thing]?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Direct answer here."
    }
  }]
}

Product Schema:

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Product Name",
  "description": "Product description",
  "brand": {"@type": "Brand", "name": "Brand"},
  "offers": {
    "@type": "Offer",
    "priceCurrency": "USD",
    "price": "99"
  }
}

llms.txt Protocol

Create /llms.txt at your site root to help LLMs understand your site:

# Site Name

> Brief description of what this site/company is.

## Main Sections

- [Products](/products): Description of products section
- [Documentation](/docs): Technical documentation
- [Blog](/blog): Industry insights and updates

## Key Facts

- Founded: 2017
- Customers: 500+ companies
- Key metric: [specific number]

## Contact

- Website: https://example.com
- Email: [email protected]

Monitoring GEO Performance

Manual Testing

Regularly search these prompts on each platform:

Perplexity:

  • "What is [your company]?"
  • "Best [competitor] alternative"
  • "[Your category] comparison"
  • "How does [your product] work?"

ChatGPT:

  • Same queries with web browsing enabled
  • "Compare [your product] vs [competitor]"

Google (AI Overview):

  • "[Your category] solutions"
  • "[Competitor] alternative"

Tracking Tools

Tool What It Tracks Price
Otterly.AI Multi-platform AI visibility Free tier
Ahrefs Brand Radar AI search mentions $129+/mo
Profound Enterprise benchmarking Enterprise
Manual tracking DIY spreadsheet Free

Key Metrics

  • Mention rate: % of relevant queries where you appear
  • Citation rate: % of mentions that cite/link to you
  • Sentiment: Positive/neutral/negative portrayal
  • Share of voice: Your mentions vs competitors
  • Position: Where in the response you appear

GEO Content Principles

DO:

  • ✅ Use specific numbers ("0.5 seconds" not "fast")
  • ✅ Make claims quotable and standalone
  • ✅ Structure content with clear hierarchy
  • ✅ Include FAQ sections
  • ✅ Update content regularly with dates
  • ✅ Create comparison content
  • ✅ Use tables for data
  • ✅ Be factual and neutral in tone
  • ✅ Name real customers and results

DON'T:

  • ❌ Use vague superlatives ("best", "leading", "top")
  • ❌ Keyword stuff (LLMs see through it)
  • ❌ Write walls of text without structure
  • ❌ Hide information (be comprehensive)
  • ❌ Use outdated statistics
  • ❌ Ignore competitors (address them directly)
  • ❌ Be obviously promotional (neutral wins)

Quick Start Checklist

For any page you want to optimize for GEO:

  1. Add clear entity definition in first paragraph
  2. Include 5+ specific, quotable statistics
  3. Add FAQ section with 5+ questions
  4. Create comparison table (if relevant)
  5. Add "last updated" date
  6. Implement FAQ schema markup
  7. Ensure H1→H2→H3 hierarchy
  8. Test on Perplexity: does your content appear?

Automated GEO Monitoring

Track your citation rate over time with the included monitoring scripts!

Quick Start

Test current visibility:

python3 scripts/geo-monitor.py --test

Single query test:

python3 scripts/geo-monitor.py --query "best game server orchestration platform"

Generate daily report:

python3 scripts/geo-daily-report.py

Setup Automated Monitoring

1. Create your test queries file (scripts/geo-test-queries.json):

{
  "queries": [
    {
      "query": "your target query here",
      "category": "brand|product|comparison|problem|competitor"
    }
  ]
}

2. Run daily monitoring:

# Add to cron for daily 9am checks
0 9 * * * cd /path/to/skill && bash scripts/geo-daily-monitor.sh

Understanding the Reports

Citation Rate: Percentage of queries where you appear in AI responses

  • 0-20%: Early stage, needs work
  • 20-40%: Building visibility
  • 40-60%: Strong presence
  • 60%+: Dominant authority

Categories tracked:

  • Brand queries (you should own these!)
  • Product/feature queries
  • Comparison queries (vs competitors)
  • Problem/pain point queries
  • Competitor comparison queries

Monitoring Best Practices

  1. Start with 15-20 strategic queries across all categories
  2. Test daily during optimization period (first 2 weeks)
  3. Weekly checks once you hit target citation rate
  4. Track changes after content updates (expect 3-7 day lag)
  5. Focus on gaps - queries with 0% citation are your opportunities

What to Track

Current state:

  • Total citation rate
  • Citations by category
  • Position when cited (#1, #2, etc.)
  • Critical gaps (0% coverage)

Over time:

  • Citation rate trend (weekly/monthly)
  • New citations gained
  • Lost citations (content freshness!)
  • Category improvements

Files Included

  • scripts/geo-monitor.py - Main testing script (uses Perplexity API)
  • scripts/geo-daily-report.py - Formatted report generator
  • scripts/geo-daily-monitor.sh - Cron-friendly wrapper
  • scripts/geo-test-queries.json - Example query file

Requirements: Perplexity API key (configure via web_search in Clawdbot)


Resources

Usage Guidance
Before installing: inspect the three scripts (geo-monitor.py, geo-daily-report.py, geo-daily-monitor.sh). Look for network endpoints, hardcoded API keys, or subprocess calls; confirm whether they call LLM/search APIs and which credentials they expect. Ask the publisher for a homepage or source repository and a README explaining dependencies and required env vars. If you must run them, do so in a sandboxed environment and avoid supplying production API keys until you verify exactly what data they send and to whom. If you cannot review the scripts, treat the skill as higher-risk and avoid granting credentials. Additional helpful info from the author: exact runtime steps, dependency list, example config with non-sensitive values, and a clear privacy notice describing any telemetry or external queries.
Capability Analysis
Type: OpenClaw Skill Name: geo-optimization Version: 1.1.0 The skill bundle is primarily documentation and Python/Bash scripts for Generative Engine Optimization (GEO) monitoring. It uses a Perplexity AI API key (expected to be in the environment or .env file) to perform web searches, which is aligned with its stated purpose. However, the `scripts/geo-daily-monitor.sh` script contains a hardcoded `WORKSPACE="/Users/awalker/clawd"` path. This path is specific to a user's home directory and could lead to operational failures or unintended file access if the script is executed in an environment where this path does not exist or belongs to a different user, indicating a significant misconfiguration or lack of robustness, thus classifying it as suspicious rather than benign.
Capability Assessment
Purpose & Capability
The SKILL.md is a content-focused GEO audit and templates (no mention of API calls), yet the package contains three executable scripts (geo-monitor.py, geo-daily-report.py, geo-daily-monitor.sh). Those scripts imply automation/monitoring and likely make network requests or require API keys; the skill declares no required env vars, binaries, or install steps, which is disproportionate to the presence of automation code.
Instruction Scope
The SKILL.md instructions themselves are narrowly scoped to writing content and performing audits (no instructions to read local config or exfiltrate data). However, the presence of monitoring/reporting scripts expands the runtime surface in ways not described by SKILL.md — the instructions do not document when/how those scripts run or what data they access.
Install Mechanism
There is no install spec (instruction-only), so nothing will be auto-downloaded by the registry. That reduces risk, but the provided scripts will run only if the agent or user executes them. The lack of declared dependencies for the Python and shell scripts is a documentation gap.
Credentials
No required environment variables or primary credential are declared, yet monitoring scripts commonly require API keys (OpenAI, search engines, or scraping proxies). The absence of declared credentials is inconsistent with the code presence and creates uncertainty about where sensitive keys would be needed or stored.
Persistence & Privilege
The skill does not request persistent/always-on inclusion and does not set disableModelInvocation flags; defaults allow model invocation but the skill is not force-included. There is no declared elevated system privilege or config-path access.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install geo-optimization
  3. After installation, invoke the skill by name or use /geo-optimization
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.0
Added automated monitoring tools: geo-monitor.py for testing citation rates, geo-daily-report.py for formatted reports, and example query file for tracking AI search visibility over time
v1.0.0
Initial release: Complete GEO (Generative Engine Optimization) skill for AI search visibility. Includes audit checklist, content templates, platform-specific tactics, schema markup examples, and monitoring guidance.
Metadata
Slug geo-optimization
Version 1.1.0
License
All-time Installs 7
Active Installs 7
Total Versions 2
Frequently Asked Questions

What is GEO Optimization?

Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discoverability and citation. It is an AI Agent Skill for Claude Code / OpenClaw, with 3606 downloads so far.

How do I install GEO Optimization?

Run "/install geo-optimization" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is GEO Optimization free?

Yes, GEO Optimization is completely free (open-source). You can download, install and use it at no cost.

Which platforms does GEO Optimization support?

GEO Optimization is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created GEO Optimization?

It is built and maintained by captmarbles (@capt-marbles); the current version is v1.1.0.

💬 Comments