Skills Agentes

Blog Google

Integración con las APIs de Google para rendimiento de blog: PageSpeed Insights, CrUX con 25 semanas de histórico, Search Console, URL Inspection, Indexing API, GA4, NLP de entidades, YouTube y Keyword Planner.

Estrellas
2.1k

en todo el repo

Actividad
71

0–100, la ruta de este skill

Actualizado
hace 19 días

último commit aquí

Commits
14

últimos 90 días

Contexto
3.3k tok

165 tok en reposo

Paquete
24 archivos

345 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add AgriciDaniel/claude-blog --skill blog-google --agent claude-code

Se instala solo en este repositorio.

Este skill makes network requests, needs API credentials.

Qué hace

  • Detecta el nivel de credenciales disponible, de 0 a 3, y solo ofrece los comandos de ese nivel, avisando siempre del nivel detectado
  • Lee la configuración de `~/.config/claude-seo/google-api.json`, compartida con claude-seo
  • Combina datos de laboratorio de Lighthouse con datos de campo de CrUX y detecta quick wins: consultas en posición 4-10 con muchas impresiones
  • Genera informes en PDF o HTML de Core Web Vitals, rendimiento en Search Console, indexación o todo junto
  • Marca como `SKIPPED` lo que no puede consultar en lugar de rellenar el hueco con métricas estimadas

Úsalo cuando

  • El usuario dice "datos de Google", "page speed", "core web vitals", "search console", "indexación", "GA4" o "entidades NLP"
  • Otra subskill de blog necesita datos reales de rendimiento o indexación de una URL publicada

