indranilbanerjee/gsc-ai-performance
Query and interpret the new Google Search Console AI Performance Report (AI Overviews + AI Mode impressions/pages/countries/devices/dates). Use when: baselining AI search visibility, reading the new GSC AI report, or configuring the in-Search-Console AI opt-out toggle.
npx skills add https://github.com/indranilbanerjee/digital-marketing-pro --skill gsc-ai-performance
Google rolled out a new GSC AI Performance Report on 3 June 2026 (Search Engine Land announcement) covering both AI Overviews and AI Mode in a single combined surface. This skill helps you (a) baseline a brand's visibility in the new report, (b) understand the metric trade-offs, and (c) decide whether to use the new in-SC opt-out toggle.
| Metric / surface | Status |
|---|---|
| Combined AI Overviews + AI Mode impressions | NEW — one report for both surfaces |
| Pages cited (per query group) | NEW |
| Country breakdown | NEW |
| Device breakdown | NEW |
| Date range filtering | NEW |
| Click data | NOT INCLUDED (Google explicitly excluded — important caveat for attribution) |
| Opt-out toggle in Search Console | NEW (replaces having to ship robots.txt / meta tags for AI-specific exclusion) |
| API surface | NOT YET PUBLISHED — UI only (still true as of July 2026) |
| Discover generative surfaces | NEW (June–July 2026) — the report family now also covers generative AI features in Discover (Google announcement) |
| Data availability | Backfilled from 18 May 2026; access expanded broadly in July 2026, with a companion deep-dive help doc on AI controls |
| Geographic rollout | UK first, then global (source) |
Critical interpretation guidance: The report shows when your pages were SHOWN in AI Overviews / AI Mode, not when users clicked through to them. Because click data is absent, all downstream attribution to AI traffic must come from your analytics (GA4's new AI Assistant channel — added 13 May 2026 — is the matching analytics-side surface; see /digital-marketing-pro:analytics-insights).
aeo-audit synthetic results — the GSC report shows ACTUAL impressions vs aeo-audit's probe queries~/.claude-marketing/brands/_active-brand.json for the active slug, then load ~/.claude-marketing/brands/{slug}/profile.jsonskills/context-engine/industry-profiles.md (YMYL industries may want opt-out toggled ON until E-E-A-T audit is clean)skills/context-engine/compliance-rules.md for jurisdiction-specific rules (EU markets — see skills/context-engine/eu-code-of-practice.md for Article 50 transparency context)All outputs go to ${CLAUDE_PLUGIN_DATA}/{brand}/seo/gsc-ai-performance/{YYYY-MM-DD}/:
00-input.md brand domain, GSC access status, UK-cohort flag, date range
01-access-check.md verification result; if no access, instructions for adding the user
02-export.csv raw CSV export from GSC (preserved for reproducibility)
03-script-output.json gsc-ai-performance.py parsed output (impressions, pages, countries, devices)
04-reconciliation.md vs aeo-audit synthetic probe results — gap analysis
05-opt-out-decision.md y/n on the in-SC opt-out toggle, with rationale
06-quality-scorecard.md the gates below
PLAN.md single-page summary with tracking cadence
| Gate | What it checks |
|---|---|
| gsc_access_verified | User has confirmed Search Console verified ownership for the brand domain |
| export_completeness | CSV has ≥ 1 day of data + at minimum the impressions column |
| cohort_documented | 00-input.md notes whether the brand is in the UK rollout (data live) or pending global rollout (no data yet — wait) |
| reconciliation_done | 04-reconciliation.md cross-references against the brand's most recent aeo-audit |
If the brand isn't in the UK rollout yet, the gate framework still applies but export_completeness will be fail until Google rolls out globally — that's expected, not a regression.
/digital-marketing-pro:brand-setup for property verification/digital-marketing-pro:aeo-geo — optimization based on what's surfacing (or not)/digital-marketing-pro:seo-drift — month-over-month tracking using the exported CSVs/digital-marketing-pro:analytics-insights — GA4 AI Assistant channel attribution closes the click-side gap python "${CLAUDE_PLUGIN_ROOT}/scripts/gsc-ai-performance.py" \
--brand {slug} \
--csv "${CLAUDE_PLUGIN_DATA}/{brand}/seo/gsc-ai-performance/{date}/02-export.csv" \
--format json \
--archive
Real flags only: --brand (required), --csv (path to the GSC export), --api (best-effort; Google has not published an AI-report API yet), --site, --format text|json, --archive. There is no summary subcommand — the script reads the CSV and emits the parsed metrics.
aeo-audit — synthetic queries from /digital-marketing-pro:aeo-audit test what AI engines *might* surface; the GSC report shows what they *actually* surfaced. Significant gaps either way are signals:/digital-marketing-pro:aeo-geo for the optimization playbook (entity consistency, citation-worthy snippets, knowledge graph alignment).gsc-ai-performance baseline (CSV export → dated archive folder) so trend lines emerge over the next 6–12 months as AI search adoption grows.A structured GSC AI performance brief containing:
aeo-audit synthetic results, with gap notesaeo-geo)AI Assistant channel group, added 13 May 2026, captures Medium=ai-assistant referrals from ChatGPT/Gemini/Claude). Note: GA4's channel may or may not specifically attribute Google's own AI Mode traffic the same way — verify in your property.searchanalytics.query) before automating against it. Current automation must rely on CSV export + manual upload.seo-specialist (primary) — for interpretation and recommendation framinganalytics-analyst — for the GA4 reconciliation when AI Assistant channel data is availablebrand-guardian — for the opt-out decision when brand-safety or compliance is in play/digital-marketing-pro:aeo-audit — synthetic AI-engine probing/digital-marketing-pro:aeo-geo — optimization playbook for AI visibility/digital-marketing-pro:analytics-insights — GA4 AI Assistant channel attributionskills/context-engine/eu-code-of-practice.md — EU Article 50 transparency context for AI-cited contentscripts/gsc-ai-performance.py — helper script (placeholder until Google publishes API; reads exported CSV today)Take indranilbanerjee/gsc-ai-performance 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.