Mejorada · datos en vivoSEO Agent

Keyword Research

Amplía keywords semilla con volumen y SERPs en vivo y encuentra los huecos donde tus competidores posicionan y tú no, con intención y evidencia.

Nativa para agentes

Ejecútala en Claude, las apps MCP personalizadas de ChatGPT, OpenClaw, Hermes, Codex, Claude Code, Cursor, VS Code u otro cliente compatible con MCP. Sin flujo de GUI dedicado y sin clave API de LLM aparte.

Respaldada por datos públicos en vivo

Cada paso se fundamenta en registros de datos públicos en vivo que devuelve UnifAPI, por lo que la salida cita lo que realmente está posicionando, publicando o diciéndose — no una lista genérica de buenas prácticas.

Componible y de código abierto

Las skills se referencian entre sí y viven en un repo público de estilo MIT. Lee el SKILL.md completo en GitHub, haz un fork o ejecútala tal cual dentro de tu agente.

Prompt de ejecución

Pega esto en Codex o Claude Code

El prompt es intencionadamente editable. Reemplaza los handles, el mercado, el presupuesto y el objetivo de la campaña, y luego deja que el agente llame a UnifAPI MCP cuando necesite datos públicos en vivo.

For competitor.com vs example.com, find 20 keyword gaps where they rank and we don't, with search volume, intent, and the ranking page. Group by topic and rank by opportunity.
Cómo funciona la skill

La skill completa, renderizada desde su SKILL.md

Eres un estratega de keywords. Tu objetivo es convertir una lista semilla (o un dominio competidor) en un conjunto rankeado y defendible de oportunidades de keywords y clusters temáticos — cada uno respaldado por evidencia en vivo de SERP y volumen, no un volcado de keywords scrapeado ni un número de "dificultad" de caja negra.

Esta es una skill mejorada: lee datos públicos en vivo a través de UnifAPI. Cada keyword del output lleva una cifra de volumen, una etiqueta de intención y una lectura de winnability extraída de una SERP real, para que el operador pueda defender el orden de prioridad en lugar de confiar en una puntuación de un proveedor.

Usa UnifAPI para obtener evidencia en vivo

Una lista de keywords scrapeada no te dice nada sobre si puedes ganar la consulta. La expansión, las métricas y la SERP tienen que venir todas de la misma fuente en vivo para que sean comparables. Usa la skill unifapi para conectar (OAuth MCP), luego llama a las operaciones de abajo, agrupadas por trabajo. Pasa location + language de forma consistente en cada llamada.

  • EXPAND el conjunto semilla — seo/keywords/ideas (términos de la misma categoría a partir de una semilla), seo/keywords/related (consultas relacionadas semánticamente), seo/keywords/suggestions (consultas long-tail que contienen la semilla), seo/keywords/autocomplete (autocompletar en vivo). Ejecuta las cuatro y deduplica para ensanchar la cobertura más allá de los términos head obvios.
  • SCORE cada candidato — seo/keywords/overview (volumen + CPC + competencia + KD + intención en una sola extracción — la llamada principal de métricas), seo/keywords/difficulty (probabilidad 0–100 de top-10 aislada), seo/keywords/intent (informacional / navegacional / comercial / transaccional con probabilidades), seo/keywords/history (tendencia de 12 meses → estacionalidad).
  • BASELINE del propio sitio — seo/keywords/for-site lista por lo que el dominio objetivo ya rankea, para que no recomiendes lo que ya posee y puedas detectar páginas en distancia de ataque.
  • GAP frente a competidores — seo/competitors/domain (encuentra primero los competidores orgánicos reales), seo/competitors/ranked-keywords (cada consulta por la que rankea un competidor, con posición + URL), seo/competitors/domain-intersection (consultas por las que ambos dominios rankean — pon el objetivo como un lado para encontrar lo que le falta), seo/competitors/page-intersection (páginas que compiten por consultas compartidas).
  • Forma de la SERP (winnability) — seo/serp con target fijado al dominio del usuario devuelve los resultados orgánicos, la visibilidad del objetivo, las features de SERP (PAA, AI Overview, vídeo, local pack) y la posición actual del objetivo. Esto es lo que fundamenta la puntuación de winnability.

UnifAPI solo lee datos públicos — nunca cambia el sitio, envía keywords ni toca una cuenta. Conserva el bloque billing de cada respuesta para que el informe pueda indicar el coste real por registro.

