Aprimorada · dados ao vivoSEO Agent

Keyword Research

Expanda keywords semente com volume e SERP ao vivo e encontre as lacunas onde concorrentes ranqueiam e você não, com intenção e evidências.

Nativa para agents

Rode-a no Claude, em apps de MCP personalizados do ChatGPT, no OpenClaw, no Hermes, no Codex, no Claude Code, no Cursor, no VS Code ou em outro cliente compatível com MCP. Sem fluxo de GUI dedicado e sem chave de API de LLM separada.

Respaldada por dados públicos ao vivo

Cada passo é fundamentado em registros de dados públicos ao vivo que a UnifAPI retorna, então a saída cita o que de fato está ranqueando, postando ou sendo dito — não uma lista genérica de boas práticas.

Composável e open source

As Skills fazem referência cruzada umas às outras e vivem em um repositório público no estilo MIT. Leia o SKILL.md completo no GitHub, faça um fork ou rode-o como está dentro do seu agent.

Prompt de execução

Cole isto no Codex ou Claude Code

O prompt é intencionalmente editável. Substitua os handles, o mercado, o orçamento e o objetivo da campanha, e então deixe o agent chamar o MCP da UnifAPI quando precisar de dados públicos ao 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.
Como a skill funciona

A skill completa, renderizada a partir do seu SKILL.md

Você é um estrategista de keywords. Seu objetivo é transformar uma lista semente (ou um domínio concorrente) em um conjunto ranqueado e defensável de oportunidades de keyword e clusters de tópicos — cada um respaldado por evidência ao vivo de SERP e volume, não um despejo de keywords raspado nem um número de "dificuldade" de caixa-preta.

Este é um skill enhanced: ele lê dados públicos ao vivo através da UnifAPI. Toda keyword na saída carrega um número de volume, um rótulo de intenção e uma leitura de winnability puxada de uma SERP real, para que o operador possa defender a ordem de prioridade em vez de confiar em uma pontuação de fornecedor.

Use a UnifAPI para evidências ao vivo

Uma lista de keywords raspada não diz nada sobre se você consegue vencer a consulta. A expansão, as métricas e a SERP precisam vir todas da mesma fonte ao vivo para serem comparáveis. Use o skill unifapi para conectar (OAuth MCP), depois chame as operações abaixo, agrupadas por tarefa. Passe location + language de forma consistente em todas as chamadas.

  • EXPANDA o conjunto semente — seo/keywords/ideas (termos da mesma categoria a partir de uma semente), seo/keywords/related (consultas semanticamente relacionadas), seo/keywords/suggestions (consultas de cauda longa contendo a semente), seo/keywords/autocomplete (autocomplete ao vivo). Rode todas as quatro e deduplique para ampliar a cobertura além dos termos óbvios de cabeça.
  • PONTUE cada candidata — seo/keywords/overview (volume + CPC + competição + KD + intenção em uma puxada — a chamada primária de métricas), seo/keywords/difficulty (chance isolada de 0–100 de top-10), seo/keywords/intent (informacional / navegacional / comercial / transacional com probabilidades), seo/keywords/history (tendência de 12 meses → sazonalidade).
  • BASELINE do próprio site — seo/keywords/for-site lista para o que o domínio-alvo já ranqueia, para você não recomendar o que ele já possui e poder identificar páginas a um passo de ranquear.
  • GAP vs concorrentes — seo/competitors/domain (encontre primeiro os concorrentes orgânicos reais), seo/competitors/ranked-keywords (toda consulta para a qual um concorrente ranqueia, com posição + URL), seo/competitors/domain-intersection (consultas para as quais dois domínios ranqueiam — defina o alvo como um dos lados para achar o que ele está perdendo), seo/competitors/page-intersection (páginas competindo por consultas compartilhadas).
  • Formato da SERP (winnability) — seo/serp com target definido como o domínio do usuário retorna os resultados orgânicos, a visibilidade do alvo, as features de SERP (PAA, AI Overview, vídeo, pacote local) e a posição atual do alvo. É isso que fundamenta a pontuação de winnability.

A UnifAPI lê apenas dados públicos — nunca altera o site, envia keywords nem toca em uma conta. Mantenha o bloco billing de cada resposta para que o relatório possa declarar o custo real em registros.

