Skills aeo-system
Answer Engine Optimization — get AI assistants to recommend your brand. Run AEO audits, build Answer Intent Maps, track AI recommendation positions, and maintain a 7-layer AEO infrastructure for any brand or product category.
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/batsirai/aeo-system" ~/.claude/skills/clawdbot-skills-aeo-system && rm -rf "$T"
skills/batsirai/aeo-system/SKILL.mdAEO (Answer Engine Optimization) System
Get AI assistants — ChatGPT, Perplexity, Claude, Gemini — to recommend your brand when people ask purchase-intent questions.
What This Is
AEO is the discipline of optimizing for AI-powered answer engines the same way SEO optimizes for search engines. When someone asks Perplexity "what's the best magnesium supplement for sleep?" — AEO determines whether your brand gets named.
This skill gives an OpenClaw agent the ability to:
- Audit a brand's current AEO infrastructure across all 7 layers
- Map which brands AI platforms recommend (and in what position) for any category
- Track position changes week over week
- Build the missing infrastructure (Answer Hub, brand-facts.json, schema, citations)
- Maintain the system with a weekly 90-minute protocol
When to Load This Skill
- User asks to "run an AEO audit" for a brand or URL
- User asks "which brands are being recommended by AI for [category]?"
- User asks to "build an Answer Intent Map" for a category
- User asks to check a brand's Answer Hub, brand-facts.json, or schema markup
- User asks to track AI recommendation positions over time
- User asks to run the "weekly AEO maintenance protocol"
The 7-Layer AEO Framework
| Layer | Name | What It Is | Priority |
|---|---|---|---|
| 1 | Answer Intent Map | Spreadsheet of all purchase-intent queries + which brands AI recommends | Foundation |
| 2 | Answer Hub | A long-form guide page that answers every key question in your category | High |
| 3 | Brand-Facts Page | Human-readable brand facts page (neutral, factual, cite-able) | High |
| 4 | brand-facts.json | Machine-readable brand data at | Medium |
| 5 | Schema Markup | Product, FAQ, and Organization structured data | Medium |
| 6 | Citation Network | Getting listed on the sources AI models actually cite | High |
| 7 | GPT Shopping | Google Merchant Center + review feed for AI shopping results | High |
Prerequisites
Required:
— enables direct API queries (get free at perplexity.ai/settings/api)PERPLEXITY_API_KEY- Node.js v18+ (for the
script)answer-intent-map.js
Optional:
— enables ChatGPT query automationOPENAI_API_KEY
— enables web searches for infrastructure checksBRAVE_API_KEY
Without API keys: The skill runs in "manual-assist" mode — generates the queries, provides a blank log template, and analyzes results you paste in.
Core Workflows
Workflow 1: Full AEO Audit
Trigger: "Run an AEO audit for [brand URL]"
Steps:
-
Fetch and analyze the brand's website for AEO infrastructure:
- Check for Answer Hub page (
or similar long-form page)/guides/ - Check for Brand-Facts page (
)/brand-facts - Check for machine-readable data (
)/.well-known/brand-facts.json - Audit schema markup on product pages (via Rich Results API or web_fetch)
- Check for a Wikidata entry
- Check Google Merchant Center eligibility signals
- Check for Answer Hub page (
-
Score each of the 7 layers (0–3 scale):
- 0 = Doesn't exist
- 1 = Exists but incomplete or outdated
- 2 = Exists, functional, minor gaps
- 3 = Complete, current, optimized
-
Generate a gap analysis report with:
- Current score per layer
- Priority order for implementation
- Specific action items for each missing layer
Output: Markdown report saved as
aeo-audit-[brand]-[date].md
Workflow 2: Answer Intent Map
Trigger: "Build an Answer Intent Map for [category]" or run
scripts/answer-intent-map.js
Steps:
-
Generate query list from four types:
- Category queries: "best [product] for [use case]" (10–15 queries)
- Comparison queries: "[brand] vs [competitor]" (10 queries)
- Brand queries: "is [brand] worth it" (5 queries)
- Educational queries: "does [ingredient] help with [condition]" (10 queries)
-
For each query, query available platforms:
- Perplexity API (structured JSON response with citations)
- OpenAI API (text response — brand names extracted by parser)
- Browser fallback for Claude and Gemini
-
Parse responses to extract:
- Brand names mentioned (position 1, 2, 3)
- Source URLs cited
- Key verbatim quotes
-
Write results to JSON data file + Markdown summary report
Output:
answer-intent-map-[category]-[date].json + .md summary
Run the script:
node scripts/answer-intent-map.js \ --category "magnesium supplements" \ --brand "MyBrand" \ --queries 20 # Or with a config file: node scripts/answer-intent-map.js --config ./aeo-config.json
Workflow 3: Weekly Maintenance Protocol
Trigger: "Run weekly AEO maintenance" or scheduled cron
Steps:
- Load the brand's Answer Intent Map (top 15 priority queries)
- Query ChatGPT and Perplexity for each priority query in fresh sessions
- Compare results against previous week's log (detect position changes)
- Generate maintenance report:
- Position changes (up/down/new competitors)
- New sources being cited this week
- Recommended Answer Hub updates
- Check
for stalebrand-facts.json
timestamplastUpdated - Check Google Merchant Center for disapprovals (via browser if needed)
Output:
aeo-weekly-report-[date].md
Use the checklist:
templates/weekly-maintenance-checklist.md
Workflow 4: Citation Network Analysis
Trigger: "Analyze AEO citations for [category]"
Steps:
- Run 20 category queries via Perplexity API (citations returned directly)
- Extract all unique source URLs from responses
- Group and count by domain
- Identify top 10 most-cited external sources in the category
- Generate outreach priority list
Output: Citation analysis report with target sites ranked by citation frequency
Workflow 5: Infrastructure Build
Trigger: "Build AEO infrastructure for [brand]" or "Set up brand-facts.json"
Steps:
- Ask for brand details (or load from
)aeo-config.json - Generate from templates:
→brand-facts.json
(fill placeholders)templates/brand-facts.json- Answer Hub page →
templates/answer-hub-template.md - Schema markup snippet (JSON-LD for product pages)
- Provide implementation instructions per asset
Configuration
Create
aeo-config.json in your working directory:
{ "brandName": "Your Brand Name", "brandUrl": "https://yourbrand.com", "category": "Magnesium Supplements", "priorityQueries": [ "best magnesium supplement for sleep", "best magnesium glycinate supplement", "magnesium supplement for anxiety" ], "competitors": [ "Competitor Brand A", "Competitor Brand B", "Competitor Brand C" ], "answerHubUrl": "https://yourbrand.com/guides/best-magnesium-supplements-2026", "brandFactsJsonUrl": "https://yourbrand.com/.well-known/brand-facts.json" }
Output Files
| File | Description |
|---|---|
| Infrastructure audit report |
| Raw AI query results |
| Human-readable competitive summary |
| Weekly maintenance report |
| Citation network analysis |
Usage Examples
# Full infrastructure audit "Run an AEO audit for mybrand.com" # Build competitive intelligence "Build an Answer Intent Map for the magnesium supplement category" # Quick position check "Check if mybrand.com is being recommended by Perplexity for 'best magnesium for sleep'" # Weekly maintenance "Run the weekly AEO maintenance protocol for my brand" # Citation analysis "Which sources does Perplexity cite most for collagen supplement recommendations?" # Generate brand-facts.json "Generate the brand-facts.json template for [brand details]" # Scoring review "Score my AEO infrastructure for mybrand.com on all 7 layers"
Platform Limitations
| Platform | Access | Notes |
|---|---|---|
| Perplexity | API (structured, reliable) | Returns citations directly |
| ChatGPT | API via OpenAI | Text parsing required for brand extraction |
| Claude | Browser required | Generate queries + blank log; agent uses browser |
| Gemini | Browser required | Generate queries + blank log; agent uses browser |
For Claude/Gemini: the skill generates the query list and a blank log template; use the browser tool to collect results.
Rate limits: Perplexity free tier ≈ 20 requests/minute. For 50+ queries, add
--delay 3000 to the script.
File Structure
aeo-system/ ├── SKILL.md ← This file ├── README.md ← Human-readable overview ├── scripts/ │ └── answer-intent-map.js ← Core query automation script └── templates/ ├── answer-hub-template.md ← Answer Hub page template ├── brand-facts.json ← Machine-readable brand data template └── weekly-maintenance-checklist.md ← 90-minute weekly protocol
AEO System v1.0 — February 2026 A product by Carson Jarvis (@CarsonJarvisAI)