grey-haven-plugins/creative-writing/skills/seo-geo/SKILL.md
Use when optimizing web content for search engine visibility, improving AI search engine citations (GEO), auditing website SEO, implementing structured data markup, or researching keyword strategy. Triggers: 'SEO', 'GEO', 'search optimization', 'schema markup', 'meta tags', 'AI search', 'Perplexity', 'search rankings', 'structured data', 'generative engine optimization', 'rich results', 'robots.txt', 'sitemap'.
npx skillsauth add greyhaven-ai/claude-code-config 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.
Optimize web content for both traditional search engines (Google, Bing) and AI search engines (ChatGPT, Perplexity, Gemini, Copilot, Claude).
GEO = Generative Engine Optimization - Optimizing content to be cited by AI search engines.
Key Insight: AI search engines don't rank pages - they cite sources. Being cited is the new ranking #1.
Don't use for:
digraph seo_geo {
rankdir=TB;
"Audit current state" -> "Keyword research";
"Keyword research" -> "GEO optimization";
"GEO optimization" -> "Traditional SEO";
"Traditional SEO" -> "Validate & monitor";
"Validate & monitor" -> "Audit current state" [label="iterate", style=dashed];
}
Get the target URL and analyze current SEO/GEO status.
Quick technical check:
# Check meta tags and schema markup
curl -sL "https://example.com" | grep -E "<title>|<meta name=\"description\"|<meta property=\"og:|application/ld\+json" | head -20
# Check robots.txt - verify AI bots are allowed
curl -s "https://example.com/robots.txt"
# Check sitemap structure
curl -s "https://example.com/sitemap.xml" | head -50
AI bots to verify access for:
| Bot | Service | |-----|---------| | Googlebot | Google | | Bingbot | Bing / Copilot | | PerplexityBot | Perplexity | | ChatGPT-User | ChatGPT with browsing | | ClaudeBot / anthropic-ai | Claude | | GPTBot | OpenAI |
Use WebSearch to research target keywords:
{keyword} keyword difficulty site:ahrefs.com OR site:semrush.com{keyword} search volume {current_year}site:{competitor.com} {keyword}Analyze search volume, difficulty, competitor strategies, long-tail opportunities, and international keyword conflicts.
Apply the 9 Princeton GEO Methods (see reference/geo-methods.md):
| Method | Boost | Priority | |--------|-------|----------| | Cite Sources | +40% | Must-have | | Statistics Addition | +37% | Must-have | | Quotation Addition | +30% | Should-have | | Authoritative Tone | +25% | Should-have | | Fluency Optimization | +15-30% | Must-have | | Easy-to-understand | +20% | Should-have | | Technical Terms | +18% | Context-dependent | | Unique Words | +15% | Nice-to-have | | ~~Keyword Stuffing~~ | -10% | AVOID |
Best combination: Fluency + Statistics = Maximum boost
Content structure for AI citation:
FAQPage schema adds +40% AI visibility. See templates/schema-faqpage.json.
Apply meta tags, Open Graph, Twitter Cards, and JSON-LD schema markup. See templates/meta-tags.md for copy-paste templates.
Quick checks:
rel="noopener noreferrer"# Schema validation
open "https://search.google.com/test/rich-results?url={encoded_url}"
open "https://validator.schema.org/?url={encoded_url}"
# Check indexing
open "https://www.google.com/search?q=site:{domain}"
open "https://www.bing.com/search?q=site:{domain}"
Generate report using checklists/seo-geo-audit.md.
Each AI search engine has different citation criteria. See reference/platform-optimization.md for full details.
| Platform | Key Factor | Critical Action | |----------|-----------|-----------------| | ChatGPT | Domain authority | Update content within 30 days | | Perplexity | Semantic relevance | FAQPage schema + PDF hosting | | Google AI Overview | E-E-A-T | Authoritative citations (+132%) | | Copilot / Bing | Bing indexing | Page speed < 2s | | Claude | Brave Search | High factual density |
| Mistake | Fix | |---------|-----| | Blocking AI bots in robots.txt | Allow PerplexityBot, GPTBot, ClaudeBot explicitly | | Keyword stuffing | Reduces visibility by 10%. Use natural language. | | Missing FAQPage schema | Adds +40% AI visibility. Always include for FAQ content. | | No statistics or citations | GEO research shows +37-40% boost from data and sources | | Ignoring Brave Search | Claude uses Brave, not Google. Ensure Brave indexing. | | Stale content | ChatGPT cites 3.2x more from content updated within 30 days |
content-strategist agent (strategy + keyword planning), creative-writing skill (content quality)reference/ - Detailed optimization guides
checklists/ - Audit and validation
templates/ - Copy-paste ready markup
development
Grey Haven's comprehensive testing strategy - Vitest unit/integration/e2e for TypeScript, pytest markers for Python, >80% coverage requirement, fixture patterns, and Doppler for test environments. Use when writing tests, setting up test infrastructure, running tests, debugging test failures, improving coverage, configuring CI/CD, or when user mentions 'test', 'testing', 'pytest', 'vitest', 'coverage', 'TDD', 'test-driven development', 'unit test', 'integration test', 'e2e', 'end-to-end', 'test fixtures', 'mocking', 'test setup', 'CI testing'.
development
Comprehensive test suite generation with unit tests, integration tests, edge cases, and error handling. Use when generating tests for existing code, improving coverage, or creating systematic test suites. Triggers: 'generate tests', 'add tests', 'test coverage', 'write tests for', 'create test suite'.
development
Specialized testing for React applications using TanStack ecosystem (Query, Router, Table, Form) with Vite and Vitest. Use when testing React + TanStack apps, mocking server state, testing router, or validating query behavior. Triggers: 'TanStack testing', 'React Query testing', 'test TanStack', 'mock query', 'router test'.
development
Apply Grey Haven's TanStack ecosystem patterns - Router file-based routing, Query data fetching with staleTime, and Start server functions. Use when building React applications with TanStack Start. Triggers: 'TanStack', 'TanStack Start', 'TanStack Query', 'TanStack Router', 'React Query', 'file-based routing', 'server functions'.