Seo keyword research
Skill WesleySmits/agent-skills/.agent/skills/seo-keyword-research
43 production-ready skills for AI coding agents. Works with Claude, GitHub Copilot, Cursor, Windsurf, and Zed.
npx -y skills add WesleySmits/agent-skills --skill seo-keyword-researchAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Expands keyword lists and analyzes search intent for content strategy. Use when the user asks about keyword research, search intent, long-tail keywords, keyword gaps, or SEO content planning.
SKILL.md
11.3 KB, ~2.7k tokens by cl100k_base, as published. Nobody here has run it
SEO Keyword Research Assistant
When to use this skill
- User asks for keyword research
- User needs keyword variations
- User wants to analyze search intent
- User mentions finding content gaps
- User needs low-competition keywords
Workflow
- Identify seed keywords
- Generate variations and long-tails
- Classify search intent
- Identify opportunities
- Group by topic clusters
- Prioritize for content
Instructions
Step 1: Gather Seed Keywords
Required inputs:
| Field | Purpose |
|---|---|
| Main topic/product | Core focus area |
| Target audience | Who you're reaching |
| Business goal | Traffic, leads, sales |
| Competitors | For gap analysis |
| Current rankings | What you already rank for |
Seed keyword sources:
| Source | How to Use |
|---|---|
| Product/service names | Direct terms |
| Customer questions | Support tickets, FAQs |
| Competitor content | What they rank for |
| Industry terms | Jargon, acronyms |
| Problem statements | Pain points |
Step 2: Generate Keyword Variations
Variation types:
| Type | Formula | Example (seed: "email marketing") |
|---|---|---|
| Long-tail | [seed] + [modifier] | "email marketing for small business" |
| Question | [question word] + [seed] | "how to start email marketing" |
| Comparison | [seed] vs [alternative] | "email marketing vs social media" |
| Best/top | best [seed] + [qualifier] | "best email marketing software 2026" |
| How-to | how to [action] + [seed] | "how to improve email marketing" |
| Guide | [seed] + guide/tutorial | "email marketing guide for beginners" |
| Tool | [seed] + tool/software | "email marketing automation tools" |
| Cost | [seed] + cost/pricing | "email marketing software pricing" |
Modifier categories:
| Category | Modifiers |
|---|---|
| Intent | buy, compare, review, learn, find |
| Time | 2026, today, now, quick, fast |
| Quality | best, top, free, cheap, premium |
| Audience | for beginners, for developers, for small business |
| Location | near me, in [city], [country] |
| Format | template, checklist, guide, examples |
Step 3: Search Intent Classification
Intent types:
| Intent | Signal Words | Content Type | Funnel Stage |
|---|---|---|---|
| Informational | how, what, why, guide, learn | Blog, guide, tutorial | Top (awareness) |
| Navigational | [brand name], login, website | Landing page, homepage | Middle |
| Commercial | best, review, compare, vs, top | Comparison, review | Middle (consideration) |
| Transactional | buy, price, discount, order | Product page, pricing | Bottom (decision) |
Intent identification patterns:
## Informational Intent
- "how to [action]"
- "what is [topic]"
- "why does [thing happen]"
- "[topic] explained"
- "[topic] tutorial"
## Commercial Investigation
- "best [product category]"
- "[product A] vs [product B]"
- "[product] review"
- "[product] alternatives"
- "top 10 [products]"
## Transactional Intent
- "buy [product]"
- "[product] price"
- "[product] discount code"
- "[product] free trial"
- "order [product] online"
## Navigational Intent
- "[brand] login"
- "[brand] website"
- "[brand] support"
Step 4: Keyword Opportunity Analysis
Opportunity scoring:
| Factor | Low Competition Signal |
|---|---|
| Search volume | 100-1,000/month (sweet spot for new sites) |
| Keyword difficulty | Under 30 (tool-dependent) |
| SERP features | Few featured snippets, no ads |
| Top results | Forums, outdated content, thin pages |
| Domain authority | Low DA sites ranking |
Opportunity matrix:
| Volume | Difficulty | Priority |
|---|---|---|
| High | Low | π₯ Top priority |
| Medium | Low | β Quick wins |
| High | Medium | π Long-term targets |
| Low | Low | β‘ Easy content |
| High | High | π― Authority builders |
| Low | High | β Skip |
Step 5: Question-Based Keywords
Question patterns to generate:
| Question Word | Focus |
|---|---|
| How | Process, tutorial |
| What | Definition, explanation |
| Why | Reasoning, benefits |
| When | Timing, triggers |
| Where | Location, source |
| Which | Comparison, selection |
| Can/Could | Possibility, capability |
| Should | Recommendation, advice |
| Is/Are | Verification, validation |
Question generation template:
## Questions for: [Seed Keyword]
### How questions
- How to [action with keyword]?
- How does [keyword] work?
- How much does [keyword] cost?
- How long does [keyword] take?
### What questions
- What is [keyword]?
- What are the benefits of [keyword]?
- What is the best [keyword]?
- What [keyword] should I use?
### Why questions
- Why is [keyword] important?
- Why use [keyword]?
- Why does [keyword] fail?
### Comparison questions
- [Keyword A] vs [Keyword B]?
- Is [keyword] better than [alternative]?
- What's the difference between [A] and [B]?
Step 6: Topic Cluster Organization
Cluster structure:
## Topic Cluster: [Pillar Topic]
### Pillar Page (main keyword)
- Target: [High-volume keyword]
- Intent: [Informational/Commercial]
- Content: Comprehensive guide (3,000+ words)
### Cluster Content (supporting pages)
| Topic | Keyword | Intent | Internal Link |
| ------------ | --------- | -------- | ------------- |
| [Subtopic 1] | [keyword] | [intent] | β Pillar |
| [Subtopic 2] | [keyword] | [intent] | β Pillar |
| [Subtopic 3] | [keyword] | [intent] | β Pillar |
| [Subtopic 4] | [keyword] | [intent] | β Pillar |
Cluster example:
## Topic Cluster: Email Marketing
### Pillar Page
- Target: "email marketing guide"
- Intent: Informational
- Content: Ultimate Guide to Email Marketing
### Cluster Content
| Topic | Keyword | Intent |
| --------------- | ------------------------------- | ------------- |
| Getting started | "how to start email marketing" | Informational |
| Tools | "best email marketing software" | Commercial |
| Templates | "email marketing templates" | Informational |
| Automation | "email marketing automation" | Commercial |
| Metrics | "email marketing KPIs" | Informational |
| B2B focus | "b2b email marketing" | Commercial |
| List building | "how to build email list" | Informational |
Step 7: Competitor Gap Analysis
Gap analysis template:
## Competitor Keyword Gap Analysis
### Competitors Analyzed
1. [Competitor 1 URL]
2. [Competitor 2 URL]
3. [Competitor 3 URL]
### Keywords They Rank For (You Don't)
| Keyword | Volume | Difficulty | Competitor | Priority |
| --------- | ------ | ---------- | ----------- | ---------- |
| [keyword] | [vol] | [KD] | [who ranks] | [priority] |
### Content Gaps Identified
| Topic | Competitor Coverage | Your Coverage | Action |
| ------- | ------------------- | ------------- | ------------- |
| [topic] | 3 articles | 0 articles | Create pillar |
| [topic] | 1 article | Outdated | Update |
| [topic] | None | None | First mover |
Step 8: Keyword Prioritization
Prioritization framework:
| Criteria | Weight | Score (1-5) |
|---|---|---|
| Search volume | 20% | |
| Keyword difficulty | 25% | |
| Business relevance | 25% | |
| Conversion potential | 20% | |
| Content gap | 10% |
Priority tiers:
## Keyword Priorities
### Tier 1: Immediate (This Month)
- Low difficulty + high relevance
- Quick wins for traffic
| Keyword | Volume | KD | Intent |
|---------|--------|----|----|
### Tier 2: Short-term (1-3 Months)
- Medium difficulty + commercial intent
- Revenue-driving content
| Keyword | Volume | KD | Intent |
|---------|--------|----|----|
### Tier 3: Long-term (3-6 Months)
- High difficulty + high volume
- Authority-building pillar content
| Keyword | Volume | KD | Intent |
|---------|--------|----|----|
Output Format
## Keyword Research: [Topic/Niche]
**Seed keywords:** [List of seeds]
**Target audience:** [Who you're reaching]
**Business goal:** [Traffic/Leads/Sales]
---
### Keyword List
| Keyword | Volume | KD | Intent | Priority |
| ------- | ------ | --- | ------ | -------- |
| | | | | |
### By Search Intent
**Informational:**
- [keywords]
**Commercial:**
- [keywords]
**Transactional:**
- [keywords]
---
### Topic Clusters
[Cluster organization]
---
### Question Keywords
[Question-based keywords for FAQ/content]
---
### Quick Wins (Low KD, Decent Volume)
| Keyword | Volume | KD | Content Type |
| ------- | ------ | --- | ------------ |
| | | | |
---
### Content Recommendations
1. [Recommendation 1]
2. [Recommendation 2]
3. [Recommendation 3]
Validation
Before completing:
- Keywords classified by intent
- Volume and difficulty included
- Question keywords generated
- Topic clusters organized
- Priority tiers assigned
- Quick wins identified
- Content recommendations provided
- Competitor gaps noted
Error Handling
- No seed keywords: Ask for main product/service or topic area.
- Too broad: Narrow with audience, location, or specific use case.
- No volume data: Note as "volume unknown" and prioritize by relevance.
- All high difficulty: Focus on long-tail variations or question keywords.
- No competitors identified: Search top 3 ranking for seed keywords.
Resources
- Ahrefs - Keyword research and competitor analysis
- SEMrush - Keyword gap and difficulty
- Ubersuggest - Free keyword ideas
- AnswerThePublic - Question keywords
- AlsoAsked - People Also Ask data
- Google Search Console - Current rankings
Gives 0 of the 12 instructions most seo skills give in ~2.7k tokens
Counted across 454 of the 460 authors here whose files we hold, read 2026-08-06
- implement structured data using JSON-LDin 30 of 454, across 26 files
- write unique meta descriptions under 160 charactersin 27 of 454, across 20 files
- verify one H1 exists per pagein 24 of 454, across 15 files
- maintain a single h1 per pagein 24 of 454, across 15 files
- use JSON-LD format for all schema markupin 23 of 454, across 15 files
- use descriptive anchor text for internal linksin 21 of 454, across 16 files
- add descriptive alt text to imagesin 19 of 454, across 15 files
- read product marketing context before auditingin 19 of 454, across 10 files
- write unique title tags under 60 charactersin 19 of 454, across 14 files
- add unique title and meta description per pagein 19 of 454, across 17 files
- Reference the sitemap in robots.txtin 19 of 454, across 18 files
- verify core web vitals meet thresholdsin 17 of 454, across 9 files
Said here and by no other author read
- identify seed keywords
- generate keyword variations and long-tails
- ask for main topic if no seed keywords are provided
- narrow focus if the topic is too broad
- note volume as unknown if data is missing
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.