/digital-marketing-pro:geo-monitor skill

Monitor GEO visibility over time across six AI answer engines, with a 0-100 trend.

by indranilbanerjee·MIT license·★ 866 Stars on the repo·GitHub ↗

Use now

Inside this skill

SKILL.md · the author's own words
# /digital-marketing-pro:geo-monitor

> **Script location.** If your host does not set `${CLAUDE_PLUGIN_ROOT}`, the scripts are in this plugin's `scripts/` folder, next to `skil…

## Purpose

Monitor and track brand visibility across generative AI engines. Systematically test how AI platforms respond to queries relevant to the br…

**This skill is the RECURRING mode of the canonical AI-visibility scoring standard defined in `/digital-marketing-pro:aeo-audit`.** It does…

## Probes vs first-party data (checked 2026-10-04)

The rubric scores below come from **probes**: queries we run and read. They show what an engine *can* say. They are not platform-reported n…

| Surface | First-party data to import alongside the probe score | What it does NOT give you |
|---|---|---|

Word-for-word excerpt, not a result. Read the full SKILL.md ↓

Files of /digital-marketing-pro:geo-monitor

indranilbanerjee/main1 file shown
SKILL.md
Show the full text80 lines

/digital-marketing-pro:geo-monitor

Script location. If your host does not set ${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin's scripts/ folder, next to skills/. Run them with Python 3.10 or newer: python, or python3 where python is not found (macOS, many Linux systems).

Purpose

Monitor and track brand visibility across generative AI engines. Systematically test how AI platforms respond to queries relevant to the brand, score visibility using a structured rubric, track changes over time, and identify opportunities to improve AI presence. This command provides a repeatable, quantitative framework for understanding where and how the brand appears (or fails to appear) in AI-generated responses — giving marketers the data they need to optimize for the emerging generative engine optimization (GEO) channel. Supports baselining, trend tracking, competitive benchmarking, and narrative alignment checks across all major AI platforms.

This skill is the RECURRING mode of the canonical AI-visibility scoring standard defined in /digital-marketing-pro:aeo-audit. It does not introduce a second scoring model: it applies the same per-platform 1-10 rubric + gates on a schedule and tracks it over time. The 0-100 GEO health score + A-F letter grade produced below is the trend view of that same data — a longitudinal roll-up for spotting momentum, not a competing scorecard. The 6 canonical surfaces (Google AI Mode, Google AI Overviews, ChatGPT, Perplexity, Gemini, Copilot) are defined once as the PLATFORMS constant in scripts/geo-tracker.py.

Probes vs first-party data (checked 2026-10-04)

The rubric scores below come from probes: queries we run and read. They show what an engine can say. They are not platform-reported numbers. Where a platform publishes its own visibility data, pull it into the same report as a separate, labeled column and never blend the two:

Surface First-party data to import alongside the probe score What it does NOT give you
Copilot (plus Bing and select partner AI experiences) Bing Webmaster Tools → AI Performance:
• citations for your site, and the grounding queries behind them
• Intents: grounding queries classed as Informational, Commercial, Navigational, Learn and Solve, Research, Creation, Local, and more
• Topics: grounding queries clustered into themes
• Citation Share: your citations as a percentage of all citations shown for the same grounding query
• Compare: overlay a prior period, such as the current 30 days vs the prior 30
The four named features are a preview, available globally. Source: Bing Webmaster blog, 16 Jun 2026
Clicks or traffic. Competitor domains: Citation Share "does not expose competitor domains, represent traffic share, or assign quality scores to content". For competitor benchmarks, keep using probes
AI Overviews, AI Mode Search Console generative AI performance report: impressions by page, country, date and device (/digital-marketing-pro:gsc-ai-performance) Queries, clicks, CTR
AI Mode / AI Overviews / Gemini app shopping Merchant Center AI performance insights: brand share of voice against similar brands across discovery, evaluation and purchase. Google said in May 2026 that it would roll out in the U.S., Canada, Australia, India and New Zealand "in the coming months", so confirm it in the account first. Source: Merchant Center help Per-query citation detail
ChatGPT, Perplexity, Gemini app (answers) None. No first-party citation report exists Everything. The probe score is the only signal; say so

In the trend report, show the probe score and the first-party number in separate columns, each with its own source and date. If Bing Citation Share falls while probe scores rise, or the reverse, flag the divergence as a finding. Do not average it away.

Input Required

The user must provide (or will be prompted for):

  • Target queries to test: Organized by intent type — brand queries ("What is [brand]?"), product queries ("[brand] [product] features"), comparison queries ("[brand] vs [competitor]"), and category queries ("best [category] tools"). Minimum 5 queries recommended for meaningful scoring. If not provided, the command will generate a default query portfolio based on the brand profile
  • AI platforms to monitor: ChatGPT, Perplexity, Gemini, Google AI Mode, AI Overviews, and Copilot — default is all six (AI Mode added May 2026 — it is a distinct surface from AI Overviews and frequently selects different citations for the same query). The user can narrow to specific platforms if they only care about certain engines or have limited testing capacity
  • Monitoring frequency: weekly or monthly — determines how often the brand should be re-tested and how trend data is bucketed. Weekly is recommended for active optimization campaigns, monthly for steady-state monitoring
  • Competitor brands to benchmark against (optional): One or more competitor brand names to test with the same query portfolio — enables side-by-side visibility scoring to understand relative AI presence. If omitted, the report focuses solely on the user's brand without competitive context

Process

  1. Load brand context: Read ~/.claude-marketing/brands/_active-brand.json for the active slug, then load ~/.claude-marketing/brands/{slug}/profile.json. Extract brand name, product names, category, key differentiators, and desired positioning to inform query portfolio and narrative alignment scoring. Also check for guidelines at ~/.claude-marketing/brands/{slug}/guidelines/_manifest.json — if present, load brand voice and messaging constraints. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults.
  2. Define query portfolio: Organize target queries by intent type — informational (what is, how does), navigational (brand-specific), transactional (buy, pricing, sign up), and comparison (vs, alternatives, best). If the user provided queries, classify them into these buckets. If not, generate a balanced portfolio of 10-20 queries from the brand profile covering all four intent types. Each query is tagged with its type for segmented scoring.
  3. Test each query on each platform: For every query-platform combination, record the AI response and score brand visibility using the rubric — cited with link (10 points: brand is mentioned by name and a direct link to the brand's website or content is provided), mentioned by name (7 points: brand is explicitly named in the response but no link), concept referenced without attribution (3 points: brand's product, feature, or approach is described but the brand itself is not named), absent (0 points: brand does not appear in any form), misrepresented (-5 points: brand is mentioned but with incorrect, outdated, or damaging information). Record the full response text for narrative analysis.
  4. Record results: Store each query-platform-result via geo-tracker (--result takes the rubric value: cited = cited with link, mentioned = named without link, concept-only = concept referenced without attribution, absent, misrepresented):
    python "${CLAUDE_PLUGIN_ROOT}/scripts/geo-tracker.py" \
        --brand {slug} --action audit-visibility \
        --query "best project management tool for agencies" \
        --platform ai-mode \
        --result cited \
        --context "AI Mode named the brand and linked its comparison page" \
        --url "https://brand.example/compare"
    
    Valid --platform values are the 6 canonical surfaces: ai-mode, ai-overviews, chatgpt, perplexity, gemini, copilot.
  5. Compare to baseline: If previous monitoring data exists, diff current scores against the most recent previous check and the original baseline:
    python "${CLAUDE_PLUGIN_ROOT}/scripts/geo-tracker.py" --brand {slug} --action diff
    
    Identify per-query and per-platform improvements (score increases), declines (score decreases), new appearances (went from absent to visible), lost appearances (went from visible to absent), and new opportunities (queries where competitors appear but the brand does not).
  6. Calculate visibility scores: Compute per-platform visibility scores (average of all query scores on that platform, scaled 0-100), per-intent-type scores (how visible is the brand for informational vs transactional queries), and an overall GEO health score (weighted average across all platforms and query types). If competitors were provided, calculate the same scores for each competitor to enable ranking.
  7. Assess narrative alignment: For queries where the brand appears, compare what the AI says against the desired brand positioning from the brand profile. Flag narrative drift (AI describes the brand differently than intended positioning), outdated information (AI cites old features, pricing, or leadership), missing key attributes (AI omits core differentiators), and misrepresentation (AI states something factually incorrect about the brand).
  8. Generate recommendations: Based on weak spots, produce a prioritized list of actions to improve AI visibility — content to create or update for better citation, structured data to add, entity consistency to fix (cross-reference with /digital-marketing-pro:entity-audit), narrative corrections needed, and platforms where investment in visibility would have the highest impact.

Output

A comprehensive AI visibility monitoring report containing:

  • AI visibility scorecard: Per-platform scores (ChatGPT, Perplexity, Gemini, Google AI Mode, AI Overviews, Copilot — the 6 canonical surfaces) on the shared 1-10 rubric, plus the overall GEO health score scaled 0-100 with letter grade (A-F) as the trend view and a trend indicator vs previous check. The per-platform 1-10 scores are the authoritative assessment; the 0-100 grade exists only to make longitudinal movement legible.
  • Query-level results matrix: Every query-platform combination with score, response excerpt, and flags — sortable by platform, intent type, or score
  • Trend report: Score changes vs baseline and vs previous check — per-platform and overall, with sparkline indicators for directional trends and specific queries that improved or declined
  • Narrative alignment assessment: Per-platform summary of how well AI responses match desired brand positioning, with specific drift flags, outdated information callouts, and missing attribute gaps
  • Competitive benchmark: If competitors were provided — side-by-side visibility scores, queries where competitors outperform the brand, and narrative territory each brand occupies in AI responses
  • Top opportunities for improvement: Queries and platforms where the brand is absent or underrepresented but competitors are visible, or where high-intent queries return no brand presence
  • Recommended actions ranked by impact: Prioritized list of specific actions — content creation, structured data updates, entity fixes, citation building — with estimated impact on visibility scores and effort level
  • Execution log entry: Timestamped record with query count, platform count, overall score, trend direction, and key flags for audit trail

Agents Used

  • seo-specialist — AI visibility analysis across generative engines, query portfolio design by intent type, visibility scoring with the citation-mention-absent-misrepresentation rubric, narrative alignment assessment against brand positioning, citation building recommendations, structured data optimization for AI discoverability, and prioritized action plans for improving GEO health scores
  • performance-monitor-agent — Trend tracking across monitoring periods with baseline comparison, per-platform and per-query score change detection, threshold alerting for significant visibility drops or gains, competitive score tracking over time, and GEO health score history maintenance for long-term trend analysis
1---
2name: geo-monitor
3description: "Monitor GEO visibility over time across six AI answer engines, with a 0-100 trend. \"is ChatGPT mentioning us\""
4---
5 
6# /digital-marketing-pro:geo-monitor
7 
8> **Script location.** If your host does not set `${CLAUDE_PLUGIN_ROOT}`, the scripts are in this plugin's `scripts/` folder, next to `skills/`. Run them with Python 3.10 or newer: `python`, or `python3` where `python` is not found (macOS, many Linux systems).
9 
10## Purpose
11 
12Monitor and track brand visibility across generative AI engines. Systematically test how AI platforms respond to queries relevant to the brand, score visibility using a structured rubric, track changes over time, and identify opportunities to improve AI presence. This command provides a repeatable, quantitative framework for understanding where and how the brand appears (or fails to appear) in AI-generated responses — giving marketers the data they need to optimize for the emerging generative engine optimization (GEO) channel. Supports baselining, trend tracking, competitive benchmarking, and narrative alignment checks across all major AI platforms.
13 
14**This skill is the RECURRING mode of the canonical AI-visibility scoring standard defined in `/digital-marketing-pro:aeo-audit`.** It does not introduce a second scoring model: it applies the same per-platform 1-10 rubric + gates on a schedule and tracks it over time. The 0-100 GEO health score + A-F letter grade produced below is the **trend view** of that same data — a longitudinal roll-up for spotting momentum, not a competing scorecard. The 6 canonical surfaces (Google AI Mode, Google AI Overviews, ChatGPT, Perplexity, Gemini, Copilot) are defined once as the `PLATFORMS` constant in `scripts/geo-tracker.py`.
15 
16## Probes vs first-party data (checked 2026-10-04)
17 
18The rubric scores below come from **probes**: queries we run and read. They show what an engine *can* say. They are not platform-reported numbers. Where a platform publishes its own visibility data, pull it into the same report as a separate, labeled column and never blend the two:
19 
20| Surface | First-party data to import alongside the probe score | What it does NOT give you |
21|---|---|---|
22| **Copilot** (plus Bing and select partner AI experiences) | **Bing Webmaster Tools → AI Performance**:<br>• citations for your site, and the grounding queries behind them<br>• **Intents**: grounding queries classed as Informational, Commercial, Navigational, Learn and Solve, Research, Creation, Local, and more<br>• **Topics**: grounding queries clustered into themes<br>• **Citation Share**: your citations as a percentage of all citations shown for the same grounding query<br>• **Compare**: overlay a prior period, such as the current 30 days vs the prior 30<br>The four named features are a preview, available globally. Source: [Bing Webmaster blog](https://blogs.bing.com/search/2026/6/New-AI-Visibility-Insights-in-Bing-Webmaster-Tools-Intents-Topics-Citation-Share-Compare/), 16 Jun 2026 | Clicks or traffic. Competitor domains: Citation Share "does not expose competitor domains, represent traffic share, or assign quality scores to content". For competitor benchmarks, keep using probes |
23| **AI Overviews, AI Mode** | Search Console generative AI performance report: impressions by page, country, date and device (`/digital-marketing-pro:gsc-ai-performance`) | Queries, clicks, CTR |
24| **AI Mode / AI Overviews / Gemini app shopping** | Merchant Center **AI performance insights**: brand share of voice against similar brands across discovery, evaluation and purchase. Google said in May 2026 that it would roll out in the U.S., Canada, Australia, India and New Zealand "in the coming months", so confirm it in the account first. Source: [Merchant Center help](https://support.google.com/merchants/answer/17117204) | Per-query citation detail |
25| **ChatGPT, Perplexity, Gemini app (answers)** | None. No first-party citation report exists | Everything. The probe score is the only signal; say so |
26 
27In the trend report, show the probe score and the first-party number in separate columns, each with its own source and date. If Bing Citation Share falls while probe scores rise, or the reverse, flag the divergence as a finding. Do not average it away.
28 
29## Input Required
30 
31The user must provide (or will be prompted for):
32 
33- **Target queries to test**: Organized by intent type — brand queries ("What is [brand]?"), product queries ("[brand] [product] features"), comparison queries ("[brand] vs [competitor]"), and category queries ("best [category] tools"). Minimum 5 queries recommended for meaningful scoring. If not provided, the command will generate a default query portfolio based on the brand profile
34- **AI platforms to monitor**: ChatGPT, Perplexity, Gemini, **Google AI Mode**, AI Overviews, and Copilot — default is all six (AI Mode added May 2026 — it is a distinct surface from AI Overviews and frequently selects different citations for the same query). The user can narrow to specific platforms if they only care about certain engines or have limited testing capacity
35- **Monitoring frequency**: `weekly` or `monthly` — determines how often the brand should be re-tested and how trend data is bucketed. Weekly is recommended for active optimization campaigns, monthly for steady-state monitoring
36- **Competitor brands to benchmark against (optional)**: One or more competitor brand names to test with the same query portfolio — enables side-by-side visibility scoring to understand relative AI presence. If omitted, the report focuses solely on the user's brand without competitive context
37 
38## Process
39 
401. **Load brand context**: Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json`. Extract brand name, product names, category, key differentiators, and desired positioning to inform query portfolio and narrative alignment scoring. Also check for guidelines at `~/.claude-marketing/brands/{slug}/guidelines/_manifest.json` — if present, load brand voice and messaging constraints. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults.
412. **Define query portfolio**: Organize target queries by intent type — informational (what is, how does), navigational (brand-specific), transactional (buy, pricing, sign up), and comparison (vs, alternatives, best). If the user provided queries, classify them into these buckets. If not, generate a balanced portfolio of 10-20 queries from the brand profile covering all four intent types. Each query is tagged with its type for segmented scoring.
423. **Test each query on each platform**: For every query-platform combination, record the AI response and score brand visibility using the rubric — cited with link (10 points: brand is mentioned by name and a direct link to the brand's website or content is provided), mentioned by name (7 points: brand is explicitly named in the response but no link), concept referenced without attribution (3 points: brand's product, feature, or approach is described but the brand itself is not named), absent (0 points: brand does not appear in any form), misrepresented (-5 points: brand is mentioned but with incorrect, outdated, or damaging information). Record the full response text for narrative analysis.
434. **Record results**: Store each query-platform-result via geo-tracker (`--result` takes the rubric value: `cited` = cited with link, `mentioned` = named without link, `concept-only` = concept referenced without attribution, `absent`, `misrepresented`):
44 ```bash
45 python "${CLAUDE_PLUGIN_ROOT}/scripts/geo-tracker.py" \
46 --brand {slug} --action audit-visibility \
47 --query "best project management tool for agencies" \
48 --platform ai-mode \
49 --result cited \
50 --context "AI Mode named the brand and linked its comparison page" \
51 --url "https://brand.example/compare"
52 ```
53 Valid `--platform` values are the 6 canonical surfaces: `ai-mode`, `ai-overviews`, `chatgpt`, `perplexity`, `gemini`, `copilot`.
545. **Compare to baseline**: If previous monitoring data exists, diff current scores against the most recent previous check and the original baseline:
55 ```bash
56 python "${CLAUDE_PLUGIN_ROOT}/scripts/geo-tracker.py" --brand {slug} --action diff
57 ```
58 Identify per-query and per-platform improvements (score increases), declines (score decreases), new appearances (went from absent to visible), lost appearances (went from visible to absent), and new opportunities (queries where competitors appear but the brand does not).
596. **Calculate visibility scores**: Compute per-platform visibility scores (average of all query scores on that platform, scaled 0-100), per-intent-type scores (how visible is the brand for informational vs transactional queries), and an overall GEO health score (weighted average across all platforms and query types). If competitors were provided, calculate the same scores for each competitor to enable ranking.
607. **Assess narrative alignment**: For queries where the brand appears, compare what the AI says against the desired brand positioning from the brand profile. Flag narrative drift (AI describes the brand differently than intended positioning), outdated information (AI cites old features, pricing, or leadership), missing key attributes (AI omits core differentiators), and misrepresentation (AI states something factually incorrect about the brand).
618. **Generate recommendations**: Based on weak spots, produce a prioritized list of actions to improve AI visibility — content to create or update for better citation, structured data to add, entity consistency to fix (cross-reference with `/digital-marketing-pro:entity-audit`), narrative corrections needed, and platforms where investment in visibility would have the highest impact.
62 
63## Output
64 
65A comprehensive AI visibility monitoring report containing:
66 
67- **AI visibility scorecard**: Per-platform scores (ChatGPT, Perplexity, Gemini, **Google AI Mode**, AI Overviews, Copilot — the 6 canonical surfaces) on the shared 1-10 rubric, plus the overall GEO health score scaled 0-100 with letter grade (A-F) as the **trend view** and a trend indicator vs previous check. The per-platform 1-10 scores are the authoritative assessment; the 0-100 grade exists only to make longitudinal movement legible.
68- **Query-level results matrix**: Every query-platform combination with score, response excerpt, and flags — sortable by platform, intent type, or score
69- **Trend report**: Score changes vs baseline and vs previous check — per-platform and overall, with sparkline indicators for directional trends and specific queries that improved or declined
70- **Narrative alignment assessment**: Per-platform summary of how well AI responses match desired brand positioning, with specific drift flags, outdated information callouts, and missing attribute gaps
71- **Competitive benchmark**: If competitors were provided — side-by-side visibility scores, queries where competitors outperform the brand, and narrative territory each brand occupies in AI responses
72- **Top opportunities for improvement**: Queries and platforms where the brand is absent or underrepresented but competitors are visible, or where high-intent queries return no brand presence
73- **Recommended actions ranked by impact**: Prioritized list of specific actions — content creation, structured data updates, entity fixes, citation building — with estimated impact on visibility scores and effort level
74- **Execution log entry**: Timestamped record with query count, platform count, overall score, trend direction, and key flags for audit trail
75 
76## Agents Used
77 
78- **seo-specialist** — AI visibility analysis across generative engines, query portfolio design by intent type, visibility scoring with the citation-mention-absent-misrepresentation rubric, narrative alignment assessment against brand positioning, citation building recommendations, structured data optimization for AI discoverability, and prioritized action plans for improving GEO health scores
79- **performance-monitor-agent** — Trend tracking across monitoring periods with baseline comparison, per-platform and per-query score change detection, threshold alerting for significant visibility drops or gains, competitive score tracking over time, and GEO health score history maintenance for long-term trend analysis
80 

Discussion

Alternatives

AI Search / GEO Optimization (May 2026)Optimize content for AI Overviews (formerly SGE), ChatGPT web search, Perplexity, and other AI-powered search experiences. Generative Engine Optimization (GEO) analysis including brand mention signals, AI crawler accessibility, llms.txt compliance, passage-level citability scoring, and platform-specific optimization. Use when user says "AI Overviews", "SGE", GEO", "AI search", "LLM optimization", "Perplexity", "AI citations", ChatGPT search", or "AI visibility".Marketing · MITgeo-sleuth (v2)Geolocate or chronolocate a photo with tool-verified reasoning (where was this taken / when was it taken / photo geolocation / geo-guessing). Given one or more photos, intake.py does metadata, OCR and reverse image search (Baidu/Yandex) in one command; clues and candidates go on a candidate board (board.py) that ranks them and gives the next step; clues.py looks up calling codes, driving side, plates and area codes from region packs; for satellite and street view the machine ranks first and you look only at the top few (CLIP in sat_scan.py, DINOv2+SIFT in match.py); plus sun and shadow math, OSM Overpass and DEM skylines. Every conclusion is checked against real data; output is coordinates + error radius, evidence images and tiered confidence. Use when the user shares a photo and asks where was this taken / geolocate this / when was this taken / 这是哪 / 在哪拍的 / 帮我定位这张照片 / 网络迷踪 / 图寻 / 几点拍的.Marketing · MITAI visibilityMeasure real AI-engine visibility — traffic from ChatGPT, Perplexity, Claude, Gemini and which pages they cite — from actual GA4 referral data, not prompt sampling. Use when asked "AI visibility", "GEO/AEO check", "do LLMs cite us", "traffic from ChatGPT", or "how do we show up in AI search".Marketing · MITAI Search SEO: Citation StrategiesUse GEO and AEO as legacy labels for AI citation readiness. For Google, theMarketing · MIT