Files
our-claude-skills/custom-skills/27-seo-ai-visibility/SKILL.md
Andrew Yim 6ac547e78f
Some checks failed
Verify Skills / verify-skills (push) Has been cancelled
refactor(skills): clean skill names (strip NN- prefix from name:) — convention change
Adopt: directory keeps its NN- ordering prefix; skill `name:` is the clean form
without it (dir 16-seo-schema-validator → name: seo-schema-validator). Nicer to
invoke, matches the original desktop/SKILL.md names, still globally unique.

- 71 root SKILL.md: name: NN-foo → name: foo (flat skills + reference-curator suite).
  Plugins (mac-optimizer/multi-agent-guide/dintel-bootstrap) already clean; 95 already clean.
- scripts/migrate_skill_root.py: derive name = dirname minus NN- prefix (skill_name()).
- CLAUDE.md + SKILL-MIGRATION-GUIDE.md: document the dir-prefix / clean-name convention.

verify_skills.py: 0 name collisions across all renamed skills. (The ~/.claude/skills
symlinks were re-pointed to the clean names separately — filesystem only.)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 02:11:01 +09:00

7.1 KiB

name, description
name description
seo-ai-visibility 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="<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:

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

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

{
  "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"