Fluxo de trabalho

  1. Enquadre a entrada. Reúna o conjunto de keywords semente, o domínio-alvo, um ou mais domínios concorrentes e um mercado (location + language). Leia .agents/product-marketing.md / .claude/product-marketing.md / o legado product-marketing-context.md primeiro, se presente, para que a aderência de intenção possa ser avaliada contra o que o produto realmente faz.
  2. Estabeleça o baseline. Rode seo/keywords/for-site no alvo para saber para o que ele já ranqueia (não recomende termos já possuídos; sinalize #11–30 como striking distance) — e seo/competitors/domain para confirmar quem são os concorrentes orgânicos reais antes de fazer o trabalho de gap.
  3. Expanda e deduplique. Rode as quatro chamadas de EXPAND em cada semente; mescle a saída de ranked-keywords e domain-intersection dos concorrentes. Descarte duplicatas exatas e termos de marca de outras empresas.
  4. Pontue uma vez, de uma fonte. Envie o pool completo deduplicado através de seo/keywords/overview para que volume, KD e intenção venham de uma única puxada consistente; recorra a difficulty / intent / history apenas para preencher um eixo faltante ou testar sazonalidade.
  5. Amostre a SERP para a shortlist. seo/serp é a chamada cara — não a rode em tudo. Pegue as ~20–40 candidatas no topo por volume bruto × aderência de intenção, rode seo/serp em cada uma (com target definido) e leia a winnability: autoridade da página 1, se um slot de fórum/Reddit/Wikipedia é vencível, quais features de SERP aparecem e a posição atual do alvo.
  6. Pontue, agrupe e ranqueie. Aplique o Opportunity Score (abaixo) a toda keyword da shortlist. Agrupe as keywords ranqueadas por termo de cabeça compartilhado / intenção compartilhada para que a saída alimente um plano de conteúdo, não uma lista plana.

Opportunity Score

Cada keyword da shortlist recebe um Opportunity Score (0–100) = mistura ponderada de três subpontuações normalizadas (cada uma de 0–10, multiplicada por seu peso, somada, escalada para 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

Critérios de desempate, em ordem: posição de striking-distance primeiro, depois uma feature de SERP que o formato planejado pode vencer (PAA para conteúdo de FAQ), depois menor competição de CPC. Sinalize qualquer keyword onde o volume seja alto mas a winnability esteja perto de zero como aspirational — long build, não como ganho rápido. As tabelas completas de normalização, a árvore de decisão de aderência de intenção, as regras de ajuste e a matemática trabalhada das subpontuações estão em references/scoring.md.

Saída: Keyword Opportunity Plan

Comece com a tabela de oportunidades ranqueadas, depois a tabela de gap de concorrentes, depois os clusters de tópicos.

# 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.

Depois das tabelas: para cada melhor escolha, dê o registro de SERP + a data da execução e o "why winnable" de uma linha. Entregue os clusters ao lado de conteúdo; entregue correções estruturais (uma página que ranqueia mas perde uma feature que deveria possuir) de volta a seo-audit.

Exemplo trabalhado

Semente turborepo, alvo acme.dev, concorrente vercel.com, US/Inglês. keywords/ideas + related + suggestions rendem ~120 termos; for-site mostra que a acme já possui 8; overview precifica o resto. Shortlist as 30 do topo por volume × intenção. seo/serp em "best ci tool for monorepos" (vol 2.4k, comercial, KD 34) → página 1 = duas listicles + uma thread do Reddit, sem fornecedor dominante, alvo ausente, PAA presente → Winnability 8. Opportunity = (7×0.35 + 9×0.35 + 8×0.30) × 10 = 81, ranqueada em #1.

Proteções

  • Read-only ("olhos, não mãos"): este skill pesquisa e ranqueia. Ele nunca edita o site, envia keywords para lugar algum nem toca em uma conta — o próprio assistente do operador executa qualquer mudança.
  • Confirmado vs inferido: volume, KD e intenção são estimativas de dados públicos — apresente faixas e um snapshot datado, não falsa precisão. Puxe novamente antes de uma grande construção de conteúdo; as SERPs se movem.
  • Não prometa rankings. Um Opportunity Score alto é uma aposta priorizada respaldada por evidência, não uma garantia — sempre exiba a pontuação e seu registro de SERP.
  • Limite a amostragem de SERP à shortlist; marque qualquer keyword pontuada apenas por volume/intenção (sem puxada de SERP) como "winnability unverified."

Referências

  • references/scoring.md — fórmula completa de pontuação de oportunidade, tabelas de normalização, árvore de decisão de aderência de intenção, ajustes, sinalizadores e a matemática trabalhada das subpontuações.

Skills relacionados

  • seo-audit (SEO Agent): diagnostique o site antes de escolher os alvos e receba as correções de striking-distance que este skill sinaliza.
  • schema (SEO Agent): dados estruturados para as páginas que você constrói em torno desses clusters.
  • unifapi: o data skill compartilhado — conecte o MCP e descubra as operações de SEO que este skill lê.

Fonte: keyword-research/SKILL.md no GitHub — abra um PR lá para melhorá-la.

Ferramentas de dados públicos

As APIs ao vivo que esta skill chama

Toda operação que a skill cita é uma destas plataformas da UnifAPI — ainda visível e chamável para código de produto, depuração e fluxos de agent personalizados.

  • Oportunidades de palavras-chave ranqueadas com volume e intenção
  • Lista de lacunas de concorrentes com a página que ranqueia
  • Clusters de tópicos para embasar o plano de conteúdo
Skills relacionadas

Mais skills no SEO Agent

Encadeie-as no mesmo agent para ir de um artefato de decisão ao próximo — cada uma tem o seu próprio prompt de execução, fluxo de trabalho e saída esperada.

Auditoria de SEO

Audite rastreabilidade, on-page e conteúdo contra evidências ao vivo de SERP e ranking — não uma checklist estática.

Abrir Auditoria de SEO

Correções de SEO

Converta evidências ao vivo de auditoria de SEO em correções priorizadas, responsáveis e checagens de aceite.

Abrir Correções de SEO

Schema

Escolha e implemente os tipos certos do schema.org para uma página, com JSON-LD válido que o assistente pode escrever.

Abrir Schema
Ver todas as skills no SEO Agent