From aaron-marketing
Activated when the user asks to find keywords or perform keyword research. Discovers, scores, and clusters keywords with volume, difficulty, and intent for SEO/GEO planning.
How this skill is triggered — by the user, by Claude, or both
Slash command
/aaron-marketing:keyword-research <topic or seed keyword> [market/language]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 搜什么词.
<topic or seed keyword> [market/language]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Discovers, scores, and clusters keywords for SEO and GEO planning.
Discovers, scores, and clusters keywords for SEO and GEO planning.
Research keywords for [topic/product/service]
What keywords is [competitor URL] ranking for that I should target?
Expected output: a prioritized keyword brief plus the standard handoff summary for memory/research/.
memory/hot-cache.md, memory/open-loops.md, and memory/research/.Emit the standard shape from skill-contract.md §Handoff Summary Format.
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.
Keyless live-SERP sampling: python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/firecrawl.py" search "<candidate keyword>" --limit 10 (Firecrawl keyless free tier, ~1,000 credits/mo, no key needed) shows who actually ranks for a candidate — feed the top-10 domains and formats into the intent check and the difficulty read as Measured evidence instead of guessing. Volume still needs ~~SEO tool or GSC.
Keyless topic-demand proxy: python3 "${CLAUDE_PLUGIN_ROOT}/scripts/connectors/pageviews.py" "<Topic_Article>" --months 12 returns a topic's real Wikipedia-attention series — Measured direction and seasonality evidence when no volume tool is connected. It is attention, not search volume: use it to rank topics against each other and time them, never to quote a volume number.
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 Measured.
When a user requests keyword research, run eight phases and announce each as [Phase X/8: Name]:
Opportunity = (Volume × Intent Value) / Difficulty, with Intent Value 1 / 1 / 2 / 3.Label every metric Measured (tool/export), User-provided, or Estimated (model inference); never present an estimate as measured; if a required metric is unavailable, mark it N/A — do not invent it.
When you have richer signals than volume/difficulty alone, add a second pass on top of the Opportunity score:
Tag each keyword by funnel stage from its pattern:
Work BOFU first when revenue is the goal; use TOFU/MOFU for reach and GEO answer coverage. (Impact×Confidence + funnel-stage scoring adapted from an external SEO-ops competitive analysis.)
Quality bar: every recommendation includes at least one specific number. Rewrite generic advice into a concrete keyword + volume + difficulty + reason.
Reference: See references/instructions-detail.md for the full 8-phase templates, expansion patterns, intent table, difficulty tiers, opportunity matrix, GEO indicators, cluster template, actionable-vs-generic examples, and advanced usage.
See references/example-report.md for a full worked sample.
Write path: memory/research/keyword-research/YYYY-MM-DD-<topic>.md; promote durable keyword priorities to memory/hot-cache.md. See Skill Contract §Save Results Template.
Primary: competitor-analysis. Also: content-gap-analysis and serp-analysis.
npx claudepluginhub aaron-he-zhu/aaron-marketing-skills --plugin aaron-marketingDiscovers, scores, and clusters keywords for SEO/GEO planning with volume, difficulty, and intent. Useful for starting keyword research for a new page or topic.
Discovers, analyzes, and prioritizes keywords for SEO and GEO content strategies from a seed keyword or niche. Identifies high-value opportunities based on search volume, competition, intent, and business relevance.
Researches and clusters keywords with search volume, difficulty, intent classification, and content recommendations.