Credential Tier Detection
Always communicate the detected tier before running commands. Claude SEO checks ~/.config/claude-seo/google-api.json on every invocation. If you only have an API key, only Tier 0 commands surface. If GSC OAuth is wired up, Tier 1 commands unlock. If your GA4 property ID is set, Tier 2 unlocks. If Ads credentials are present, Tier 3 unlocks. You never get prompted for commands you cannot run.
Commands by Tier
| Command | What it does | Tier |
/seo google setup | Check/configure API credentials | -- |
/seo google pagespeed <url> | PSI Lighthouse + CrUX field data | 0 |
/seo google crux <url> | CrUX field data only (p75 metrics) | 0 |
/seo google crux-history <url> | 25-week CWV trend analysis | 0 |
/seo google youtube <query> | YouTube video search (views, likes, duration) | 0 |
/seo google youtube-video <id> | YouTube video details + top comments | 0 |
/seo google nlp <url-or-text> | NLP entity extraction + sentiment + classification | 0 |
/seo google entities <url-or-text> | Entity analysis only (for E-E-A-T) | 0 |
/seo google entity <query> | Knowledge Graph entity check | 0 |
/seo google safety <url> | Web Risk URL safety check | 0 |
/seo google gsc <property> | Search Console: clicks, impressions, CTR, position | 1 |
/seo google inspect <url> | URL Inspection: index status, canonical, crawl info | 1 |
/seo google inspect-batch <file> | Batch URL Inspection from file | 1 |
/seo google sitemaps <property> | GSC sitemap status | 1 |
/seo google index <url> | Submit URL to Indexing API | 1 |
/seo google index-batch <file> | Batch submit up to 200 URLs | 1 |
/seo google ga4 [property-id] | GA4 organic traffic report | 2 |
/seo google ga4-pages [property-id] | Top organic landing pages | 2 |
/seo google keywords <seed> | Keyword ideas from Google Ads Keyword Planner | 3 |
/seo google volume <keywords> | Search volume lookup from Keyword Planner | 3 |
Generating Reports
After any analysis command, run /seo google report <type> to produce a styled deliverable. Report types are cwv-audit (Core Web Vitals from PSI + CrUX + history), gsc-performance (Search Console query tables and quick wins), indexation (batch inspection with coverage donut), and full (everything). PDF output uses WeasyPrint with matplotlib charts. Excel output ships with Summary, Queries, Pages, and Indexation sheets, frozen header rows, and auto-filter enabled, so pivots are one click away.
Rate Limits
The skill respects published Google quotas and reports them via /seo google quotas:
- PageSpeed Insights v5: 240 QPM, 25,000 QPD (API key)
- CrUX + History: 150 QPM shared, unlimited daily (API key)
- GSC Search Analytics: 1,200 QPM per site, 30M QPD (service account)
- GSC URL Inspection: 600 QPM, 2,000 QPD per site (service account)
- Indexing API: 380 RPM, 200 publish per day (service account)
- GA4 Data API: 10 concurrent, ~25K tokens per day (service account)
Technical Notes
- INP replaced FID on March 12, 2024. The skill never references FID.
- CLS values from CrUX are string-encoded (e.g. "0.05"). Scripts handle parsing.
- CrUX 404 means insufficient Chrome traffic, not an auth error. PSI lab data is the fallback.
- Search Analytics data has a 2-3 day lag. Reports note data freshness.
round_trip_time replaced effectiveConnectionType in CrUX in Feb 2025.