--- name: 27-seo-ai-visibility description: | AI search visibility and brand radar monitoring. Tracks how a brand appears in AI-generated search answers using our-seo-agent CLI or pre-fetched data. Triggers: AI search, AI visibility, brand radar, AI citations, share of voice, AI answers, AI mentions. --- # SEO AI Visibility & Brand Radar Monitor and analyze brand visibility in AI-generated search results. This skill uses our-seo-agent CLI or pre-fetched data to track impressions, mentions, share of voice, cited domains, cited pages, and AI response content. ## Capabilities ### AI Visibility Tracking - **Impressions Overview** - How often the brand appears in AI answers - **Mentions Overview** - Brand mention frequency across AI engines - **Share of Voice (SOV)** - Brand's share vs competitors in AI search - **Historical Trends** - Impressions, mentions, and SOV over time - **Competitor Comparison** - Side-by-side AI visibility metrics ### AI Citation Analysis - **AI Response Analysis** - Content and sentiment of AI mentions - **Cited Domains** - Which source domains AI engines reference - **Cited Pages** - Specific URLs that get cited in AI answers - **Citation Ranking** - Frequency-based ranking of citations - **Sentiment Analysis** - Positive/neutral/negative distribution ## Workflow 1. **Input**: User provides target domain and optional competitors 2. **Data Collection**: Fetch metrics from our-seo-agent CLI or pre-fetched JSON 3. **Analysis**: Calculate trends, compare competitors, analyze sentiment 4. **Recommendations**: Generate actionable Korean-language recommendations 5. **Output**: JSON report and Notion database entry ## Data Source Selection **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="") mcp__ahrefs__brand-radar-mentions-overview(brand="") mcp__ahrefs__brand-radar-sov-overview(brand="", competitors=["",""]) mcp__ahrefs__brand-radar-sov-history(brand="", history="weekly") mcp__ahrefs__brand-radar-cited-domains(brand="") mcp__ahrefs__brand-radar-cited-pages(brand="") mcp__ahrefs__brand-radar-ai-responses(brand="") mcp__ahrefs__brand-radar-impressions-history(brand="", history="weekly") mcp__ahrefs__brand-radar-mentions-history(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="", exclude_domains=[""]) ``` Or CLI: ```bash our research google brand "" --exclude ``` ### 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 All reports are saved to the OurDigital SEO Audit Log: - **Database ID**: `2c8581e5-8a1e-8035-880b-e38cefc2f3ef` - **Category**: AI Search Visibility - **Audit ID Format**: AI-YYYYMMDD-NNN - **Language**: Korean (technical terms in English) ## Output Format ```json { "domain": "example.com", "impressions": { "total": 15000, "trend": "increasing", "period": "30d" }, "mentions": { "total": 450, "positive": 320, "neutral": 100, "negative": 30, "sentiment_score": 0.72 }, "share_of_voice": { "domain_sov": 12.5, "competitors": { "competitor1.com": 18.3, "competitor2.com": 15.1 } }, "cited_pages": [ {"url": "https://example.com/guide", "citations": 45}, {"url": "https://example.com/faq", "citations": 28} ], "cited_domains": [ {"domain": "example.com", "citations": 120}, {"domain": "competitor1.com", "citations": 95} ], "recommendations": [ "Create more FAQ-style content for AI citation capture", "Add structured data to improve AI answer extraction" ], "audit_id": "AI-20250115-001", "timestamp": "2025-01-15T14:30:00" } ``` ## Limitations - Requires our-seo-agent CLI or pre-fetched AI visibility data - AI search landscape changes rapidly; data may not reflect real-time state - Share of Voice metrics are relative to tracked competitor set only - Sentiment analysis based on AI-generated text, not user perception - Cannot distinguish between different AI engines (ChatGPT, Gemini, Perplexity) without Brand Radar ## Example Queries - "example.com의 AI 검색 가시성을 분석해줘" - "AI search visibility for example.com with competitors" - "브랜드 레이더 분석: example.com vs competitor.com" - "AI 인용 분석 - 어떤 페이지가 AI 답변에서 인용되나요?" - "Share of Voice in AI search for our domain"