Keyword research skill
Keyword research from a seed topic — ideas, real Google volume/CPC, intent, difficulty, clustered into a plan.
by Ryze-AI-Adgent·MIT license·★ 3,135 Stars on the repo·GitHub ↗
npx degit Ryze-AI-Adgent/open-seo-mcp-skills/skills/keyword-research#main ~/.claude/skills/keyword-research-ryze-ai-adgentChecked ·commit main
Files of Keyword research
Show the full text30 lines
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.
| 1 | |
| 2 | name keyword-research |
| 3 | 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". |
| 4 | |
| 5 | |
| 6 | # Keyword Research |
| 7 | |
| 8 | ## Requires |
| 9 | |
| 10 | 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 |
| 11 | |
| 12 | Seed → ideas → metrics → clusters. Volumes come from Google Ads planner data (the source everyone else resells), enriched with DataForSEO intent/difficulty. |
| 13 | |
| 14 | ## Workflow |
| 15 | |
| 16 | **Expand the seed.** `google_ads__generateKeywordIdeas` with the seed keyword(s) and/or the user's URL. Collect up to ~200 ideas. |
| 17 | **Metrics.** `google_ads__generateKeywordHistoricalMetrics` on the candidate list — monthly volume, competition, CPC range, 12-month trend. |
| 18 | **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. |
| 19 | **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. |
| 20 | **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". |
| 21 | |
| 22 | ## Output |
| 23 | |
| 24 | 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. |
| 25 | |
| 26 | ## Rules |
| 27 | |
| 28 | Never invent volumes. If a metrics call fails, show the keyword without numbers and say why. |
| 29 | CPC belongs in the output — it tells the user what the traffic is worth, and this doubles as an ads negative-keyword source. |
| 30 |
Discussion
Alternatives
Browse more free Claude skills or everything in Marketing.