Skip to main content Startseite Ersteller dotusmanali antigravity-seo seo-google
seo-google Google SEO APIs: Search Console (Search Analytics, URL Inspection, Sitemaps), PageSpeed Insights v5, CrUX field data with 25-week history, Indexing API v3, and GA4 organic traffic. Provides real Google field data for Core Web Vitals, indexation status, search performance, and organic traffic trends. Use when user says "search console", "GSC", "PageSpeed", "CrUX", "field data", "indexing API", "GA4 organic", "URL inspection", "google api setup", "real CWV data", "impressions", "clicks", "CTR", "position data", "LCP", "INP", "CLS", "FCP", "TTFB", or "Lighthouse scores".
Zur Installation springen Skills Marktplatz Entdecken und erkunden Sie KI-Skills, die von der Community erstellt wurden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Prompt kopierenPrompt-Details anzeigen Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
npx skills add https://github.com/dotusmanali/antigravity-seo --skill seo-googleDer Befehl bleibt in einer Zeile. Scrollen Sie horizontal, um ihn vor dem Kopieren vollständig zu prüfen.
Sie bevorzugen eine lokale Kopie? Laden Sie die Dateien herunter, die SkillsMP derzeit vorliegen.
ZIP herunterladen Herunterladen... Mehr aus diesem Repository
Generate audio narration of blog posts using Google Gemini TTS. Supports summary narration, full article read-aloud, and two-speaker podcast/dialogue mode with 30 voice options. Outputs MP3 with HTML5 audio embed code. Works standalone via /blog audio or internally from blog-write. Falls back gracefully when API key is not configured. Use when user says "blog audio", "narrate blog", "audio version", "text to speech", "tts", "podcast mode", "read aloud", "audio narration", "voice", "narration", "generate audio".
Research what people are actually saying about a topic in the last 30 days across Reddit, X / Twitter, YouTube, Hacker News, dev.to, Medium, and other public discourse platforms. API-free; uses WebSearch with platform-targeted site operators plus recency filters. Produces DISCOURSE.md (a structured brief) and JSON output the writer can consume. Complements blog-researcher (which focuses on authority sources) with a recency-and-engagement lens. Use when user says "blog discourse", "discourse research", "what are people saying about", "research what people are saying", "voice of customer", "social listening", "30-day research", "trend research", "what's the discussion on", "real-time research", "practitioner discourse", "/blog discourse".
Verify statistics and claims in blog posts by fetching cited source URLs and checking if the claimed data actually appears on the page. Extracts all statistical claims (numbers, percentages, named sources), fetches each cited URL via WebFetch, and scores match confidence (exact match 1.0, paraphrase 0.7-0.9, not found 0.0). Flags uncited claims as UNVERIFIED. Use when user says "fact check", "verify statistics", "check sources", "validate claims", "factcheck", "source verification".
Verwandte Berufe SOC
Basierend auf der SOC-Berufsklassifikation
name seo-google description Google SEO APIs: Search Console (Search Analytics, URL Inspection, Sitemaps), PageSpeed Insights v5, CrUX field data with 25-week history, Indexing API v3, and GA4 organic traffic. Provides real Google field data for Core Web Vitals, indexation status, search performance, and organic traffic trends. Use when user says "search console", "GSC", "PageSpeed", "CrUX", "field data", "indexing API", "GA4 organic", "URL inspection", "google api setup", "real CWV data", "impressions", "clicks", "CTR", "position data", "LCP", "INP", "CLS", "FCP", "TTFB", or "Lighthouse scores".
user-invokable true argument-hint [command] [url|property] license MIT metadata {"author":"dotusmanali","version":"2.0.0","category":"seo"} id seo-google domain geo-ai invoked_by ["seo-google","seo"] depends_on []
Google SEO APIs
Shared Data Cache
Step 0 -- Check shared data cache:
Before gathering, check .seo-cache/ for reusable context from related SEO skills.
Reference: ../seo/references/shared-data-cache.md for schemas and dependency map.
Check these cache files when present:
.seo-cache/site-meta.json for domain, business type, industry, and crawl context
.seo-cache/audit-scores.json for prior full-audit priorities
.seo-cache/pages/{url-slug}/page-analysis.json for page-level context when a URL is provided
If found: parse and use clearly valid fields (note "Using cached [X] from [date]")
If missing, corrupt, or irrelevant: continue with fresh evidence
If the user says "refresh" or "re-run": ignore cache reads and overwrite on write
Direct access to Google's own SEO data. Bridges the gap between crawl-based
analysis (existing antigravity-seo skills) and Google's real-time field data: actual
Chrome user metrics, real indexation status, search performance, and organic traffic.
All APIs are free. Setup requires a Google Cloud project with API key and/or
service account -- run /seo google setup for step-by-step instructions.
MCP Integration
This skill is enhanced by the following MCP servers:
google-ads : Real-time keyword suggestions and trending terms from Google Suggest.
google-keyword-planner : Accurate search volume, competition, and CPC data (requires Tier 3 credentials).
google-trends : Market interest and seasonal analysis (see seo-trends skill).
Prerequisites
Before executing any command, check credentials:
python scripts/google_auth.py --check --json
Config file: ~/.config/antigravity-seo/google-api.json
{
"service_account_path" : "/path/to/service_account.json" ,
"api_key" :
"AIzaSy..."
,
"default_property"
:
"sc-domain:example.com"
,
"ga4_property_id"
:
"properties/123456789"
}
If missing, read references/auth-setup.md and walk the user through setup.
Credential Tiers Tier Detection Available Commands 0 (API Key)api_key presentpagespeed, crux, crux-history, youtube, nlp1 (OAuth/SA)+ OAuth token or service account Tier 0 + gsc, inspect, sitemaps, index 2 (Full)+ ga4_property_id configured Tier 1 + ga4, ga4-pages 3 (Ads)+ ads_developer_token + ads_customer_id Tier 2 + keywords, volume
Always communicate the detected tier before running commands.
Quick Reference Command What it does Tier /seo google setupCheck/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 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 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 keywords <seed>Keyword ideas from Google Ads Keyword Planner 3 /seo google volume <keywords>Search volume lookup from Keyword Planner 3 /seo google entity <query>Knowledge Graph entity check 0 /seo google safety <url>Web Risk URL safety check 0 /seo google quotasShow rate limits for all APIs --
PageSpeed + CrUX
/seo google pagespeed <url>Combined Lighthouse lab data + CrUX field data.
Script: python scripts/pagespeed_check.py <url> --json
Reference: references/pagespeed-crux-api.md
Default: Both mobile + desktop strategies, all Lighthouse categories.
Output merges lab scores (point-in-time Lighthouse) with field data (28-day
Chrome user metrics). CrUX tries URL-level first, falls back to origin-level.
/seo google crux <url>CrUX field data only (no Lighthouse run). Faster.
Script: python scripts/pagespeed_check.py <url> --crux-only --json
/seo google crux-history <url>25-week CrUX History trends. Shows whether CWV metrics are improving, stable, or degrading.
Script: python scripts/crux_history.py <url> --json
Reference: references/pagespeed-crux-api.md
Output includes per-metric trend direction, percentage change, and weekly p75 values.
Search Console
/seo google gsc <property>Search Analytics: clicks, impressions, CTR, position for last 28 days.
Script: python scripts/gsc_query.py --property <property> --json
Reference: references/search-console-api.md
Default: 28 days, dimensions=query,page, type=web, limit=1000.
Includes quick-win detection: queries at position 4-10 with high impressions.
/seo google inspect <url>URL Inspection: real indexation status from Google.
Script: python scripts/gsc_inspect.py <url> --json
Returns: verdict (PASS/FAIL), coverage state, robots.txt status, indexing state,
page fetch state, canonical selection, mobile usability, rich results.
/seo google inspect-batch <file>Batch inspection from a file (one URL per line). Rate limited to 2,000/day per site.
Script: python scripts/gsc_inspect.py --batch <file> --json
/seo google sitemaps <property>List submitted sitemaps with status, errors, warnings.
Script: python scripts/gsc_query.py sitemaps --property <property> --json
Indexing API
/seo google index <url>Notify Google of a URL update.
Script: python scripts/indexing_notify.py <url> --json
Reference: references/indexing-api.md
The Indexing API is officially for JobPosting and BroadcastEvent/VideoObject pages.
Always inform the user of this restriction. Daily quota: 200 publish requests.
/seo google index-batch <file>Batch submit URLs from a file. Tracks quota usage.
Script: python scripts/indexing_notify.py --batch <file> --json
GA4 Traffic
/seo google ga4 [property-id]Organic traffic report: daily sessions, users, pageviews, bounce rate, engagement.
Script: python scripts/ga4_report.py --property <id> --json
Reference: references/ga4-data-api.md
Default: 28 days, filtered to Organic Search channel group.
/seo google ga4-pages [property-id]Top organic landing pages ranked by sessions.
Script: python scripts/ga4_report.py --property <id> --report top-pages --json
YouTube (Video SEO) YouTube mentions have the strongest AI visibility correlation (0.737). Free, API key only.
/seo google youtube <query>Search YouTube for videos. Returns title, channel, views, likes, duration.
Script: python scripts/youtube_search.py search "<query>" --json
Reference: references/youtube-api.md
Quota: 100 units per search (10,000 units/day free).
/seo google youtube-video <video_id>Detailed video info + tags + top 10 comments.
Script: python scripts/youtube_search.py video <video_id> --json
Quota: 2 units (video details + comments).
NLP Content Analysis Google's own entity/sentiment analysis. Enhances E-E-A-T scoring.
/seo google nlp <url-or-text>Full NLP analysis: entities, sentiment, content classification.
Script: python scripts/nlp_analyze.py --url <url> --json or --text "..."
Reference: references/nlp-api.md
Free tier: 5,000 units/month. Requires billing enabled on GCP project.
/seo google entities <url-or-text>Entity extraction only (faster, less quota).
Script: python scripts/nlp_analyze.py --url <url> --features entities --json
Keyword Research (Google Ads) Gold-standard keyword volume data. Requires Google Ads account.
/seo google keywords <seed>Generate keyword ideas from seed terms.
Script: python scripts/keyword_planner.py ideas "<seed>" --json
Reference: references/keyword-planner-api.md
Requires: Ads developer token + customer ID in config (Tier 3).
/seo google volume <keywords>Search volume for specific keywords (comma-separated).
Script: python scripts/keyword_planner.py volume "<kw1>,<kw2>" --json
Supplementary
/seo google entity <query>Knowledge Graph entity check. Verifies brand presence.
Reference: references/supplementary-apis.md
Uses Knowledge Graph Search API with API key.
/seo google safety <url>Web Risk API check for malware/social engineering flags.
Reference: references/supplementary-apis.md
/seo google quotasDisplay rate limits table. Read references/rate-limits-quotas.md.
Reports After any analysis command, offer to generate a PDF/HTML report.
/seo google report <type>Generate a professional PDF report with charts and analytics.
Script: python scripts/google_report.py --type <type> --data <json> --domain <domain> --format pdf
Type Input Output cwv-auditPSI + CrUX + CrUX History data Core Web Vitals audit with gauges, timelines, distributions gsc-performanceGSC query data Search Console report with query tables, quick wins indexationBatch inspection data Indexation status with coverage donut chart fullAll data combined Comprehensive Google SEO report (all sections)
Run data collection commands (pagespeed, gsc, inspect-batch, etc.)
Save JSON output to file: python scripts/pagespeed_check.py <url> --json > data.json
Generate report: python scripts/google_report.py --type cwv-audit --data data.json --domain <domain>
Convention: After completing analysis, suggest: "Generate a report? Use /seo google report <type>"
Rate Limits API Per-Minute Per-Day Auth PSI v5 240 QPM 25,000 QPD API Key CrUX + History 150 QPM (shared) Unlimited API Key GSC Search Analytics 1,200 QPM/site 30M QPD Service Account GSC URL Inspection 600 QPM 2,000 QPD/site Service Account Indexing API 380 RPM 200 publish/day Service Account GA4 Data API 10 concurrent ~25K tokens/day Service Account
Cross-Skill Integration
seo-audit : Spawns seo-google agent for live CWV + indexation data (conditional)
seo-technical : Uses pagespeed_check.py for real CWV field data
seo-performance : CrUX field data supplements Lighthouse lab data
seo-sitemap : GSC sitemap status shows real crawl/index coverage
seo-content : GSC query data informs keyword targeting
seo-geo : GSC search appearance data includes AI Overview references
Output Format
CWV metrics: traffic-light rating (Good / Needs Improvement / Poor)
Performance reports: tables with sortable columns
Always include data freshness note
Save reports as GOOGLE-API-REPORT-{domain}.md
Use templates from assets/templates/ for structured output
Technical Notes
INP replaced FID on March 12, 2024. Never reference FID.
CLS values from CrUX are string-encoded (e.g., "0.05"). Scripts handle parsing.
CrUX 404 = insufficient traffic, not an auth error.
Search Analytics data has 2-3 day lag.
round_trip_time replaced effectiveConnectionType in CrUX (Feb 2025).
Custom Search JSON API is closed to new customers (2025).
Error Handling Scenario Action No credentials configured Run /seo google setup. List Tier 0 commands that work with just an API key. Service account lacks GSC access Report error. Instruct: add client_email to GSC > Settings > Users > Add. CrUX data unavailable (404) Report insufficient Chrome traffic. Suggest PSI lab data as fallback. GA4 property not found Report error. Show how to find property ID in GA4 Admin > Property Details. Indexing API quota exceeded Report 200/day limit. Suggest prioritizing most important URLs. Rate limit (429) Wait and retry with exponential backoff. Report which API hit the limit.
Write to shared data cache After completing all work, write a concise JSON summary to .seo-cache/ when the workflow produced durable findings.
Use the schemas and naming rules in ../seo/references/shared-data-cache.md; include at least cache_type, analyzed_at, source URL/domain, key findings, issues, recommendations, and tool limitations. Add .seo-cache/ to .gitignore if it is missing.
Extended Capabilities (from blog-google) Direct access to Google's SEO APIs for blog performance analysis. Provides real
Chrome user metrics, indexation status, search performance, entity analysis, YouTube
video discovery, keyword volumes, and PDF/HTML performance reports.
All APIs are free at normal usage levels. Setup requires a Google Cloud project
with an API key and/or service account.
Prerequisites Always check credentials before running any command:
python3 scripts/run.py google_auth --check --json
Config file: ~/.config/antigravity-seo/google-api.json (shared with antigravity-seo)
{
"api_key" : "AIzaSy..." ,
"oauth_client_path" : "/path/to/client_secret.json" ,
"default_property" : "sc-domain:example.com" ,
"ga4_property_id" : "properties/123456789" ,
"ads_developer_token" : "..." ,
"ads_customer_id" : "123-456-7890"
}
If missing, read references/auth-setup.md and walk the user through setup.
Credential Tiers Tier Detection Available Commands 0 (API Key)api_key presentpagespeed, crux, crux-history, youtube, nlp1 (OAuth/SA)+ OAuth token or service account Tier 0 + gsc, inspect, index 2 (Full)+ ga4_property_id configured Tier 1 + ga4 3 (Ads)+ ads_developer_token + ads_customer_id Tier 2 + keywords
Always communicate the detected tier before running commands.
Quick Reference Command What it does Tier /blog google setupCheck/configure API credentials : /blog google pagespeed <url>PSI Lighthouse + CrUX field data 0 /blog google crux <url>CrUX field data only (p75 metrics) 0 /blog google crux-history <url>25-week CWV trend analysis 0 /blog google youtube <query>YouTube video search (views, likes, duration) 0 /blog google nlp <url-or-text>NLP entity extraction + sentiment 0 /blog google gsc <property>Search Console: clicks, impressions, CTR, position 1 /blog google inspect <url>URL Inspection: index status, canonical 1 /blog google index <url>Submit URL to Indexing API 1 /blog google ga4 [property-id]GA4 organic traffic report 2 /blog google keywords <seed>Keyword ideas from Google Ads Keyword Planner 3 /blog google report <type>PDF/HTML performance report : /blog google quotasShow rate limits for all APIs :
PageSpeed + CrUX
/blog google pagespeed <url>Combined Lighthouse lab data + CrUX field data for a published blog post.
Script: python3 scripts/run.py pagespeed_check <url> --json
Reference: references/api-reference.md
Output merges lab scores (point-in-time Lighthouse) with field data (28-day
Chrome user metrics). CrUX tries URL-level first, falls back to origin-level.
/blog google crux <url>CrUX field data only (no Lighthouse run). Faster.
Script: python3 scripts/run.py pagespeed_check <url> --crux-only --json
/blog google crux-history <url>25-week CrUX History trends. Shows whether CWV metrics are improving, stable, or degrading.
Script: python3 scripts/run.py crux_history <url> --json
Search Console
/blog google gsc <property>Search Analytics: clicks, impressions, CTR, position for last 28 days.
Script: python3 scripts/run.py gsc_query --property <property> --json
Default: 28 days, dimensions=query,page, type=web, limit=1000.
Includes quick-win detection: queries at position 4-10 with high impressions.
/blog google inspect <url>URL Inspection: real indexation status from Google.
Script: python3 scripts/run.py gsc_inspect <url> --json
Returns: verdict (PASS/FAIL), coverage state, robots.txt status, indexing state,
page fetch state, canonical selection, mobile usability, rich results.
For batch inspection: python3 scripts/run.py gsc_inspect --batch <file> --json
Indexing API
/blog google index <url>Notify Google of a URL update. Submit new blog posts for faster indexation.
Script: python3 scripts/run.py indexing_notify <url> --json
Reference: references/api-reference.md
The Indexing API is officially for JobPosting and BroadcastEvent/VideoObject pages.
Always inform the user of this restriction. Daily quota: 200 publish requests.
For batch: python3 scripts/run.py indexing_notify --batch <file> --json
GA4 Traffic
/blog google ga4 [property-id]Organic traffic report: daily sessions, users, pageviews, bounce rate, engagement.
Script: python3 scripts/run.py ga4_report --property <id> --json
Default: 28 days, filtered to Organic Search channel group.
For top landing pages: python3 scripts/run.py ga4_report --property <id> --report top-pages --json
YouTube (Video Discovery) YouTube mentions have the strongest AI visibility correlation (0.737, Ahrefs 75K brands).
Free, API key only. Used by blog-write and blog-rewrite for video embedding.
/blog google youtube <query>Search YouTube for videos relevant to a blog topic.
Script: python3 scripts/run.py youtube_search search "<query>" --json
Quota: 100 units per search (10,000 units/day free).
Returns: title, channel, views, likes, duration, description, tags.
For video details + comments: python3 scripts/run.py youtube_search video <video_id> --json
NLP Content Analysis Google's own entity/sentiment analysis. Enhances E-E-A-T scoring for blog content.
/blog google nlp <url-or-text>Full NLP analysis: entities, sentiment, content classification.
Script: python3 scripts/run.py nlp_analyze --url <url> --json
Free tier: 5,000 units/month. Requires billing enabled on GCP project.
For entity extraction only: python3 scripts/run.py nlp_analyze --url <url> --features entities --json
Keyword Research (Google Ads) Gold-standard keyword volume data. Requires Google Ads account (Tier 3).
/blog google keywords <seed>Generate keyword ideas from seed terms for blog topic research.
Script: python3 scripts/run.py keyword_planner ideas "<seed>" --json
For volume lookup: python3 scripts/run.py keyword_planner volume "<kw1>,<kw2>" --json
Reports
/blog google report <type>Generate a professional PDF/HTML report with charts.
Script: python3 scripts/run.py google_report --type <type> --data <json> --domain <domain> --format pdf
Type Input Output cwv-auditPSI + CrUX + CrUX History data Core Web Vitals audit with gauges, timelines gsc-performanceGSC query data Search Console report with query tables indexationBatch inspection data Indexation status with coverage donut fullAll data combined Comprehensive Google SEO report
Note: PDF generation requires system libraries: sudo apt install libpango1.0-dev libcairo2-dev.
Falls back to HTML if weasyprint is unavailable.
Rate Limits API Per-Minute Per-Day Auth PSI v5 240 QPM 25,000 QPD API Key CrUX + History 150 QPM (shared) Unlimited API Key GSC Search Analytics 1,200 QPM/site 30M QPD Service Account GSC URL Inspection 600 QPM 2,000 QPD/site Service Account Indexing API 380 RPM 200 publish/day Service Account GA4 Data API 10 concurrent (50 for 360) 200K Core Tokens/day (2M for 360) Service Account YouTube Data : 10,000 units/day API Key NLP API : 5,000 units/month API Key (billing)
Read references/rate-limits-quotas.md for detailed quota management.
Blog Workflow Integration This skill is both user-invocable (/blog google pagespeed) and callable
internally by other blog sub-skills:
blog-seo-check : Runs PSI + CrUX on published post URL for live CWV data
blog-rewrite : NLP entity analysis to identify E-E-A-T entity gaps
seo-geo : GSC performance data for real search appearance insights
seo-audit : Batch CWV + indexation checks across all published blog URLs
blog-write / blog-rewrite : YouTube search for video embedding
Falls back gracefully when credentials are not configured.
Technical Notes
INP replaced FID on March 12, 2024. Never reference FID.
CLS values from CrUX are string-encoded (e.g., "0.05"). Scripts handle parsing.
CrUX 404 = insufficient Chrome traffic, not an auth error.
Search Analytics data has 2-3 day lag.
Indexing API is officially for JobPosting/BroadcastEvent pages only.
All Google APIs used are FREE at normal usage levels.
Error Handling Scenario Action No credentials configured Run /blog google setup. List Tier 0 commands (API key only). Service account lacks GSC access Add client_email to GSC > Settings > Users > Add. CrUX data unavailable (404) Insufficient Chrome traffic. Use PSI lab data as fallback. GA4 property not found Find property ID in GA4 Admin > Property Details. Indexing API quota exceeded 200/day limit. Prioritize most important URLs. Rate limit (429) Wait and retry with exponential backoff.