Agent skill

Keyword Research

by unifapi-agent in unifapi-agent/agents

When the user wants to research keywords, find keyword opportunities, run a keyword gap analysis, build topic clusters, or compare what competitors rank for.

MITAuto-check passedMarketing & SEO

Install Keyword Research

skills CLI
$ npx skills add unifapi-agent/agents --skill keyword-research -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install unifapi-agent/agents keyword-research --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/unifapi-agent/agents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/seo-agent/keyword-research .claude/skills/keyword-research && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
keyword-research
GitHub stars
589
Token cost
~2.7k tokens
SKILL.md length
1,070 words
Files
3 (incl. references)
Skills in repo
47
Repo updated
First seen
Licence
MIT

At a glance

When the user wants to research keywords, find keyword opportunities, run a keyword gap analysis, build topic clusters, or compare what competitors rank for.

  • Works in 6 steps: Frame the input. Gather the seed keyword… → Establish the baseline. Run… → Expand and dedupe. Run the four EXPAND… → …
  • Wants to research keywords
  • SKILL.md covers Use UnifAPI for live evidence, Workflow, Opportunity Score and Output: Keyword Opportunity Plan, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Keyword Research is an agent skill from unifapi-agent/agents. When the user wants to research keywords, find keyword opportunities, run a keyword gap analysis, build topic clusters, or compare what competitors rank for. Also use on "keyword research," "keyword gaps," "what should I target," "competitor keywords," "search volume," "keyword difficulty," "keyword opportunities," "long-tail keywords," "topic clusters," "what keywords am I missing," or "find keywords for my niche." For diagnosing an existing site, see the seo-audit skill. For structured data, see the schema skill.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `README.md` and `references/scoring.md`).

It sits in Marketing & SEO, covering Keyword research. The repository describes itself as: Open-source marketing agents for Claude, ChatGPT, Codex, OpenClaw & Hermes. One plugin: SEO audits, GEO / AI-visibility, local SEO, KOL pricing, social listening & competitive… The licence is MIT.

When your agent uses it

  • Wants to research keywords
  • Find keyword opportunities
  • Run a keyword gap analysis
  • Build topic clusters

