keyword-research
Keyword research from a seed topic — ideas, real Google volume/CPC, intent, difficulty, clustered into a plan. Use when asked to "find keywords", "keyword research for X", "what should I rank for", or "build a keyword plan".
Install
npx skills add https://github.com/Ryze-AI-Adgent/open-seo-mcp-skills/tree/main/skills/keyword-research
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install ryze-ai-adgent-open-seo-mcp-skills@llmmart
git clone https://github.com/Ryze-AI-Adgent/open-seo-mcp-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole ryze-ai-adgent/open-seo-mcp-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Keyword Research
Requires
The free Ryze MCP connector (https://connector.get-ryze.ai/mcp). Claude Code: claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp. claude.ai / Desktop / Cursor: add it as a custom connector with the same URL. Setup: https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp
Seed → ideas → metrics → clusters. Volumes come from Google Ads planner data (the source everyone else resells), enriched with DataForSEO intent/difficulty.
Workflow
- Expand the seed.
google_ads__generateKeywordIdeaswith the seed keyword(s) and/or the user's URL. Collect up to ~200 ideas. - Metrics.
google_ads__generateKeywordHistoricalMetricson the candidate list — monthly volume, competition, CPC range, 12-month trend. - Intent + difficulty (optional enrich). If the workspace exposes DataForSEO tools, call the Labs
keyword_overviewendpoint for the top ~50 (search intent, keyword difficulty, SERP features). Request shape:native__get_provider_docsproviderdataforseo. Skip silently if unavailable — Google metrics alone are enough for a v1 plan. - What they already rank for.
google_search_console__runRawSearchAnalytics(dimensionquery, filtered to the topic) — mark keywords the site already has positions for; those are optimize-not-create. - Cluster. Group by intent and topic into content clusters: pillar + supporting pages. For each cluster: target keyword, supporting keywords, total volume, intent, existing page (if any) or "new page".
Output
One table per cluster (keyword, volume, CPC, intent, current position if any), then a ranked plan: which clusters to attack first and why (volume × winnability — favor clusters where the site already has striking-distance positions). Plain language, no filler.
Rules
- Never invent volumes. If a metrics call fails, show the keyword without numbers and say why.
- CPC belongs in the output — it tells the user what the traffic is worth, and this doubles as an ads negative-keyword source.
Files (open-seo-mcp-skills)
-
SKILL.md 2.3 KB
--- name: keyword-research description: Keyword research from a seed topic — ideas, real Google volume/CPC, intent, difficulty, clustered into a plan. Use when asked to "find keywords", "keyword research for X", "what should I rank for", or "build a keyword plan". --- # Keyword Research ## Requires The free Ryze MCP connector (`https://connector.get-ryze.ai/mcp`). Claude Code: `claude mcp add ryze --transport http https://connector.get-ryze.ai/mcp`. claude.ai / Desktop / Cursor: add it as a custom connector with the same URL. Setup: https://www.get-ryze.ai/how-to-connect-claude-to-google-meta-ads-mcp Seed → ideas → metrics → clusters. Volumes come from Google Ads planner data (the source everyone else resells), enriched with DataForSEO intent/difficulty. ## Workflow 1. **Expand the seed.** `google_ads__generateKeywordIdeas` with the seed keyword(s) and/or the user's URL. Collect up to ~200 ideas. 2. **Metrics.** `google_ads__generateKeywordHistoricalMetrics` on the candidate list — monthly volume, competition, CPC range, 12-month trend. 3. **Intent + difficulty (optional enrich).** If the workspace exposes DataForSEO tools, call the Labs `keyword_overview` endpoint for the top ~50 (search intent, keyword difficulty, SERP features). Request shape: `native__get_provider_docs` provider `dataforseo`. Skip silently if unavailable — Google metrics alone are enough for a v1 plan. 4. **What they already rank for.** `google_search_console__runRawSearchAnalytics` (dimension `query`, filtered to the topic) — mark keywords the site already has positions for; those are optimize-not-create. 5. **Cluster.** Group by intent and topic into content clusters: pillar + supporting pages. For each cluster: target keyword, supporting keywords, total volume, intent, existing page (if any) or "new page". ## Output One table per cluster (keyword, volume, CPC, intent, current position if any), then a ranked plan: which clusters to attack first and why (volume × winnability — favor clusters where the site already has striking-distance positions). Plain language, no filler. ## Rules - Never invent volumes. If a metrics call fails, show the keyword without numbers and say why. - CPC belongs in the output — it tells the user what the traffic is worth, and this doubles as an ads negative-keyword source.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.