Keyword research, find keywords, what keywords should I target, keyword analysis. Covers seed discovery, expansion, intent classification, qualitative difficulty assessment, and topic clustering. Produces 150-300 prioritized keywords. Does NOT return numerical search volumes or difficulty scores — those require a keyword-data MCP (DataForSEO / Ahrefs / Semrush — Path B). Instead, uses observable SERP signals for relative assessment.
Scanned 5/27/2026
Install via CLI
openskills install radesjardins/RAD-Claude-Skills---
name: keyword-discovery
description: >
Keyword research, find keywords, what keywords should I target, keyword analysis.
Covers seed discovery, expansion, intent classification, qualitative difficulty
assessment, and topic clustering. Produces 150-300 prioritized keywords. Does NOT
return numerical search volumes or difficulty scores — those require a keyword-data
MCP (DataForSEO / Ahrefs / Semrush — Path B). Instead, uses observable SERP signals
for relative assessment.
argument-hint: "[topic or seed keyword] [--non-interactive]"
allowed-tools: Read Glob Grep Write Bash WebFetch WebSearch
---
# Keyword Discovery Skill
Walk the user through a complete keyword research pipeline, producing a prioritized keyword plan they can act on immediately. Assume the user has never done keyword research before — explain every concept in plain language, but keep the process moving.
## Cross-model note
Works identically on Opus 4.7 / Sonnet 4.6 / Haiku 4.5. Expansion + intent classification + clustering all benefit from batch parallelism where per-keyword work is independent.
## Execution: parallel-first
- **Phase 1 seed gathering**: user interview serializes naturally
- **Phase 2 expansion**: long-tail / question / modifier / LSI / medium-tail expansion runs per-seed; per-seed WebSearch-autocomplete checks parallelize
- **Phase 3 intent classification**: per-keyword SERP inspection independent — batch WebSearch calls
- **Phase 4 difficulty assessment**: per-keyword SERP + competitor inspection independent — batch
- **Phase 5 clustering**: synthesis step, not parallelizable
- **Phase 6 prioritization**: synthesis step, not parallelizable
## Capability Honesty
Read `references/CAPABILITIES.md`. Key constraints:
- **Real search volume numbers** (e.g., "1,200 searches/month") require a keyword-data API — Path B
- **Real keyword difficulty scores** (e.g., "KD 42") require link-graph + SERP competitor strength — Path B
- **What this skill DOES provide**: observable SERP signals (who ranks, SERP feature presence, autocomplete prominence, competition density) interpreted qualitatively (High/Medium/Low, Easy/Moderate/Hard)
When the user wants real numbers, recommend a DataForSEO / Ahrefs / Semrush MCP integration.
## Mode Flags
- `--non-interactive` — Use reasonable defaults for Phase 1 questions, record unanswered items in `awaiting_user_review`
---
## Overview
Six phases in order:
1. **Seed Keyword Discovery** — gather raw inputs
2. **Keyword Expansion** — broaden the list
3. **Search Intent Classification** — tag every keyword
4. **Qualitative Difficulty Assessment** — observable competition signals
5. **Topic Cluster Mapping** — organize into hierarchy
6. **Prioritization** — produce ranked action plan
Work through each phase sequentially. Present findings after each phase before moving on.
---
## Phase 1: Seed Keyword Discovery
### Gather Context
Before generating a single keyword, ask:
1. **Business basics** — What does the business do? Products / services?
2. **Target audience** — Ideal customers? Language / jargon they use?
3. **Top 3 competitors** — Up to three main rivals (URLs or brands)
4. **Existing keywords** — Already targeting any? List them, or "none"
### Seed Sources
Mine seeds from every source below:
| Source | What to extract |
|---|---|
| **Business context** | Industry terms, product names, service categories, brand modifiers |
| **Competitor analysis** | Terms competitors rank for (from WebSearch of competitor sites); recurring themes in their title tags, H1s, meta descriptions |
| **Customer language** | Phrases from support tickets, reviews, forum posts, testimonials — words *customers* use, not marketing copy |
| **Question mining** | Questions from Reddit, Quora, "People Also Ask" boxes (observable via WebSearch) |
| **Google autocomplete** | Type each seed + capture suggested completions; same for YouTube + Amazon if relevant |
| **Internal site search** | If available, top queries visitors type on-site |
Deliver as a numbered table. Aim for **30-50 seed keywords** before moving on.
---
## Phase 2: Keyword Expansion
Expand each seed using four strategies. Go from ~40 seeds to **150-300 candidate keywords**.
### 2a. Long-Tail Variations (3-5 word phrases)
Add specificity. Long-tail keywords convert better because they match precise needs.
### 2b. Question-Based Keywords
Prepend: who, what, when, where, why, how.
### 2c. Modifier Keywords
- **Best / Top / Review / Comparison / vs** — commercial intent
- **Alternative / Cheap / Free** — budget-conscious buyers
- **Near me / [City]** — local intent
- **Template / Example / Checklist** — resource seekers
- **For beginners / For enterprises / For [audience]** — audience fit
### 2d. LSI / Semantic Keywords
Related terms that appear alongside the seed in top-ranking content.
### 2e. Medium-Tail Keywords
"Sweet spot" — 2-3 words, moderate competition. Often fastest wins.
Group the expanded list by strategy so the user can see where each keyword came from.
---
## Phase 3: Search Intent Classification
Every keyword gets exactly one intent tag.
### Intent Types
| Intent | Signal words | What Google shows |
|---|---|---|
| **Informational** | how to, what is, guide, tutorial, why, tips | Blog posts, Wikipedia, knowledge panels, videos |
| **Commercial** | best, top, review, comparison, vs, alternative | Listicles, review sites, comparison tables |
| **Transactional** | buy, price, discount, coupon, sign up, download | Shopping results, product pages, pricing pages |
| **Navigational** | [brand name], login, support, contact, app | Official site, login, app store |
### How to Classify
Look at the actual SERP (WebSearch):
- Shopping carousel / product ads → Transactional
- Video pack or PAA → likely Informational
- Comparison articles dominate → Commercial
- Single brand dominates positions 1-3 → Navigational
Mixed intent → label dominant, note secondary.
Add an "Intent" column to the keyword table.
---
## Phase 4: Qualitative Difficulty Assessment
**Honest framing**: This phase uses observable SERP signals to estimate relative difficulty (Easy / Moderate / Hard). It does NOT produce numerical difficulty scores. For real Keyword Difficulty metrics, integrate a DataForSEO / Ahrefs / Semrush MCP (Path B).
### Factors to Evaluate (per target keyword, batch WebSearch)
| Factor | Easy signal | Hard signal |
|---|---|---|
| **Who ranks now** | Forums, small blogs, thin content | Major brands, .gov, Wikipedia |
| **Content format** | Short articles, outdated posts | In-depth guides, interactive tools |
| **SERP features** | Featured snippet available | Knowledge panel from Wikipedia |
| **Commercial value** | No ads = lower commercial value | Heavy ads = lucrative but competitive |
| **Domain diversity** | 10 different domains on p1 | 3 domains own 7 results |
| **Content age** | Many results from 3+ years ago | All results from last 6 months |
### Difficulty Scale (qualitative)
- **Easy**: Thin/outdated content ranks; few strong domains; featured snippet available. Well-written article can rank in weeks.
- **Moderate**: Mix of strong and weak pages; requires comprehensive content + some backlinks. Expect 2-6 months.
- **Hard**: P1 is all high-authority with deep content. Requires significant authority, backlinks, time (6-12+ months).
Add "Difficulty" and "Observed Opportunity" columns:
```
# | Keyword | Intent | Difficulty | Observed Opportunity
1 | project management for nonprofits | Commercial | Easy | Featured snippet slot available, weak top-3
2 | project management software | Commercial | Hard | Heavy ad spend, strong DR domains
```
### Volume Signal (qualitative, not numerical)
Use observable signals to estimate relative volume:
- **High signal**: prominent autocomplete, multiple SERP features, heavy ad coverage
- **Medium signal**: autocomplete present, some SERP features
- **Low signal**: no autocomplete, thin SERP, no ads
Do NOT invent "monthly search volume" numbers. Mark relative volume as High/Medium/Low.
---
## Phase 5: Topic Cluster Mapping
Organize keywords into a content hierarchy.
### Hierarchy
```
Pillar Topic (broad, 1-2 words, high relative volume)
+-- Subtopic A (medium-tail, 2-3 words)
| +-- Long-tail query 1
| +-- Long-tail query 2
+-- Subtopic B
+-- Long-tail query 3
+-- Long-tail query 4
```
### How to Build Clusters
1. **Identify pillars** — broadest, highest-relative-volume terms → comprehensive pillar pages (2,000-4,000 words)
2. **Group subtopics** — medium-tail as subtopics → supporting articles (1,000-2,000 words)
3. **Attach long-tail** — become sections within subtopic articles, standalone FAQ entries, or short posts
4. **Map internal links** — every subtopic links up to pillar; pillar links down to every subtopic; subtopics in same cluster link to each other where relevant
Present the full cluster map and confirm with the user before prioritization.
---
## Phase 6: Prioritization
### Scoring Criteria (qualitative)
| Criterion | Scale | Description |
|---|---|---|
| **Business relevance** | 1-10 | How closely does this keyword relate to the product/service? |
| **Volume signal (relative)** | High / Medium / Low | From observable SERP signals — NOT numerical volume |
| **Competition level** | Easy / Moderate / Hard | From Phase 4 |
| **Content gap** | Yes / No | Does the site already have content targeting this? |
| **Estimated effort** | Low / Medium / High | Time + resources to create ranking content |
### The Three Lists
#### 1. Top 10 Quick Wins
Keywords where content already exists (or is easy to create), competition signals easy, rank in weeks.
#### 2. Top 10 Strategic Targets
High-relevance with moderate competition. Dedicated content + some link building. Expect results in 2-6 months.
#### 3. Top 10 Long-Term Plays
High-competition, high-reward. Build toward these by first ranking for easier related keywords.
### Content Type Recommendations
| Content Type | When to use |
|---|---|
| Blog post | Informational long-tail, how-tos |
| Landing page | Transactional, product comparisons |
| Comprehensive guide | Pillar topics, informational medium-tail |
| Tool or calculator | "Calculator", "template", "generator" queries |
| Video | "How to" queries where Google shows video results |
| FAQ section | Question-based long-tail |
| Case study | "[Industry] + results/example" |
### The 70/20/10 Content Mix
- **70% Foundation** — how-to guides, tutorials, listicles, FAQ. Safe, proven formats. Start here.
- **20% Growth** — original research, data-driven posts, expert roundups, detailed comparisons. Higher effort, differentiates.
- **10% Moonshots** — interactive tools, contrarian pieces, original frameworks, viral-potential content. Most underperform but wins are outsized.
Tag each content calendar entry with its mix category.
---
## Delivery Checklist
- [ ] 30-50 seed keywords with sources
- [ ] 150-300 expanded keywords grouped by strategy
- [ ] Every keyword tagged with search intent
- [ ] Top 50+ keywords assessed for qualitative difficulty
- [ ] Complete topic cluster map with pillar-subtopic hierarchy
- [ ] Internal linking plan between cluster pages
- [ ] Top 10 Quick Wins with specific actions
- [ ] Top 10 Strategic Targets with content recommendations
- [ ] Top 10 Long-Term Plays with cluster-building roadmap
- [ ] Content type recommendation for each priority keyword
- [ ] 70/20/10 mix labels on all recommended content
- [ ] Measurement-gaps note: "For numerical search volumes and KD scores, integrate a DataForSEO / Ahrefs / Semrush MCP"
## Tone and Style
- Plain language. Define jargon first time used.
- Specific actions. "Write a blog post" is not actionable. "Write a 2,000-word comparison of X vs Y targeting commercial intent" is.
- Tables for any list > 5 items.
- Summary after each phase.
- When lacking real search volume data, say so honestly and use relative estimates based on observable signals.
No comments yet. Be the first to comment!