| name | gsc-deep-dive |
| description | Use when the user wants Google Search Console data pulled directly into the session instead of manually screenshotting / CSV-exporting from search.google.com. Pulls top queries, top pages, coverage status, manual actions, security issues, and Core Web Vitals field data via the GSC API in one call. Triggers from "pull GSC data for example.com", "Search Console deep dive", "GSC queries last 90 days", "GSC coverage report", "GSC indexing status", "GSC manual actions check", "GSC Core Web Vitals field data". Removes the manual GSC click-through that is the friction point of every recovery / audit session. |
| user-invokable | true |
| argument-hint | [domain] [days?] |
| allowed-tools | ["Read","Write","Bash(node:*)","Bash(curl:*)"] |
| license | MIT |
| metadata | {"author":"Max Schottke","version":"0.4.1","category":"marketing"} |
GSC Deep Dive
Overview
Google Search Console is the canonical source for what users actually search and click on your site, plus Google's own assessment of indexability, manual actions, security, and Core Web Vitals field data. Most workflows force the user to manually open GSC, click through 5-7 reports, screenshot or CSV-export each, and paste into the Claude context.
This skill removes that friction: one config (service-account JSON or OAuth token), one command, full JSON dump. From there, [[post-core-update-recovery]], [[seo-outreach-report]], and [[ai-search-rescue]] consume the data directly.
When to use
- A site running active recovery — pull GSC weekly to track query / page / impression drift in one report
- An audit handoff — gather every GSC signal in one JSON before invoking [[seo-outreach-report]]
- Verifying a recommendation actually landed — re-pull after 2-4 weeks and diff against the previous snapshot
- A YMYL / B2B site — manual actions + security issues + indexation status are the YMYL-relevant signals
- An agency onboarding a client — first-call data gathering in <5 minutes
Don't use for:
- Real-time monitoring (GSC data lags ~2 days for fresh queries, ~7 days for impressions)
- Competitor data (GSC only shows your own property)
- Backlink analysis (GSC has a backlink view but [[seo-outreach-report]] / [[competitor-deep-audit]] pull DataForSEO's more complete dataset)
What gets pulled
Per run, the script writes a single JSON file containing:
| Field | Source | What it tells you |
|---|
site | config | The verified GSC property |
period | start_date / end_date | The window queried (default last 90 days) |
top_queries | searchanalytics.query (rows=500) | Top 500 queries by clicks: keyword, clicks, impressions, CTR, position |
top_pages | searchanalytics.page (rows=500) | Top 500 pages by clicks: URL, clicks, impressions, CTR, position |
query_page_pairs | searchanalytics.query+page (rows=1000) | What page ranks for what query (most useful for cannibalisation detection) |
coverage |