🚀 One command. Premium results.
Rank higher in ChatGPT, Perplexity, Claude, and Gemini.
📖 Docs • 🐛 Issues • 💬 Discussions • 📝 Research Paper
🤖 AI-Assisted Development — See what's AI-generated vs human-authored
|
E-GEO is an open-source Generative Engine Optimization (GEO) and Answer Engine Optimization (AEO) toolkit that transforms your website content to rank higher in AI-powered search engines — including ChatGPT, Perplexity, Google AI Overviews, Claude, and Gemini. Also known as AI SEO or LLM SEO, GEO is the practice of optimizing content so that generative AI engines can crawl, understand, cite, and recommend it. E-GEO automates this entire process. Based on the E-GEO research paper (arXiv:2511.20867), it applies the 10 universal features that consistently improve AI-engine rankings — competitive framing, citation optimization, structured data, and semantic density improvements backed by peer-reviewed findings.
|
/geo https://yoursite.com/pricing↓ |
AI search engines give one synthesized answer and cite a handful of sources. If your site isn't one of them, you're invisible — even if you rank #1 on Google.
User asks ChatGPT: "What's the best GEO tool?"
ChatGPT: "According to [Competitor], the best tool is..."
↑ They get cited. You don't.
- ChatGPT serves 900M+ weekly users — a growing share of sessions that used to be Google searches.
- 28.3% of ChatGPT's most-cited pages have zero organic visibility on Google (Ahrefs) — AI engines reward different signals than classic SEO.
- Proper JSON-LD schema lifts LLM extraction accuracy from 16% to 54% (Semrush study on GPT-4).
- 844,000+ sites already ship an
llms.txt. Is yours one of them?
Traditional SEO optimizes for blue links. GEO optimizes for citations in AI-generated answers. E-GEO is the open-source tool that bridges this gap.
Copy the .claude/ folder to your project:
cp -r /path/to/eGEOagents/.claude .In Claude Code, switch to GEO mode:
/output-style geo-optimizer
Run your first optimization:
/geo https://yoursite.com
Install the complete skill collection:
npx skills add https://github.com/mverab/eGEOagentsInstall one skill only:
npx skills add https://github.com/mverab/eGEOagents --skill competitive-analysisValidate parser discovery before shipping updates:
npx skills add https://github.com/mverab/eGEOagents --listVerify indexing pages:
- Collection: skills.sh/mverab/egeoagents
- Owner: skills.sh/mverab
| Command | What it does |
|---|---|
/geo <url> |
Full pipeline - Analyze, rank, rewrite, schema |
/geo:audit <url> |
Analysis only, no changes |
/geo:optimize <file> |
Optimize local content file |
/geo:batch <folder> |
Process entire folder |
/geo:report |
Generate executive report |
/geo:compete <query> |
Competitive analysis |
After running /geo:
geo-output/
├── report.md # Executive summary + scores
├── analysis.json # Raw analysis data
├── optimized/
│ └── pricing.md # Rewritten content (ready to use)
├── schema/
│ └── pricing.json # JSON-LD markup (copy to site)
└── checklist.md # Step-by-step implementation
E-GEO is grounded in peer-reviewed research from the E-GEO research paper (arXiv:2511.20867), building on foundational work by Aggarwal et al. (Princeton, KDD 2024) — the original study that defined Generative Engine Optimization as a discipline.
The E-GEO paper reports that:
- Competitive framing produces the strongest immediate ranking lift among all GEO strategies tested.
- A universal optimization strategy (applying all 10 features together) outperforms individual heuristics by a wide margin.
- The 10 GEO features (ranking emphasis, user intent matching, competitive edge, social proof, authority signals, scannability, citation density, structured data, factual language, and freshness) consistently appear in higher-ranking content across ChatGPT, Perplexity, and Gemini.
| Feature | What E-GEO Does |
|---|---|
| Ranking Emphasis | Positions your content as the top choice |
| User Intent | Directly answers what users are looking for |
| Competitive Edge | Highlights your unique advantages |
| Social Proof | Integrates trust signals and testimonials |
| Authority | Establishes expert, confident tone |
| Scannability | Structures for easy AI parsing |
Results vary by content quality and competition. See the paper for full methodology and findings: arXiv:2511.20867.
E-GEO ships an evaluation harness so you can measure prompt quality yourself — no trust required. It scores whether the GEO rewriter moves a target item up in an LLM-simulated ranking.
pip install pyyaml jsonschema
# Deterministic, offline smoke run (no API key needed)
GEO_EVAL_MOCK=1 python geo_eval.py evaluate \
--dataset eval/datasets/geo_smoke.jsonl --limit 5 --verboseThis is the exact check that runs in CI on every
pull request. Reported metrics: avg_rank_improvement, win_rate, and
stderr_rank_improvement.
Honest scope: these numbers are a proxy produced by an LLM-ranker, not a measurement of real ChatGPT/Perplexity rankings. See docs/evaluation.md for the full methodology, metric definitions, and limitations.
Beyond Claude Code, E-GEO ships a runtime-agnostic command line so the same
GEO engine runs anywhere Python runs — local shells, notebooks, Docker, or CI.
The CLI is a thin wrapper around the exact same geo_eval.py and
llm_client.py modules used by the Claude Code agents, so there is no
duplicated optimization logic — both runtimes share one source of truth.
# From the repo root — installs the `egeo` console script + deps
pip install -e .
# ...or run without installing (deps: pip install pyyaml jsonschema)
python -m egeo --help| Command | What it does |
|---|---|
egeo optimize <file> |
Full pipeline — analyze → rank → rewrite → schema, writes report.md, optimized/*.md, schema/*.json, analysis.json |
egeo evaluate |
Run the evaluation harness (reuses geo_eval.py, identical metrics) |
egeo optimize-prompts |
Meta-optimize the rewriter prompt (non-destructive by default) |
egeo runtimes |
List available runtime adapters and their status |
# Optimize a local content file (output dir defaults to ./geo-output)
egeo optimize examples/sample-input.md --out-dir ./geo-output
# Score prompt quality on a dataset
egeo evaluate --dataset eval/datasets/geo_smoke.jsonl --limit 5
# Inspect the runtime adapters
egeo runtimesEvery command honors GEO_EVAL_MOCK=1, which swaps in a deterministic mock LLM
client — no API key required. This is exactly how the CLI is exercised in
CI:
GEO_EVAL_MOCK=1 egeo optimize examples/sample-input.md --out-dir /tmp/egeo
GEO_EVAL_MOCK=1 egeo evaluate --dataset eval/datasets/geo_smoke.jsonl --limit 3E-GEO exposes a small runtime adapter layer so the same agents (Analyzer, Ranker, Rewriter, Indexer) can be driven by different execution hosts:
| Runtime | Aliases | Mode | Status | Description |
|---|---|---|---|---|
python |
cli, local |
in-process | ✅ Available | Pure-Python runtime behind the egeo CLI. Runs the full pipeline in-process and honors GEO_EVAL_MOCK for offline, deterministic runs. |
claude-code |
claude |
host-executed | ✅ Available | Executes the .claude/ agents through Claude Code /geo slash commands on the host. Auto-detected when a .claude/ directory is present. |
Run
egeo runtimesto print the live status of each adapter in your environment. Additional hosts (Cursor, Codex, Windsurf, …) can be added by implementing theRuntimeAdapterinterface inegeo/runtimes.py.
| Feature | E-GEO | GEO Optimizer | GEO-optim/GEO | Awesome GEO | Traditional SEO |
|---|---|---|---|---|---|
| Type | CLI + Claude Code | CLI + MCP | Research repo | Curated list | — |
| Content Rewriting | ✅ Full pipeline | ❌ | ❌ | ❌ No | |
| AI-Ranking Simulation | ✅ LLM-based | ❌ | ❌ | ❌ | ❌ No |
| Schema Generation | ✅ Auto JSON-LD | ❌ | ❌ | ❌ Manual | |
| Competitive Analysis | ✅ Built-in | ❌ | ❌ | ❌ | ❌ No |
| Academic Foundation | ✅ arXiv:2511.20867 | ✅ KDD 2024 | ✅ Original GEO paper | ❌ | ❌ Heuristics |
| Multi-Runtime | ✅ Python + Claude Code | ✅ Python + MCP | ❌ | ❌ | ❌ |
| llms.txt Support | ✅ | ✅ | ❌ | 📖 Listed | ❌ |
| Cost | Free / MIT | Free / MIT | Free | Free | Expensive |
E-GEO is the only open-source GEO tool that combines content rewriting, ranking simulation, and schema generation in a single pipeline. Others focus on auditing or listing — E-GEO does the full optimization.
E-GEO delivers outputs that look like they came from a $100M company:
┌─────────────────────────────────────────────────────────────┐
│ 🎯 GEO AUDIT REPORT │
├─────────────────────────────────────────────────────────────┤
│ URL: yoursite.com/pricing │
│ Score: 78/100 │
│ Ranking Potential: ████████░░ 78% │
├─────────────────────────────────────────────────────────────┤
│ │
│ ✅ STRENGTHS │
│ • Clear value proposition │
│ • Good content structure │
│ │
│ ⚠️ GAPS │
│ • Missing social proof → Add customer count │
│ • No urgency signals → Add limited-time offer │
│ │
│ 📈 PRIORITY ACTIONS │
│ 1. Add testimonials (+15 points) │
│ 2. Include pricing comparison (+10 points) │
│ 3. Add schema markup (+5 points) │
│ │
└─────────────────────────────────────────────────────────────┘
E-GEO uses 4 specialized AI agents orchestrated by Claude Code:
| Agent | What it does | Output |
|---|---|---|
| 🔍 Analyzer | Extracts content, scores GEO signals, identifies gaps | analysis.json |
| 📊 Ranker | Simulates AI-engine ranking, predicts positions | Baseline score |
| ✍️ Rewriter | Optimizes content while preserving brand voice | optimized/*.md |
| 🗂️ Indexer | Generates schema markup and technical assets | schema/*.json |
.claude/
├── CLAUDE.md # System knowledge base
├── output-styles/
│ └── geo-optimizer.md # Premium formatting mode
├── agents/
│ ├── geo-analyzer.md # Content analysis
│ ├── geo-rewriter.md # Content optimization
│ ├── geo-ranker.md # Ranking simulation
│ └── geo-indexer.md # Schema generation
├── skills/
│ ├── competitive-analysis/ # Auto-triggered competitor analysis
│ ├── content-scoring/ # Auto-triggered scoring
│ └── schema-generator/ # Auto-triggered schema
└── commands/
├── geo.md # Main command
├── geo-audit.md
├── geo-optimize.md
├── geo-batch.md
├── geo-report.md
└── geo-compete.md
|
🚀 SaaS Founders AI-engine traffic |
💼 B2B Marketers Landing pages |
🛍️ E-commerce Product descriptions |
✍️ Content Creators AI discoverability |
🏢 Agencies GEO services |
| Resource | Description |
|---|---|
| 📖 Getting Started | Step-by-step tutorial |
| ⚙️ How It Works | Technical deep dive |
| ❓ FAQ | Common questions answered |
| 🧩 skills.sh Playbook | Listing, ranking, and metadata checklist |
| 🧪 Evaluation Harness | Dataset format, commands, metrics, and honest limitations |
| 📝 Usage Guide | Complete command reference |
| 📝 Research Paper | The science behind E-GEO |
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Quick ways to contribute:
- Report bugs via issues
- Submit pull requests for features
- Improve documentation
- Share your GEO results
E-GEO covers the full spectrum of AI search optimization. If you're searching for any of these, you're in the right place:
| Term | What it means |
|---|---|
| GEO (Generative Engine Optimization) | Optimizing content for AI answer engines like ChatGPT, Perplexity, Gemini |
| AEO (Answer Engine Optimization) | Structuring content so AI engines can parse and cite it |
| AI SEO | Adapting traditional SEO for AI-powered search |
| LLM SEO | Optimization specifically for large language model responses |
| AI Visibility | How often and how well your brand appears in AI-generated answers |
| Citation Tracking | Monitoring whether AI engines cite your site as a source |
| llms.txt | A standard file (like robots.txt) that tells AI crawlers what content to prioritize |
MIT License - use it, modify it, sell with it. See LICENSE for details.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Research: E-GEO Paper (arXiv:2511.20867)
# Install
cp -r eGEOagents/.claude .
# Activate (in Claude Code)
/output-style geo-optimizer
# Optimize your first page
/geo https://yoursite.comBuilt for the AI-first web — optimize your content for ChatGPT, Perplexity, Claude, and Gemini with E-GEO, the open-source GEO tool. 🌐
Made with ❤️ by Vera Badias • Based on research from arXiv:2511.20867
🤖 This project is AI-assisted. See AI Transparency for details.
