bundled-skills/seo-geo/SKILL.md
Optimize content for AI Overviews, ChatGPT, Perplexity, and other AI search systems. Use when improving GEO, AI citations, llms.txt readiness, crawler accessibility, and passage-level citability.
npx skillsauth add FrancoStino/opencode-skills-antigravity seo-geoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Metric | Value | Source | |--------|-------|--------| | AI Overviews reach | 1.5 billion users/month across 200+ countries | Google | | AI Overviews query coverage | 50%+ of all queries | Industry data | | AI-referred sessions growth | 527% (Jan-May 2025) | SparkToro | | ChatGPT weekly active users | 900 million | OpenAI | | Perplexity monthly queries | 500+ million | Perplexity |
Brand mentions correlate 3x more strongly with AI visibility than backlinks. (Ahrefs December 2025 study of 75,000 brands)
| Signal | Correlation with AI Citations | |--------|------------------------------| | YouTube mentions | ~0.737 (strongest) | | Reddit mentions | High | | Wikipedia presence | High | | LinkedIn presence | Moderate | | Domain Rating (backlinks) | ~0.266 (weak) |
Only 11% of domains are cited by both ChatGPT and Google AI Overviews for the same query, so platform-specific optimization is essential.
Optimal passage length: 134-167 words for AI citation.
Strong signals:
Weak signals:
92% of AI Overview citations come from top-10 ranking pages, but 47% come from pages ranking below position 5, demonstrating different selection logic.
Strong signals:
Weak signals:
Content with multi-modal elements sees 156% higher selection rates.
Check for:
Strong signals:
Weak signals:
AI crawlers do NOT execute JavaScript. Server-side rendering is critical.
Check for:
Check robots.txt for these AI crawlers:
| Crawler | Owner | Purpose | |---------|-------|---------| | GPTBot | OpenAI | ChatGPT web search | | OAI-SearchBot | OpenAI | OpenAI search features | | ChatGPT-User | OpenAI | ChatGPT browsing | | ClaudeBot | Anthropic | Claude web features | | PerplexityBot | Perplexity | Perplexity AI search | | CCBot | Common Crawl | Training data (often blocked) | | anthropic-ai | Anthropic | Claude training | | Bytespider | ByteDance | TikTok/Douyin AI | | cohere-ai | Cohere | Cohere models |
Recommendation: Allow GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot for AI search visibility. Block CCBot and training crawlers if desired.
The emerging llms.txt standard provides AI crawlers with structured content guidance.
Location: /llms.txt (root of domain)
Format:
# Title of site
> Brief description
## Main sections
- `Page title -> https://example.com/page`: Description
- `Another page -> https://example.com/another-page`: Description
## Optional: Key facts
- Fact 1
- Fact 2
Check for:
/llms.txtNew standard (December 2025) for machine-readable AI licensing terms.
Backed by: Reddit, Yahoo, Medium, Quora, Cloudflare, Akamai, Creative Commons
Check for: RSL implementation and appropriate licensing terms.
| Platform | Key Citation Sources | Optimization Focus | |----------|---------------------|-------------------| | Google AI Overviews | Top-10 ranking pages (92%) | Traditional SEO + passage optimization | | ChatGPT | Wikipedia (47.9%), Reddit (11.3%) | Entity presence, authoritative sources | | Perplexity | Reddit (46.7%), Wikipedia | Community validation, discussions | | Bing Copilot | Bing index, authoritative sites | Bing SEO, IndexNow |
Generate GEO-ANALYSIS.md with:
/llms.txt fileIf DataForSEO MCP tools are available, use ai_optimization_chat_gpt_scraper to check what ChatGPT web search returns for target queries (real GEO visibility check) and ai_opt_llm_ment_search with ai_opt_llm_ment_top_domains for LLM mention tracking across AI platforms.
| Scenario | Action | |----------|--------| | URL unreachable (DNS failure, connection refused) | Report the error clearly. Do not guess site content. Suggest the user verify the URL and try again. | | AI crawlers blocked by robots.txt | Report exactly which crawlers are blocked and which are allowed. Provide specific robots.txt directives to add for enabling AI search visibility. | | No llms.txt found | Note the absence and provide a ready-to-use llms.txt template based on the site's content structure. | | No structured data detected | Report the gap and provide specific schema recommendations (Article, Organization, Person) for improving AI discoverability. |
research
Skill for academic research workflows: search Semantic Scholar (200M+ papers), inspect citations, download arXiv PDFs, and extract PDF text. Bundles a self-contained Python CLI.
development
Turns vague prompts into 8 structured planning files for brand new projects. DO NOT use on existing codebases.
development
Maps code, architecture, and infrastructure changes to specific control IDs in PCI-DSS v4.0 and MAS TRM (Singapore financial regulator), producing an audit-traceable findings report with per-control remediation.
testing
Companion to atlas-contract. Auto-invoked by its Final Audit on caught drift; also use after Post Reviews or user requests to record a mistake. Distills drift into WHEN/DON'T/INSTEAD clauses, writes to Atlas.md after confirmation.