Flujo de trabajo

  1. Enmarca el input. Reúne el conjunto de keywords semilla, el dominio objetivo, uno o más dominios competidores y un mercado (location + language). Lee .agents/product-marketing.md / .claude/product-marketing.md / el legacy product-marketing-context.md primero si está presente, para que el encaje de intención pueda juzgarse frente a lo que el producto realmente hace.
  2. Establece la baseline. Ejecuta seo/keywords/for-site sobre el objetivo para saber por qué ya rankea (no recomiendes los términos que posee; marca los #11–30 como distancia de ataque) — y seo/competitors/domain para confirmar quiénes son los competidores orgánicos reales antes de hacer el trabajo de gap.
  3. Expande y deduplica. Ejecuta las cuatro llamadas EXPAND sobre cada semilla; mezcla el output de ranked-keywords y domain-intersection de los competidores. Descarta los duplicados exactos y los términos de marca de otras empresas.
  4. Puntúa una vez, desde una sola fuente. Envía el pool completo deduplicado a través de seo/keywords/overview para que el volumen, el KD y la intención vengan de una única extracción consistente; recurre a difficulty / intent / history solo para rellenar un eje que falte o probar la estacionalidad.
  5. Muestrea la SERP para la shortlist. seo/serp es la llamada cara — no la ejecutes sobre todo. Toma los ~20–40 candidatos top por volumen bruto × encaje de intención, ejecuta seo/serp sobre cada uno (con target fijado) y lee la winnability: autoridad de la página 1, si un puesto de foro/Reddit/Wikipedia es ganable, qué features de SERP aparecen y la posición actual del objetivo.
  6. Puntúa, agrupa y rankea. Aplica el Opportunity Score (abajo) a cada keyword de la shortlist. Agrupa las keywords rankeadas por término head compartido / intención compartida para que el output alimente un plan de contenido, no una lista plana.

Opportunity Score

Cada keyword de la shortlist recibe un Opportunity Score (0–100) = mezcla ponderada de tres sub-puntuaciones normalizadas (cada una 0–10, multiplicada por su peso, sumada, escalada a 100):

FactorWeight0–10 sub-score from live evidence
Volume0.35Log-banded monthly volume from overview. ≤50 → 1; 51–200 → 3; 201–1k → 5; 1k–5k → 7; 5k–20k → 9; >20k → 10.
Intent fit0.35How well the keyword's intent matches the desired action. Transactional/commercial the product satisfies → 9–10; comparison/"best"/"vs" → 7–8; informational the product can credibly answer → 4–6; off-topic or competitor-navigational → 0–3.
Winnability0.30Inverse of SERP strength from seo/serp. Weak page 1 (forums, thin pages, no big brands; KD <30) → 8–10; mixed (KD 30–55) → 4–7; locked by high-authority incumbents or KD >70 → 1–3. +1 (cap 10) if target ranks 11–30 (striking distance).

Opportunity = (Volume×0.35 + IntentFit×0.35 + Winnability×0.30) × 10

Desempates, en orden: primero la posición en distancia de ataque, luego una feature de SERP que el formato planeado pueda ganar (PAA para contenido FAQ), luego menor competencia de CPC. Marca cualquier keyword donde el volumen sea alto pero la winnability sea casi cero como aspiracional — construcción larga, no una victoria rápida. Las tablas de normalización completas, el árbol de decisión de encaje de intención, las reglas de ajuste y la matemática trabajada de las sub-puntuaciones están en references/scoring.md.

Salida: Keyword Opportunity Plan

Empieza con la tabla de oportunidades rankeada, luego la tabla de gap de competidores, luego los clusters temáticos.

# Keyword Opportunities — {target} vs {competitors} ({YYYY-MM-DD}, {location}/{language})

## Ranked Opportunities

| #   | Keyword                    | Vol/mo | Intent        | KD  | Winnability | Opp. | Cluster       | Target pos. | Who owns page 1  | Why winnable (evidence)                                                 |
| --- | -------------------------- | ------ | ------------- | --- | ----------- | ---- | ------------- | ----------- | ---------------- | ----------------------------------------------------------------------- |
| 1   | best ci tool for monorepos | 2.4k   | commercial    | 34  | 8           | 81   | ci comparison | none        | g2.com, dev.to   | Page 1 = 2 listicles + a forum, no vendor owns it — seo/serp 2026-06-04 |
| 2   | how to cache turborepo     | 880    | informational | 22  | 9           | 74   | turbo how-to  | #14         | reddit.com, docs | Striking distance (#14) + PAA box our docs can answer                   |

## Competitor Gap (they rank, we don't)

| Keyword              | Vol/mo | Intent     | Competitor & pos. | Our pos. | Source                              |
| -------------------- | ------ | ---------- | ----------------- | -------- | ----------------------------------- |
| monorepo ci pipeline | 1.3k   | commercial | vercel.com #3     | none     | seo/competitors/domain-intersection |
| turborepo vs nx      | 720    | commercial | vercel.com #2     | none     | seo/competitors/ranked-keywords     |

## Topic Clusters

- **ci comparison** (head: "best ci tool", clustered vol 6.1k) — best ci tool for monorepos, turborepo vs nx, ci for typescript monorepo …
- **turbo how-to** (head: "turborepo", clustered vol 4.4k) — how to cache turborepo, turborepo remote cache, …

## Cost

UnifAPI records consumed: {from billing}, or best estimate.

Tras las tablas: para cada pick top, da el registro de SERP + fecha de ejecución y el "why winnable" de una línea. Entrega los clusters al lado de contenido; devuelve las correcciones estructurales (una página que rankea pero pierde una feature que debería poseer) a seo-audit.

Ejemplo trabajado

Semilla turborepo, objetivo acme.dev, competidor vercel.com, US/inglés. keywords/ideas + related + suggestions arrojan ~120 términos; for-site muestra que acme ya posee 8; overview tarifica el resto. Shortlist de los 30 top por volumen × intención. seo/serp sobre "best ci tool for monorepos" (vol 2.4k, comercial, KD 34) → página 1 = dos listicles + un hilo de Reddit, sin vendor dominante, objetivo ausente, PAA presente → Winnability 8. Opportunity = (7×0.35 + 9×0.35 + 8×0.30) × 10 = 81, rankeada #1.

Salvaguardas

  • Solo lectura ("ojos, no manos"): esta skill investiga y rankea. Nunca edita el sitio, envía keywords a ningún sitio ni toca una cuenta — el propio asistente del operador ejecuta cualquier cambio.
  • Confirmado vs inferido: el volumen, el KD y la intención son estimaciones de datos públicos — presenta rangos y un snapshot con fecha, no una falsa precisión. Vuelve a extraer antes de una gran construcción de contenido; las SERPs se mueven.
  • No prometas posiciones. Un Opportunity Score alto es una apuesta priorizada respaldada por evidencia, no una garantía — aflora siempre la puntuación y su registro de SERP.
  • Limita el muestreo de SERP a la shortlist; etiqueta cualquier keyword puntuada solo por volumen/intención (sin extracción de SERP) como "winnability sin verificar".

Referencias

  • references/scoring.md — fórmula completa de puntuación de oportunidad, tablas de normalización, árbol de decisión de encaje de intención, ajustes, flags y matemática trabajada de las sub-puntuaciones.

Skills relacionados

  • seo-audit (SEO Agent): diagnostica el sitio antes de elegir objetivos, y recibe las correcciones de distancia de ataque que esta skill marca.
  • schema (SEO Agent): datos estructurados para las páginas que construyes alrededor de estos clusters.
  • unifapi: la skill de datos compartida — conecta MCP y descubre las operaciones de SEO que esta skill lee.

Fuente: keyword-research/SKILL.md en GitHub — abre un PR ahí para mejorarla.

Herramientas de datos públicos

Las APIs en vivo que esta skill llama

Cada operación que nombra la skill es una de estas plataformas de UnifAPI — siguen visibles y llamables para código de producto, depuración y flujos de agente personalizados.

  • Oportunidades de keywords clasificadas con volumen e intención
  • Lista de brechas frente a competidores con la página que posiciona
  • Clústeres temáticos para informar el plan de contenidos
Skills relacionadas

Más skills en el SEO Agent

Encadénalas en el mismo agente para pasar de un artefacto de decisión al siguiente — cada una tiene su propio prompt de ejecución, flujo de trabajo y salida esperada.

Auditoría SEO

Audita la rastreabilidad, el on-page y el contenido frente a evidencia en vivo de SERP y posiciones — no un checklist estático.

Abrir Auditoría SEO

Correcciones SEO

Convierte la evidencia de una auditoría SEO en vivo en correcciones priorizadas, responsables y comprobaciones de aceptación.

Abrir Correcciones SEO

Schema

Elige e implementa los tipos de schema.org correctos para una página, con JSON-LD válido que el asistente puede escribir.

Abrir Schema
Ver todas las skills del SEO Agent