# Keyword Researcher

> Turn a topic into a keyword decision, title-first. Picks the main keyword that already sits in the title so the title never gets rewritten, ranks candidates by a strict priority (title match over volume, always), and builds a deliberate spread of secondary keywords by intent, returning none rather than forcing irrelevant ones. Run after brief-builder, before competitor-analyzer. Produces a keyword brief and stops.

- Skill: `robdasi/keyword-researcher` (Agent Skill)
- Install (CLI): `npx skillmds@latest add robdasi/keyword-researcher`
- Raw SKILL.md: https://api.skillmd.com/api/skills/robdasi/keyword-researcher/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- License: MIT
- Author: robdasi (https://skillmd.com/u/robdasi)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/robdasi/keyword-researcher

---


# Keyword Researcher

A keyword on its own tells you nothing, and chasing volume quietly wrecks good titles. This skill makes the keyword decision the way it should be made: protect the title, match real intent, and refuse to bolt on keywords that don't fit the business just because they have traffic.

Run after `brief-builder` (load the site brief), before `competitor-analyzer`.

## Inputs (ask for whatever is missing)

- **The title or topic** (required).
- **The site brief** from `brief-builder` (so relevance is judged against the actual business).
- *Optional:* a keyword tool (volume, difficulty). Work from live search if there isn't one.

## The method

1. **Protect the title.** The job is to find a main keyword that **already appears in the title**, so the title doesn't have to be rewritten to fit SEO. Start from the noun phrases in the title, not from a blank keyword tool.

2. **Rank candidates by a strict priority, in this order:**
   - **Exact title match** (the phrase is in the title), highest, always.
   - **Semantic match** (all the words appear in the title).
   - **Volume**, a sweet spot of roughly 500 to 10,000, but never sacrifice a title match for more volume.
   - **Competition**, only as a tiebreaker between otherwise-equal options.
   Volume and competition are tiebreakers, never gates. Treat spelling variants (ecommerce / e-commerce) as the same.

3. **Build secondary keywords as an intent spread.** Target around four, and choose them deliberately across intents: one informational, one commercial, one long-tail question, one use-case ("for agencies", "for beginners"). Variety is the point, not more of the same.

4. **Refuse irrelevant keywords.** Judge every secondary against the business from the brief. If the suggestions are off-topic, **return an empty set** rather than force them in. A keyword that contains your term but belongs to a film or an event is still wrong.

5. **Cascade when the tool is dry.** Keyword suggestions first, then broader keyword ideas, then generate from the title with the model. Never end with nothing because one source came back empty.

## Output

Produce a `keyword-brief.md`: the main keyword and why it won (which priority rule), its intent, volume and competition if known (as context, not justification), the secondary keywords tagged by intent, and the target / skip call.

Then stop. The next skill reads the live SERP against this.