No lo uses cuando

    Qué lo activa

    Di cualquiera de estas frases y el agente debería cargar este skill.

    • Mide el PageSpeed de esta URL
    • Sácame el rendimiento en Search Console de los últimos 28 días
    • ¿Está indexada esta página?

    SKILL.md

    En inglés

    Blog Google: Google API Data for Blog Performance

    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.

    Most integrations have no usage fee within their documented quotas. Cloud Natural Language requires billing and can incur charges after its free monthly tier. Google Ads requires an eligible account and developer token. Never enable billing or make a paid request without explicit user approval.

    Prerequisites

    Always check credentials before running any command:

    python3 skills/blog-google/scripts/run.py google_auth --check --json
    

    Config file: ~/.config/claude-seo/google-api.json (shared with claude-seo)

    {
      "api_key": "YOUR_GOOGLE_API_KEY",
      "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",
      "ads_login_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 present pagespeed, crux, crux-history, youtube, nlp
    1 (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 setup Check/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 quotas Show 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 skills/blog-google/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 skills/blog-google/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 skills/blog-google/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 skills/blog-google/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.

    The dedicated Search Console generative-AI reports are a gradual, subset rollout in the Search Console UI. They have separate Search and Discover views; the Search view covers AI Overviews and AI Mode. Do not promise clicks, queries, or API retrieval from these dedicated views. Until Google documents an API, report that capability as SKIPPED or unavailable and point the user to the UI.

    Google's July 29 Search Central announcement says Search Console platform properties for Instagram, TikTok, X, and YouTube are globally available. The current Help Center still says gradual rollout. Report this as a Google-source conflict, verify availability in the user's account, and do not claim that /blog google gsc retrieves these platform reports through the current API.

    /blog google inspect <url>

    URL Inspection: real indexation status from Google.

    Script: python3 skills/blog-google/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.

    After a canonicalization fix, Google may retain the URL in a duplicate cluster for up to two weeks. If the implementation is now correct and the fix is within that window, report PENDING_REEVALUATION rather than an immediate failure. Search Console's Request Indexing feature is quota-limited; reserve it for important URLs.

    For batch inspection: python3 skills/blog-google/scripts/run.py gsc_inspect --batch <file> --json


    Indexing API

    /blog google index <url>

    Notify Google of a URL update through the Indexing API.

    Script: python3 skills/blog-google/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. Do not present it as a general-purpose replacement for URL Inspection's Request Indexing feature.

    For batch: python3 skills/blog-google/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 skills/blog-google/scripts/run.py ga4_report --property <id> --json Default: 28 days, filtered to Organic Search channel group.

    For top landing pages: python3 skills/blog-google/scripts/run.py ga4_report --property <id> --report top-pages --json


    YouTube (Video Discovery)

    YouTube research can add useful, relevant media and distribution context. Any third-party visibility correlation is observational, not a Google ranking or citation requirement. 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 skills/blog-google/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 skills/blog-google/scripts/run.py youtube_search video <video_id> --json


    NLP Content Analysis

    Google's entity and sentiment analysis can support topic and editorial review. It does not expose ranking-system scores, and E-E-A-T is not a numeric Google ranking factor.

    /blog google nlp <url-or-text>

    Full NLP analysis: entities, sentiment, content classification.

    Script: python3 skills/blog-google/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 skills/blog-google/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 skills/blog-google/scripts/run.py keyword_planner ideas "<seed>" --json

    For volume lookup: python3 skills/blog-google/scripts/run.py keyword_planner volume "<kw1>,<kw2>" --json


    Reports

    /blog google report <type>

    Generate a PDF/HTML report with charts and tables.

    Script: python3 skills/blog-google/scripts/run.py google_report --type <type> --data <json> --domain <domain> --format pdf

    Type Input Output
    cwv-audit PSI + CrUX + CrUX History data Core Web Vitals audit with gauges, timelines
    gsc-performance GSC query data Search Console report with query tables
    indexation Batch inspection data Indexation status with coverage donut
    full All 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 or PDF rendering fails.


    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
    • blog-geo: GSC performance data for real search appearance insights
    • blog-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.

    Report Templates

    Use the bundled templates when a workflow requests a durable human-readable report. Keep unavailable account data marked SKIPPED; never fill an empty section with estimated metrics.

    • assets/templates/cwv-audit-report.md for PageSpeed and CrUX evidence.
    • assets/templates/gsc-performance-report.md for Search Analytics exports.
    • assets/templates/indexation-status-report.md for URL Inspection evidence.

    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.
    • Most integrations have no usage fee within quota. Cloud Natural Language requires billing and can incur charges; Google Ads requires account and developer-token access.
    • Read references/search-currentness.md before diagnosing a named update, canonical change, Discover visibility, Google generative-AI reporting, platform properties, Preferred Sources, AMP, or crawler byte-limit issue.
    • A named update's dates do not prove what caused an individual site's change. Wait one full week after rollout before comparing data, and separate Web, Image, Video, and News performance.
    • Googlebot processes only the first 2MB of supported files and first 64MB of PDFs. Keep critical metadata and primary content before the cutoff.

    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.

    Reproducido de AgriciDaniel/claude-blog bajo licencia MIT. Leer esta página en markdown.

    Archivos

    24 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

    Antes de instalar

    Necesita Python 3.11+ y credenciales en `~/.config/claude-seo/google-api.json`; Cloud Natural Language exige facturación y Google Ads una cuenta con developer token.

    Necesita en el PATH:pythonpython3

    Variables de entorno:GA4_PROPERTY_IDGOOGLE_ADS_CUSTOMER_IDGOOGLE_ADS_DEVELOPER_TOKENGOOGLE_ADS_LOGIN_CUSTOMER_IDGOOGLE_API_KEYGOOGLE_APPLICATION_CREDENTIALSGOOGLE_OAUTH_CLIENT_PATHGSC_PROPERTY

    Detalles

    Categoría
    SEO y GEO
    Licencia
    MIT
    Recursos incluidos
    scripts en python + referencias
    Código fuente
    Ver SKILL.md

    Etiquetas

    Más de AgriciDaniel/claude-blog

    Este repo incluye 33 skills. Si instalas uno, normalmente ya tienes los demás. Ver el pack claude-blog entero y su comando de instalación

    Blog

    2.1k

    Motor de blog de ciclo completo con 31 subskills, 12 plantillas, puntuación sobre 100 y 5 agentes. Enruta cada petición a la subskill correcta: escribir, reescribir, analizar, auditar, schema, clusters y publicación multilingüe.

    Costo de contexto al activarse
    6.2k tok
    Tamaño del paquete
    35 archivos
    Última actualización
    hace 19 días
    seo geo

    Consulta cuadernos de Google NotebookLM para obtener respuestas ancladas en tus propios documentos y con citas: gestiona la biblioteca de cuadernos, la autenticación con Google y el descubrimiento de contenido.

    Costo de contexto al activarse
    2.5k tok
    Tamaño del paquete
    15 archivos
    Última actualización
    hace 19 días
    investigacion

    Genera narración en audio de posts con Google Gemini TTS: resumen hablado, lectura completa o diálogo tipo pódcast a dos voces, con 30 voces y salida MP3 más el código de inserción HTML5.

    Costo de contexto al activarse
    2.2k tok
    Tamaño del paquete
    8 archivos
    Última actualización
    hace 19 días
    redaccion contenido

    Generación y edición de imágenes con IA para contenido de blog mediante Gemini por MCP: portadas, ilustraciones, tarjetas sociales y OG, con 6 modos de dominio y retorno silencioso si el MCP no está disponible.

    Costo de contexto al activarse
    3.4k tok
    Tamaño del paquete
    6 archivos
    Última actualización
    hace 19 días
    redaccion contenido

    Motor de clusters temáticos semánticos: investiga keywords desde el SERP, agrupa por intención y solapamiento, construye una arquitectura hub-and-spoke, genera un mapa SVG y ejecuta el cluster llamando a blog-write.

    Costo de contexto al activarse
    4.9k tok
    Tamaño del paquete
    4 archivos
    Última actualización
    hace 19 días
    seo geo

    Integra el marco FLOW (Find, Optimize, Win) para blogs: ejecuta los prompts de cada etapa desde una base de 30 prompts aplicables a blog, con licencia CC BY 4.0 y sincronización desde el repositorio de FLOW.

    Costo de contexto al activarse
    2k tok
    Tamaño del paquete
    36 archivos
    Última actualización
    hace 19 días
    seo geo

    Skills relacionados

    Blog

    2.1k

    Motor de blog de ciclo completo con 31 subskills, 12 plantillas, puntuación sobre 100 y 5 agentes. Enruta cada petición a la subskill correcta: escribir, reescribir, analizar, auditar, schema, clusters y publicación multilingüe.

    Costo de contexto al activarse
    6.2k tok
    Tamaño del paquete
    35 archivos
    Última actualización
    hace 19 días
    seo geo

    Evaluación de salud de todo el blog: revisa cada archivo buscando puntuaciones de calidad, páginas huérfanas, canibalización, contenido obsoleto y preparación para citas de IA, y devuelve una cola de acciones priorizada.

    Costo de contexto al activarse
    2.4k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    seo geo

    Genera briefs de contenido detallados: keywords objetivo, esquema, análisis competitivo, estadísticas recomendadas, sugerencias de imágenes y gráficos, arquitectura de enlaces internos, plantilla recomendada y plan de distribución.

    Costo de contexto al activarse
    3.3k tok
    Tamaño del paquete
    1 archivo
    Última actualización
    el mes pasado
    seo geo