From seo-blog-engine
Perform keyword research and SERP analysis using DataForSEO MCP tools. Analyzes search volume, difficulty, intent, trends, and competitor gaps.
How this skill is triggered — by the user, by Claude, or both
Slash command
/seo-blog-engine:seo-keywordsopusThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Perform comprehensive keyword research using DataForSEO MCP tools. Outputs a structured keyword data file for use by `seo-outline` and `seo-write` skills.
Perform comprehensive keyword research using DataForSEO MCP tools. Outputs a structured keyword data file for use by seo-outline and seo-write skills.
Read ../../references/dataforseo-workflows.md (relative to this skill's base directory) for exact tool parameters and sequences.
docs/seo/brand-voice.md for niche contextdocs/seo/topical-clusters.md (if exists) to understand pillar context, related posts, and strategic roledocs/seo/<slug>/ or the skill infers it from the seed keywordAll per-article files live in docs/seo/<slug>/. If the user provides a slug or article directory, use it. Otherwise, derive from the seed keyword (lowercase, hyphenated, 3-5 words). If a prompt.md already exists in the directory (from /seo-research), that confirms the correct directory.
Use keyword_suggestions AND keyword_ideas with the seed keyword(s).
Use search_intent on the merged keyword list (max 100).
Filter rules:
informational, commercial_investigationtransactional (may be better as product/landing page, not blog)navigational (skip for blog content)Use bulk_keyword_difficulty on filtered keywords.
Categorize and advise:
| KD Range | Label | Guidance |
|---|---|---|
| 0-30 | Easy | Good target for any domain |
| 31-50 | Medium | Target for domains with some authority |
| 51-70 | Hard | Need strong backlink strategy |
| 71+ | Very hard | Skip unless domain has high DA; suggest alternatives |
If primary keyword is KD > 70, proactively suggest lower-difficulty alternatives from the expanded list.
Use keyword_overview on the top 20 candidates.
Extract: search_volume, cpc, competition_level, clickstream data.
Reject if:
Use dfs_trends_explore for the primary keyword and top 3 secondaries.
Use serp_organic_live_advanced for the primary keyword.
For each of the top 5 results, use on_page_content_parsing to extract:
Use backlinks_summary for each top 5 URL to get referring domain count.
If brand-voice.md lists competitors, use domain_intersection to find keywords they rank for that you don't.
Also use related_keywords and serp_competitors to identify additional opportunities.
Use relevant_pages to check if your domain already has a page that could rank (update vs. create new).
Write results to docs/seo/<slug>/keyword-data.md:
# Keyword Research: {{Primary Keyword}}
**Date**: {{YYYY-MM-DD}}
**Market**: {{US/UK/etc}} | **Seed**: {{original seed keyword}}
## Primary Keyword
| Metric | Value |
| ------------------ | ----------------------------------- |
| Keyword | {{keyword}} |
| Search Volume | {{monthly}} |
| Keyword Difficulty | {{KD score}} ({{Easy/Medium/Hard}}) |
| CPC | ${{value}} |
| Intent | {{informational/commercial}} |
| Trend | {{Rising/Stable/Declining}} |
**Rationale**: {{Why this keyword was selected as primary}}
## Secondary Keywords
Map to planned H2 headings:
| Keyword | Volume | KD | Intent | Target H2 |
| ------- | ------- | ------ | ---------- | ----------- |
| {{kw1}} | {{vol}} | {{kd}} | {{intent}} | {{heading}} |
| ... | | | | |
## LSI / Related Terms
For natural distribution in body text:
| Term | Relevance |
| --------- | --------------- |
| {{term1}} | {{High/Medium}} |
| ... | |
## SERP Features
| Feature | Present? |
| ---------------- | ---------- |
| Featured Snippet | {{Yes/No}} |
| People Also Ask | {{Yes/No}} |
| Video Results | {{Yes/No}} |
| Image Pack | {{Yes/No}} |
| Knowledge Panel | {{Yes/No}} |
## Top 5 Competitor Analysis
| # | URL | Word Count | H2 Count | Referring Domains |
| --- | ------- | ---------- | -------- | ----------------- |
| 1 | {{url}} | {{wc}} | {{h2s}} | {{rd}} |
| ... | | | | |
### Common Heading Structure
{{List the H2 headings that appear across multiple top results}}
## Content Gap Opportunities
{{Topics/angles that top results miss or cover poorly}}
## Backlink Benchmark
- Median referring domains (top 5): {{N}}
- Minimum to compete: {{estimated}}
## Recommendations
- **Content type**: {{Comprehensive guide / How-to / List post / Comparison}}
- **Target word count**: {{range based on competitor analysis}}
- **Difficulty assessment**: {{Achievable/Challenging/Long-term play}}
- **Featured snippet opportunity**: {{Yes/No — format to target}}
Present these alerts prominently:
npx claudepluginhub meysam81/cc --plugin seo-blog-engineResearches and clusters keywords with search volume, difficulty, intent classification, and content recommendations.
Discovers keywords, classifies by search intent, clusters into topics, and prioritizes for content production. Works with any keyword tool or SERP inspection.
Discovers, scores, and clusters keywords for SEO and GEO planning. Useful for keyword research, search volume analysis, and topic clustering.