Example prompts

  • “keyword research,”
  • “keyword gaps,”
  • “what should I target,”
  • “/keyword-research”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Frame the input. Gather the seed keyword set, the target domain, one or more competitor domains, and a market (location + language). Read…
  2. Establish the baseline. Run seo/keywords/for-site on the target so you know what it already ranks for (don't recommend owned terms; flag…
  3. Expand and dedupe. Run the four EXPAND calls on each seed; merge in competitor ranked-keywords and domain-intersection output. Drop exact…
  4. Score once, from one source. Send the full deduped pool through seo/keywords/overview so volume, KD, and intent come from a single…
  5. Sample the SERP for the shortlist. seo/serp is the expensive call — don't run it on everything. Take the top ~20–40 candidates by raw…
  6. Score, cluster, and rank. Apply the Opportunity Score (below) to every shortlisted keyword. Cluster the ranked keywords by shared head…

What it can do on your machine

Read from SKILL.md and the folder at commit fb53247. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Keyword Research loads about 2.7k tokens when it runs, and up to ~4.1k if it reads all its reference files. Until then it costs about 134 tokens; SKILL.md has 1,070 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~134
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from unifapi-agent/agents at commit fb53247, republished under its MIT licence (© unifapi-agent). 1,070 words, ~2,723 tokens.

Download SKILL.mdSave it as .claude/skills/keyword-research/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
keyword-research
description
When the user wants to research keywords, find keyword opportunities, run a keyword gap analysis, build topic clusters, or compare what competitors rank for. Also use on "keyword research," "keyword gaps," "what should I target," "competitor keywords," "search volume," "keyword difficulty," "keyword opportunities," "long-tail keywords," "topic clusters," "what keywords am I missing," or "find keywords for my niche." For diagnosing an existing site, see the seo-audit skill. For structured data, see the schema skill.
license
MIT
metadata.author
UnifAPI
metadata.version
1.0.0

Keyword Research

You are a keyword strategist. Your goal is to turn a seed list (or a competitor domain) into a ranked, defensible set of keyword opportunities and topic clusters — each backed by live SERP and volume evidence, not a scraped keyword dump or a black-box "difficulty" number.

This is an enhanced skill: it reads live public data through UnifAPI. Every keyword in the output carries a volume figure, an intent label, and a winnability read pulled from a real SERP, so the operator can defend the priority order instead of trusting a vendor score.

Use UnifAPI for live evidence

A scraped keyword list tells you nothing about whether you can win the query. The expansion, the metrics, and the SERP all have to come from the same live source so they're comparable. Use the unifapi skill to connect (OAuth MCP), then call the operations below, grouped by job. Pass location + language consistently across every call.

  • EXPAND the seed set — seo/keywords/ideas (same-category terms from a seed), seo/keywords/related (semantically related queries), seo/keywords/suggestions (long-tail queries containing the seed), seo/keywords/autocomplete (live autocomplete). Run all four and dedupe to widen coverage beyond the obvious head terms.
  • SCORE every candidate — seo/keywords/overview (volume + CPC + competition + KD + intent in one pull — the primary metrics call), seo/keywords/difficulty (isolated 0–100 top-10 chance), seo/keywords/intent (informational / navigational / commercial / transactional with probabilities), seo/keywords/history (12-mo trend → seasonality).
  • OWN-SITE baseline — seo/keywords/for-site lists what the target domain already ranks for, so you don't recommend what it already owns and can spot striking-distance pages.
  • GAP vs competitors — seo/competitors/domain (find the real organic competitors first), seo/competitors/ranked-keywords (every query a competitor ranks for, with position + URL), seo/competitors/domain-intersection (queries two domains both rank for — set the target as one side to find what it's missing), seo/competitors/page-intersection (pages competing for shared queries).
  • SERP shape (winnability) — seo/serp with target set to the user's domain returns the organic results, target visibility, SERP features (PAA, AI Overview, video, local pack), and current target position. This is what grounds the winnability score.

UnifAPI reads public data only — it never changes the site, submits keywords, or touches an account. Keep each response's billing block so the report can state real record cost.

Workflow

  1. Frame the input. Gather the seed keyword set, the target domain, one or more competitor domains, and a market (location + language). Read .agents/product-marketing.md / .claude/product-marketing.md / legacy product-marketing-context.md first if present, so intent fit can be judged against what the product actually does.
  2. Establish the baseline. Run seo/keywords/for-site on the target so you know what it already ranks for (don't recommend owned terms; flag #11–30 as striking distance) — and seo/competitors/domain to confirm who the real organic competitors are before doing gap work.
  3. Expand and dedupe. Run the four EXPAND calls on each seed; merge in competitor ranked-keywords and domain-intersection output. Drop exact duplicates and other companies' brand terms.
  4. Score once, from one source. Send the full deduped pool through seo/keywords/overview so volume, KD, and intent come from a single consistent pull; fall back to difficulty / intent / history only to fill a missing axis or test seasonality.
  5. Sample the SERP for the shortlist. seo/serp is the expensive call — don't run it on everything. Take the top ~20–40 candidates by raw volume × intent fit, run seo/serp on each (target set), and read winnability: page-1 authority, whether a forum/Reddit/Wikipedia slot is winnable, which SERP features appear, and the current target position.
  6. Score, cluster, and rank. Apply the Opportunity Score (below) to every shortlisted keyword. Cluster the ranked keywords by shared head term / shared intent so the output feeds a content plan, not a flat list.
Show full SKILL.md (476 more words)Show less

Opportunity Score

Each shortlisted keyword gets an Opportunity Score (0–100) = weighted blend of three normalized sub-scores (each 0–10, multiplied by its weight, summed, scaled to 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

Tie-breakers, in order: striking-distance position first, then a SERP feature the planned format can win (PAA for FAQ content), then lower CPC competition. Flag any keyword where volume is high but winnability is near-zero as aspirational — long build, not a quick win. The full normalization tables, the intent-fit decision tree, the adjustment rules, and worked sub-score math are in references/scoring.md.

Output: Keyword Opportunity Plan

Lead with the ranked opportunity table, then the competitor-gap table, then the topic clusters.

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

After the tables: for each top pick, give the SERP record + run date and the one-line "why winnable." Hand clusters to the content side; hand structural fixes (a page that ranks but loses a feature it should own) back to seo-audit.

Worked example

Seed turborepo, target acme.dev, competitor vercel.com, US/English. keywords/ideas + related + suggestions yield ~120 terms; for-site shows acme already owns 8; overview prices the rest. Shortlist top 30 by volume × intent. seo/serp on "best ci tool for monorepos" (vol 2.4k, commercial, KD 34) → page 1 = two listicles + a Reddit thread, no dominant vendor, target absent, PAA present → Winnability 8. Opportunity = (7×0.35 + 9×0.35 + 8×0.30) × 10 = 81, ranked #1.

Guardrails

  • Read-only ("eyes, not hands"): this skill researches and ranks. It never edits the site, submits keywords anywhere, or touches an account — the operator's own assistant executes any change.
  • Confirmed vs inferred: volume, KD, and intent are public-data estimates — present ranges and a dated snapshot, not false precision. Re-pull before a large content build; SERPs move.
  • Don't promise rankings. A high Opportunity Score is a prioritized bet backed by evidence, not a guarantee — always surface the score and its SERP record.
  • Cap SERP sampling to the shortlist; tag any keyword scored on volume/intent alone (no SERP pull) as "winnability unverified."

References

  • references/scoring.md — full opportunity-scoring formula, normalization tables, intent-fit decision tree, adjustments, flags, and worked sub-score math.
  • seo-audit (SEO Agent): diagnose the site before picking targets, and receive striking-distance fixes this skill flags.
  • schema (SEO Agent): structured data for the pages you build around these clusters.
  • unifapi: the shared data skill — connect MCP and discover the SEO operations this skill reads.

© unifapi-agent, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in skills/seo-agent/keyword-research of unifapi-agent/agents.

  • SKILL.md
  • README.md
  • references/scoring.md

Open the folder on GitHubat commit fb53247

Compare with similar skills

Keyword Research next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Keyword Research compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Keyword Research this skillunifapi-agent/agents589—~2.7kAutomated safety check: PassMIT
SEO Keyword ClusteringAgriciDaniel/claude-seo19k2 repos~3.3kAutomated safety check: PassMIT
Evaluate Skillevery-app/open-seo23k—~1.8kAutomated safety check: NotesMIT
SEO Content Brief GeneratorAgriciDaniel/claude-seo19k2 repos~2.6kAutomated safety check: PassMIT
Blog GoogleAgriciDaniel/claude-blog2.3k1 repos~3.3kAutomated safety check: NotesMIT
FLOW SEO FrameworkAgriciDaniel/claude-seo19k2 repos~1.4kAutomated safety check: PassMIT

Similar skills

  • SEO Keyword Clustering

    AgriciDaniel/claude-seo

    Clusters keywords by how much their search results overlap and designs a hub-and-spoke content plan with an internal link matrix and an interactive cluster map.

    19k GitHub starsUsed in 2 repos~3.3k tokens
    Marketing & SEOAuto-check passed
  • Evaluate Skill

    every-app/open-seo

    Test a candidate OpenSEO skill end to end by running fresh, isolated Codex sessions against the local backend and scoring the reports they save.

    23k GitHub stars~1.8k tokensUpdated yesterday
    Marketing & SEOAuto-check: notes
  • SEO Content Brief Generator

    AgriciDaniel/claude-seo

    Builds research-backed SEO content briefs with competitor scoring, per-section word counts and page-type templates, for new pages or improving existing ones.

    19k GitHub starsUsed in 2 repos~2.6k tokens
    Marketing & SEOAuto-check passed
  • Blog Google

    AgriciDaniel/claude-blog

    Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity…

    2.3k GitHub starsUsed in 1 repo~3.3k tokens
    Marketing & SEOAuto-check: notes
  • FLOW SEO Framework

    AgriciDaniel/claude-seo

    Brings the FLOW framework's stage-specific SEO prompts into the agent, from keyword discovery through backlinks, on-page work and conversion to local SEO, loaded on demand.

    19k GitHub starsUsed in 2 repos~1.4k tokens
    Marketing & SEOAuto-check passed
  • SEO Dataforseo

    AgriciDaniel/codex-seo

    Live SEO data via DataForSEO MCP server. An agent skill from AgriciDaniel/codex-seo.

    797 GitHub starsUsed in 2 repos~4.6k tokens
    Marketing & SEOAuto-check passed

More from unifapi-agent/agents

All 47 skills in this repo
  • LLM Mention Tracking

    unifapi-agent/agents

    When the user wants to track how often their brand or domain gets mentioned across ChatGPT and AI search engines over a set of prompts, and how that share of voice compares to named competitors over…

    589 GitHub stars~1.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Buying Signal Monitor

    unifapi-agent/agents

    When a seller or SDR wants to catch public buying intent on X/Twitter and LinkedIn — someone asking for a tool they sell, complaining about or switching off a competitor, or hiring for a role that…

    589 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Customer Research

    unifapi-agent/agents

    When the user wants to research customers from public communities, or synthesize customer language, pains, and objections.

    589 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Schema

    unifapi-agent/agents

    When the user wants to add, fix, or optimize schema markup and structured data on their site.

    589 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • SEO Audit

    unifapi-agent/agents

    When the user wants to audit, review, or diagnose SEO issues on their site.

    589 GitHub stars~3.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Unifapi

    unifapi-agent/agents

    A skill your agent uses when working with UnifAPI public-data APIs or the UnifAPI MCP server: connecting OAuth MCP clients, discovering operations, calling social/search/scrape/news APIs…

    589 GitHub stars~741 tokensUpdated 1 mo ago
    Auto-check passed

Categories

Questions about Keyword Research

What does Keyword Research do?

When the user wants to research keywords, find keyword opportunities, run a keyword gap analysis, build topic clusters, or compare what competitors rank for. Keyword Research is an agent skill from unifapi-agent/agents. When the user wants to research keywords, find keyword opportunities, run a keyword gap analysis, build topic clusters, or compare what competitors rank for.

When should I use Keyword Research?

Keyword Research fits situations like: wants to research keywords; find keyword opportunities; run a keyword gap analysis; build topic clusters.

How do I install Keyword Research in Claude Code?

Run `npx skills add unifapi-agent/agents --skill keyword-research -a claude-code`. Or copy the skill folder (skills/seo-agent/keyword-research in unifapi-agent/agents) into .claude/skills/keyword-research in your project. Claude Code loads it when a task matches its description.

How do I install Keyword Research in Codex?

Run `npx skills add unifapi-agent/agents --skill keyword-research -a codex`. Or copy the skill folder (skills/seo-agent/keyword-research in unifapi-agent/agents) into .agents/skills/keyword-research in your project. Codex loads it when a task matches its description.

Can I use Keyword Research in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add unifapi-agent/agents --skill keyword-research -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/keyword-research, .gemini/skills/keyword-research, .github/skills/keyword-research and .opencode/skills/keyword-research in your project.

What does Keyword Research need to run?

SKILL.md names no scripts, command-line tools or credentials: Keyword Research is instructions for the agent only.

Does Keyword Research access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Keyword Research safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Keyword Research use?

Keyword Research is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Keyword Research use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.4k tokens, read only when the agent opens those files.

What are the alternatives to Keyword Research?

Skills that share tags, products or a category with Keyword Research: SEO Keyword Clustering (AgriciDaniel/claude-seo, 19k stars), Evaluate Skill (every-app/open-seo, 23k stars), SEO Content Brief Generator (AgriciDaniel/claude-seo, 19k stars) and Blog Google (AgriciDaniel/claude-blog, 2.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Keyword Research?

unifapi-agent (a GitHub organization) maintains it in unifapi-agent/agents, which has 589 GitHub stars. The repository holds 47 skills in this directory. The repository was last updated on September 5, 2026.

Source: unifapi-agent/agents on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.