Install
openclaw skills install aeo-analytics-freeTrack AI visibility — measure whether a brand is mentioned and cited by AI assistants (Gemini, ChatGPT, Perplexity) for target prompts. Runs scans, tracks mention/citation rates over time, detects trends, and identifies opportunities. Uses Gemini API free tier (with grounding) as primary method, web search as fallback. Use when a user wants to: check if AI models mention their brand, track AI citation changes over time, measure AEO content effectiveness, monitor competitor AI visibility, or audit their brand's presence in AI-generated answers. Pairs with aeo-prompt-research-free (identifies prompts) and aeo-content-free (creates/refreshes content). This skill closes the loop by measuring results.
openclaw skills install aeo-analytics-freeSource: github.com/psyduckler/aeo-skills Part of: AEO Skills Suite — Prompt Research → Content → Analytics
Track whether AI assistants mention and cite your brand — and how that changes over time.
web_search only — weaker signal but zero API keys neededweb_fetch — optional, for deeper analysis of cited pagestabiji.ai)["tabiji", "tabiji.ai"])aeo-prompt-research-free output.aeo-analytics/<domain>.jsonThe skill supports three commands:
scan — Run a new visibility scanExecute all tracked prompts against the AI model and record results.
report — Generate a visibility reportAnalyze accumulated scan data and produce a formatted report.
add-prompts / remove-prompts — Manage tracked promptsAdd or remove prompts from the tracking list.
Check if a data file exists for this domain. If yes, load it. If no, create a new one.
See references/data-schema.md for the full JSON schema.
For each tracked prompt:
Method A — Gemini API with grounding (preferred):
See references/gemini-grounding.md for API details.
Send prompt to Gemini API with googleSearch tool enabled
From the response, extract:
Analyze the response:
Method B — Web search fallback (if no Gemini API key):
web_search the exact prompt textAppend the scan results to the data file. Never overwrite previous scans — history is the whole point.
After scanning, output a brief summary:
For each tracked prompt, show:
1. "[prompt text]"
Scans: [total] (since [first scan date])
Mentioned: [count]/[total] ([%]) — [trend arrow] [trend description]
Cited: [count]/[total] ([%])
Latest: [✅/❌ Mentioned] + [✅/❌ Cited]
Sentiment: [positive/neutral/negative]
Competitors mentioned: [list]
If mentioned in latest scan, include the mention excerpt. If not mentioned, note which sources were cited instead and rate the opportunity (HIGH/MEDIUM/LOW).
VISIBILITY SCORE
Brand mentioned: [X]/[total] prompts ([%]) in latest scan
Brand cited: [X]/[total] prompts ([%]) in latest scan
TRENDS (last [N] days, [N] scans)
Mention rate: [%] → [trend]
Citation rate: [%] → [trend]
Most improved: [prompt] ([old rate] → [new rate])
Most volatile: [prompt] (mentioned [X]/[N] scans)
Consistently absent: [list of prompts never mentioned]
COMPETITOR SHARE OF VOICE
[Competitor 1] — mentioned in [X]/[total] prompts
[Competitor 2] — mentioned in [X]/[total] prompts
[Brand] — mentioned in [X]/[total] prompts
NEXT ACTIONS
→ [Prioritized recommendations based on gaps and trends]
aeo-analytics/<domain>.jsonreferences/data-schema.mdscans array — never delete history