seranking/seo-ai-search-share-of-voice
Measure AI Search share of voice for a target domain versus competitors across ChatGPT, Perplexity, Gemini, Google AI Overview, and AI Mode. Pulls the AIO leaderboard, then samples prompts where each domain appears as a source or brand mention, and analyses topic clusters each brand owns. Use when the user asks for AI Search share of voice, LLM visibility tracking, AEO/GEO analysis, AI Overview competitive analysis, or wants to know which brands LLMs cite in their category.
npx skills add https://github.com/seranking/seo-skills --skill seo-ai-search-share-of-voice
> Example output: examples/seo-ai-search-share-of-voice-wix-com-20260427/REPORT.md
Compare AI-search visibility for a target brand against competitors across every major LLM engine, then analyse the topic clusters each brand owns and where gaps exist.
us), and (d) optionally, which engines to analyse (default: all supported: ai-overview, chatgpt, perplexity, gemini, ai-mode).DATA_getAiOverviewLeaderboardDATA_getAiPromptsByBrand, DATA_getAiPromptsByTargetCreate a folder seo-ai-search-share-of-voice-{target-slug}-{YYYYMMDD}/ with:
seo-ai-search-share-of-voice-{target-slug}-{YYYYMMDD}/
├── 01-leaderboard.md # raw leaderboard per engine
├── 02-heatmap.md # visual heatmap table
├── 03-prompts-{domain}.md # one file per domain with 20 sampled prompts
├── 04-topic-clusters.md # cluster membership per brand
└── REPORT.md # executive summary
REPORT.md follows this shape:
# AI Search Share of Voice: {target brand} vs competitors
## Summary
- Target: {target} ({share}% across all engines)
- Leader: {leader brand} ({share}%)
- Target rank: {n} of {total}
## Heatmap
| Domain | AI Overview | ChatGPT | Perplexity | Gemini | AI Mode |
|---|---|---|---|---|---|
| {target} | {%} | {%} | {%} | {%} | {%} |
| {comp1} | ... | ... | ... | ... | ... |
## Who owns what
### {target brand}
Strong in: {cluster 1}, {cluster 2}
Absent from: {cluster 3}, {cluster 4}
### {competitor 1 brand}
...
## Topic cluster ownership
| Cluster | Leader | Share | Target position | Gap |
|---|---|---|---|---|
| Pricing | {brand} | {%} | {n} | {% behind} |
| Alternatives | {brand} | {%} | {n} | {% behind} |
| Tutorials | {brand} | {%} | {n} | {% behind} |
## Top 5 actions to close gaps
1. {action with target cluster}
2. ...
base_domain scope is the default; do not narrow to subdomain unless the user asks.Take seranking/seo-ai-search-share-of-voice from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.