| name | keyword-research |
| description | Use when the user asks to "find keywords", "挖词", or "搜什么词"; prioritizes search volume, keyword difficulty, intent, and topic clusters from provided or connected data. Not for competitor-relative coverage gaps — use content-gap-analysis. 关键词研究/内容选题 |
| version | 9.9.12 |
| license | Apache-2.0 |
| compatibility | Claude Code and compatible agent-skill hosts |
| homepage | https://github.com/aaron-he-zhu/seo-geo-claude-skills |
| when_to_use | Use when starting keyword research for a new page, topic, or campaign. Also when the user asks about search volume, keyword difficulty, topic clusters, long-tail keywords, what to write about, 关键词研究, 挖词, 内容选题, or 搜什么词. |
| argument-hint | <topic or seed keyword> [market/language] |
| metadata | {"author":"aaron-he-zhu","version":"9.9.12","geo-relevance":"medium"} |
Keyword Research
Discovers, scores, and clusters keywords for SEO and GEO planning.
Quick Start
Research keywords for [topic/product/service]
What keywords is [competitor URL] ranking for that I should target?
Skill Contract
Expected output: a prioritized keyword brief plus the standard handoff summary for memory/research/.
- Reads: topic or seed keyword, target market/language, business goal, site DR, and any user-provided or tool metrics.
- Writes: a user-facing research deliverable and reusable summary.
- Promotes: durable keyword priorities, competitor facts, and pending strategy decisions to
memory/hot-cache.md, memory/open-loops.md, and memory/research/.
- Done when: every shortlisted keyword carries volume + difficulty + intent (or a labeled N/A); keywords are grouped into pillar + cluster hubs; and the deliverable names at least 3 prioritized Quick Win / Growth / GEO opportunities.
- Primary next skill: competitor-analysis when the keyword set is ready for market comparison.
Handoff Summary
Emit the standard shape from skill-contract.md §Handoff Summary Format.
Data Sources
Optional integrations: ~~SEO tool, ~~search console. Without tools, ask for seed keywords, audience, goals, and any known metrics. See CONNECTORS.md.
Zero-dependency local helper (no tool needed): python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/suggest.py" "<seed>" --expand harvests free keyword ideas from Google Autocomplete (⚠️ unofficial endpoint). Search volume / difficulty still needs ~~SEO tool or own Search Console data. See scripts/connectors/README.md.
Striking-distance shortcut (when ~~search console is connected): before broad discovery, mine your own GSC query data for terms already ranking in positions ~5–20 — page-one tail and page two. These are proven demand a small push can convert, so they are the fastest opportunity set. The Search Analytics API sorts by clicks and has no position filter, so request a high rowLimit and filter the 5–20 window client-side, then attach volume / difficulty / intent to that shortlist. Work this set first; treat its metrics as .