seo-geo
Audit website for Generative Engine Optimization (GEO) - optimization for AI search engines like Perplexity, ChatGPT Search, Gemini, and Claude.
Best use case
seo-geo is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Audit website for Generative Engine Optimization (GEO) - optimization for AI search engines like Perplexity, ChatGPT Search, Gemini, and Claude.
Teams using seo-geo should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/seo-geo-nguyenthienthanh/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How seo-geo Compares
| Feature / Agent | seo-geo | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Audit website for Generative Engine Optimization (GEO) - optimization for AI search engines like Perplexity, ChatGPT Search, Gemini, and Claude.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# SEO GEO (AI Discovery) Command
Audit website for Generative Engine Optimization (GEO) - optimization for AI search engines.
---
## Usage
```bash
# GEO audit on URL
/seo:geo https://myapp.com
# Audit specific page
/seo:geo https://myapp.com/docs/guide
# Check robots.txt AI crawler access
/seo:geo --crawlers
# Check content structure only
/seo:geo --content
```
---
## Checks Performed
### 1. AI Crawler Access
**Check robots.txt for AI bot access:**
```toon
ai_crawlers[6]{bot,engine,status}:
GPTBot,OpenAI/ChatGPT,Check Allow/Disallow
Google-Extended,Google Gemini,Check Allow/Disallow
PerplexityBot,Perplexity,Check Allow/Disallow
ClaudeBot,Anthropic Claude,Check Allow/Disallow
Applebot-Extended,Apple Intelligence,Check Allow/Disallow
CCBot,Common Crawl,Check Allow/Disallow
```
**Recommended robots.txt:**
```txt
User-agent: GPTBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Applebot-Extended
Allow: /
```
### 2. Content Structure
```toon
content_checks[6]{check,requirement}:
Answer-first,Direct answer in first paragraph
Heading hierarchy,H1 -> H2 -> H3 (no skipping)
Semantic HTML,article section aside nav used
Lists and tables,Structured scannable content
Word count,Minimum 300 words meaningful content
Readability,Clear concise language
```
### 3. Entity Signals (E-E-A-T)
```toon
entity_checks[5]{check,implementation}:
Author schema,Person with credentials + sameAs
Organization schema,Company info + logo + sameAs
Author page,Dedicated page with bio
About page,Company/author information
External citations,Links to authoritative sources
```
### 4. Freshness Signals
```toon
freshness_checks[4]{check,requirement}:
datePublished,ISO 8601 format in schema
dateModified,Updated when content changes
Visible dates,Human-readable dates on page
Update history,Revision log for major content
```
### 5. FAQ Implementation
```toon
faq_checks[3]{check,requirement}:
FAQPage schema,JSON-LD with Question/Answer
HTML structure,Semantic FAQ markup
Answer quality,Complete actionable answers
```
---
## Output Format
Generate report with:
| Category | Score | Status |
|----------|-------|--------|
| AI Crawler Access | X/100 | PASS/WARNING/FAIL |
| Content Structure | X/100 | PASS/WARNING/FAIL |
| Entity Signals | X/100 | PASS/WARNING/FAIL |
| Freshness Signals | X/100 | PASS/WARNING/FAIL |
| FAQ Implementation | X/100 | PASS/WARNING/FAIL |
**Overall GEO Score:** X/100
Include:
- robots.txt status per AI bot
- Specific E-E-A-T improvements
- AI Citation test instructions
---
## LLM.txt (Optional)
Consider adding `/llm.txt` for AI-specific instructions:
```txt
# /llm.txt
name: Your Site Name
description: What your site is about
author: Author/Company Name
topics: topic1, topic2, topic3
citation-name: Preferred Citation Name
```
---
## AI Citation Test
Test your content visibility in AI search:
1. **Perplexity:** Search "what is [your topic]"
2. **ChatGPT:** Ask about your expertise area
3. **Gemini:** Query your brand name
---
## Related Commands
| Command | Purpose |
|---------|---------|
| `/seo:check` | Full SEO audit |
| `/seo:schema` | Schema validation |
---
**Version:** 1.20.0Related Skills
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
solidstart-api-routes
SolidStart API routes: export GET/POST/PATCH/DELETE functions, handle APIEvent with request/params/fetch, GraphQL and tRPC integration, session management.
solidjs
Builds UIs with SolidJS including signals, effects, memos, and fine-grained reactivity. Use when creating high-performance reactive applications, building without virtual DOM, or needing granular updates.
solid-generic
SOLID principles for generic TypeScript, Bun, and Node.js projects. Files < 100 lines, interfaces separated, JSDoc mandatory. Use for CLI tools, libraries, scripts, hooks, and non-framework TypeScript code.
solid-core-rendering
SolidJS rendering: render for client apps, hydrate for SSR, renderToString for server rendering, renderToStream for streaming, isServer checks.
sojustack-best-practices
Best-practice guidance for the SojuStack monorepo (NestJS + Drizzle + Better Auth + TanStack Start). Use when editing files in apps/api or apps/web, designing routes, query/form patterns, auth/transaction flows, or implementing cross-stack features.
software-localisation
Production-grade i18n/l10n patterns for React, Vue, Angular, Next.js, and Node.js. Covers library selection (i18next/react-i18next, FormatJS/react-intl, next-intl, vue-i18n, @angular/localize, Lingui, typesafe-i18n), ICU message format, RTL support, locale routing/detection, TMS integration, string extraction, and CI/CD translation workflows. Use when setting up or debugging localisation in a codebase.
software-frontend
Production-grade frontend development with Next.js 16 App Router, TypeScript 5.9+ strict mode, Tailwind CSS v4, shadcn/ui, React 19.2 Server Components, state management (Zustand/Recoil), performance optimization (Turbopack stable, ISR/SSR/SSG), and accessibility best practices. Includes TanStack Query for server-state, Vitest for testing, and modern React patterns.
software-engineering-lead
Expert software engineering lead who translates product requirements into comprehensive engineering plans using GitHub Projects. Reviews PRDs and user stories, identifies gaps and conflicts, pushes back constructively on poor requirements, applies software engineering best practices, creates detailed technical plans with tasks and milestones, and ensures production-ready architecture. Use when translating product specs into actionable development plans, validating requirements, or designing system architecture.
software-crypto-web3
Use when building blockchain applications or smart contracts across EVM (Solidity), Solana (Anchor/Rust), Cosmos (CosmWasm), and TON, including security/audit workflows, fuzz/invariant testing, upgrades, custody/signing, and backend integration (RPC, indexers, webhooks).
software-code-review
Use when reviewing code, pull requests, or diffs. Provides patterns, checklists, and templates for systematic code review with a focus on correctness, security, readability, performance, and maintainability.
software-architecture
Design scalable software systems with proven architectural patterns (MVC, microservices, event-driven), SOLID principles, system design trade-offs, and architectural decision records (ADRs).