AaronMarketing.ai AaronMarketing.ai

Skills / SEO/GEO / keyword-research

keyword-research

Intent, demand, and striking-distance opportunities for a page/topic/campaign.

Install skills npx skills add … Hire AI Staff
More install paths (Claude marketplace, Portable Lite, SkillHub…)
Discipline
SEO/GEO
Framework
CORE-EEAT + CITE
Gate
content-quality-auditor · domain-authority-auditor
Entrypoint
/aaron-marketing:seo-geo

From SKILL.md

Inlined from seo-geo/survey/keyword-research/SKILL.mdview full SKILL.md on GitHub

Sections: Keyword Research · Quick Start · Skill Contract · Data Sources · Instructions · Example · Next Best Skill

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, each with source ref, observation time/window, market/language, and evidence label; an applicable missing value is Unknown with its gap reason, never 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.

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.

Instructions

When a user requests keyword research, run eight phases and announce each as [Phase X/8: Name]:

  1. Scope — clarify product, audience, business goal, DR, geography, and language.
  2. Discover — seed from core, problem, solution, audience, and industry terms.
  3. Variations — expand with modifiers and long-tail patterns.
  4. Classify — tag by intent (informational, navigational, commercial, transactional).
  5. Score — assign difficulty (1-100) and compute Opportunity = (Volume × Intent Value) / Difficulty, with Intent Value 1 / 1 / 2 / 3.
  6. GEO-Check — flag AI-answer-friendly queries such as questions, definitions, comparisons, lists, and how-tos.
  7. Cluster — group keywords into pillar + cluster topic hubs.
  8. Deliver — output an Executive Summary, Quick Wins / Growth / GEO opportunities, Topic Clusters, Content Calendar, and Next Steps.

Label every metric Measured (tool/export), User-provided, Calculated, Estimated, Proxy, or Unknown; retain query, locale, language, source ref, observation time, and window per field. Preserve conflicting sources. If an applicable metric is unavailable, mark it Unknown with a missing reason — N/A is only for a genuinely non-applicable field. An attention proxy never becomes search volume, and an Unknown decision-critical input makes the opportunity score NOT_SCORED.

Impact × Confidence lens (optional, layers onto Phase 5)

When you have richer signals than volume/difficulty alone, add a second pass on top of the Opportunity score:

  • Impact = volume + CPC + funnel stage + trend direction (how much winning the term is worth).
  • Confidence = difficulty + current ranking position + topic authority (how likely you are to win it).
  • Priority = Impact × Confidence — surfaces terms that are both valuable and winnable, not just high-volume.

Tag each keyword by funnel stage from its pattern:

  • BOFU — commercial/transactional, or contains "pricing", "best", "vs", "services", "agency", "hire", "buy".
  • MOFU — informational with buying signals: "how to", "guide", "roi", "case study", "review".
  • TOFU — pure informational (definitions, broad questions).

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.

Example

See references/example-report.md for a full worked sample.

Next Best Skill

Primary: competitor-analysis. Also: content-gap-analysis and serp-analysis.

FAQ

What does this skill do?
Intent, demand, and striking-distance opportunities for a page/topic/campaign.
Where is the authoritative source?
SKILL.md in the aaron-marketing-skills repo — https://github.com/aaron-he-zhu/aaron-marketing-skills/blob/main/seo-geo/survey/keyword-research/SKILL.md
How do I install just this skill?
npx skills add aaron-he-zhu/aaron-marketing-skills -s keyword-research.