feat(seo-skills): multi-backend Data Source Selection (#7)
Replaces single-vendor (Ahrefs-only) tool defaults with a per-task backend menu across all 14 SEO skills. Each skill now lists every capable MCP in allowed-tools and documents how to pick between Semrush, Ahrefs, OurSEO Agent (CLI + MCP), DataForSEO, and GSC in its SKILL.md Data Source Selection section. Tool stubs (~40 new files) populated per skill with capability deltas, call patterns, and explicit "not for this skill when" callouts so the menu is self-correcting. Skills affected: 19-keyword-strategy, 20-serp-analysis, 21-position-tracking, 22-link-building, 23-content-strategy, 24-ecommerce, 25-kpi-framework, 26-international, 27-ai-visibility, 28-knowledge-graph, 31-competitor-intel, 32-crawl-budget, 33-migration-planner, 34-reporting-dashboard. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -35,13 +35,62 @@ Monitor and analyze brand visibility in AI-generated search results. This skill
|
||||
4. **Recommendations**: Generate actionable Korean-language recommendations
|
||||
5. **Output**: JSON report and Notion database entry
|
||||
|
||||
## Data Sources
|
||||
## Data Source Selection
|
||||
|
||||
| Source | Purpose |
|
||||
|--------|---------|
|
||||
| `our-seo-agent` CLI | Primary AI visibility data source (future); use `--input` for pre-fetched JSON |
|
||||
| WebSearch / WebFetch | Supplementary AI search data |
|
||||
| Notion MCP | Save audit report to database |
|
||||
**Single-vendor constraint.** AI search visibility / Brand Radar / share-of-voice in AI answers is currently **Ahrefs-only** among connected SEO MCPs. Neither Semrush nor DataForSEO exposes equivalent endpoints today. This is the one SEO skill where the "let the user choose" framing collapses to a one-option menu for the core capability.
|
||||
|
||||
| Backend | Best for | Notes |
|
||||
|---|---|---|
|
||||
| **Ahrefs MCP — Brand Radar** (`mcp__ahrefs__brand-radar-*`) | **Default** (and currently the only viable source) for AI mentions, impressions, share of voice, cited domains/pages, AI response history | Tools: `brand-radar-ai-responses`, `brand-radar-cited-domains`, `brand-radar-cited-pages`, `brand-radar-impressions-overview`, `brand-radar-mentions-overview`, `brand-radar-sov-overview`, `brand-radar-sov-history`, plus `*-entities` variants. |
|
||||
| **Ahrefs MCP — Management** | Configure Brand Radar prompts and reports | `management-brand-radar-prompts`, `management-brand-radar-reports`. |
|
||||
| **OurSEO brand monitoring** (`mcp__ourseo__monitor_brand` / `our research google brand`) | Web-wide brand mention scanning — **not** AI-search specific, but useful as a supplement to compare with AI citations | Catches brand mentions in standard Google search; complements Brand Radar's AI-specific view. |
|
||||
| **WebSearch** | Manual spot-check of AI engines (ChatGPT, Gemini, Perplexity) by querying directly | Not automated — useful for one-off "did the brand appear?" checks. |
|
||||
| **Semrush MCP** | **No equivalent.** Listed in `allowed-tools` only for future compatibility if Semrush adds an AI-visibility product. | Do not attempt to substitute Semrush for Brand Radar today. |
|
||||
|
||||
### How to pick
|
||||
|
||||
1. **User named Ahrefs explicitly** → use Brand Radar.
|
||||
2. **Task is AI mentions / impressions / share of voice / cited pages** → Brand Radar is the only option; use it.
|
||||
3. **Task is general brand monitoring across the web (not AI-specific)** → OurSEO `monitor_brand` is sufficient and cheaper.
|
||||
4. **Task explicitly compares AI vs traditional brand visibility** → run **both** Brand Radar AND OurSEO `monitor_brand`, document the source per data slice.
|
||||
5. **No alternative needed** for the core AI-visibility capability — skip the AskUserQuestion fallback unless the user expresses preference uncertainty.
|
||||
|
||||
### Backend call patterns
|
||||
|
||||
**Ahrefs Brand Radar (default):**
|
||||
```
|
||||
mcp__ahrefs__brand-radar-impressions-overview(brand="<brand>")
|
||||
mcp__ahrefs__brand-radar-mentions-overview(brand="<brand>")
|
||||
mcp__ahrefs__brand-radar-sov-overview(brand="<brand>", competitors=["<comp1>","<comp2>"])
|
||||
mcp__ahrefs__brand-radar-sov-history(brand="<brand>", history="weekly")
|
||||
mcp__ahrefs__brand-radar-cited-domains(brand="<brand>")
|
||||
mcp__ahrefs__brand-radar-cited-pages(brand="<brand>")
|
||||
mcp__ahrefs__brand-radar-ai-responses(brand="<brand>")
|
||||
mcp__ahrefs__brand-radar-impressions-history(brand="<brand>", history="weekly")
|
||||
mcp__ahrefs__brand-radar-mentions-history(brand="<brand>", history="weekly")
|
||||
```
|
||||
|
||||
**Configure prompts / reports:**
|
||||
```
|
||||
mcp__ahrefs__management-brand-radar-prompts()
|
||||
mcp__ahrefs__management-brand-radar-reports()
|
||||
```
|
||||
|
||||
**OurSEO brand monitoring (supplement):**
|
||||
```
|
||||
mcp__ourseo__monitor_brand(brand="<brand>", exclude_domains=["<own.com>"])
|
||||
```
|
||||
|
||||
Or CLI:
|
||||
```bash
|
||||
our research google brand "<brand>" --exclude <own.com>
|
||||
```
|
||||
|
||||
### Tracking note
|
||||
|
||||
Brand Radar requires the brand to be configured in the user's Ahrefs workspace via `management-brand-radar-prompts`. If a query returns empty, first check that the brand is set up — don't conclude "no AI visibility" from an empty Brand Radar response without verifying configuration.
|
||||
|
||||
Always record the chosen data source(s) in the report **Overview** so future audits can compare like-for-like.
|
||||
|
||||
## Notion Output
|
||||
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
name: seo-ai-visibility
|
||||
description: |
|
||||
AI search visibility and brand radar monitoring. Triggers: AI search, AI visibility, brand radar, AI citations, share of voice, AI answers, AI mentions.
|
||||
|
||||
# AI visibility / Brand Radar is currently Ahrefs-only among the SEO MCPs.
|
||||
# Per-task selection happens in SKILL.md > Data Source Selection — NOT here.
|
||||
# Other backends are listed for supplementary brand-monitoring work.
|
||||
allowed-tools:
|
||||
- mcp__ahrefs__*
|
||||
- mcp__ahrefs__* # default (and currently the ONLY) source for Brand Radar / AI visibility
|
||||
- mcp__claude_ai_Ahrefs__* # Ahrefs (Claude.ai namespace)
|
||||
- mcp__ourseo__monitor_brand # OurSEO brand monitoring (web mention scan, not AI-search specific)
|
||||
- mcp__semrush__* # supplementary — Semrush has no Brand Radar equivalent today
|
||||
- Bash # `our` CLI: `our research google brand`, `our monitor brand`
|
||||
- mcp__notion__*
|
||||
- WebSearch
|
||||
- WebFetch
|
||||
|
||||
38
custom-skills/27-seo-ai-visibility/desktop/tools/ourseo.md
Normal file
38
custom-skills/27-seo-ai-visibility/desktop/tools/ourseo.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# OurSEO Agent (CLI + MCP)
|
||||
|
||||
OurSEO is **not an AI-visibility backend.** Use it here only as a supplement for general brand-monitoring work that complements Ahrefs Brand Radar.
|
||||
|
||||
## What OurSEO covers
|
||||
|
||||
```bash
|
||||
# Web-wide brand mention scan via Google Custom Search
|
||||
our research google brand "<brand>" --exclude <own.com>
|
||||
|
||||
# Korean engines (Naver brand presence)
|
||||
our research naver serp "<brand>"
|
||||
```
|
||||
|
||||
MCP equivalent:
|
||||
|
||||
```
|
||||
mcp__ourseo__monitor_brand(brand="<brand>", exclude_domains=["<own.com>"])
|
||||
```
|
||||
|
||||
## How OurSEO + Brand Radar pair
|
||||
|
||||
- **Brand Radar** (Ahrefs) → AI search citations, impressions, SOV, cited pages
|
||||
- **OurSEO monitor_brand** → standard Google search brand mentions across the web
|
||||
|
||||
Together they show:
|
||||
- "Where are we cited in AI vs the open web?"
|
||||
- "Are the high-citation pages in AI also the ones earning standard organic links?"
|
||||
- "Does our share of voice in AI match our share in Google brand SERPs?"
|
||||
|
||||
## Not for this skill when
|
||||
|
||||
- **AI mentions / impressions / SOV / cited domains/pages** — Brand Radar only.
|
||||
- **AI engine breakdown** — Brand Radar `brand-radar-ai-responses`.
|
||||
|
||||
## Important
|
||||
|
||||
Treat OurSEO output as a **second axis**, not a substitute. Reporting AI visibility using only `monitor_brand` would mislead the user — those are open-web mentions, not AI citations.
|
||||
21
custom-skills/27-seo-ai-visibility/desktop/tools/semrush.md
Normal file
21
custom-skills/27-seo-ai-visibility/desktop/tools/semrush.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Semrush MCP
|
||||
|
||||
**Not applicable** for AI search visibility / Brand Radar today. Semrush does not expose an equivalent product as of 2026-05.
|
||||
|
||||
Listed in this skill's `allowed-tools` only for forward compatibility if Semrush ships an AI-visibility product.
|
||||
|
||||
## Do not use Semrush for
|
||||
|
||||
- AI mentions / impressions / share of voice in AI answers
|
||||
- Cited domains / cited pages in AI responses
|
||||
- AI engine breakdown (ChatGPT / Gemini / Perplexity / Claude)
|
||||
- Brand SOV history in AI search
|
||||
|
||||
## Use instead
|
||||
|
||||
- **Ahrefs Brand Radar** (`mcp__ahrefs__brand-radar-*`) — the only viable backend for the core capability today.
|
||||
- **OurSEO `monitor_brand`** — for general web-mention monitoring (not AI-search specific) as a supplement.
|
||||
|
||||
## If a Semrush AI product ships
|
||||
|
||||
Update this stub and re-evaluate the Data Source Selection in `SKILL.md`. Until then, keep Brand Radar as the default and do not attempt to substitute Semrush.
|
||||
Reference in New Issue
Block a user