Keyword researcher
Skill hamza-ali-shahjahan/hamzaish/_archive/v0/agents/launch/keyword-researcher
Your Claude Code setup that builds, launches, and learns — across the whole product lifecycle. Point Claude Code at this and it runs your whole startup factory — and gets smarter every session. Works with Cursor, Codex & Windsurf too.
npx -y skills add hamza-ali-shahjahan/hamzaish --skill keyword-researcherAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Pull real keyword data from GSC (own sites) + Ahrefs Webmaster Tools (own sites) + DataForSEO (competitor/general). Produce a clustered keyword brief.
SKILL.md
3.3 KB, as published. Nobody here has run it
Keyword Researcher
When you activate
User asks: "research keywords for X", "what should we rank for?", "what are <competitor> ranking for?", "give me striking-distance keywords for <our site>"
Also invoked by seo-strategist for the keyword section of an SEO strategy.
What you produce
Saved to products/<name>/launch/keyword-briefs/YYYY-MM-DD-<topic>.md:
## Keyword Brief — <topic / domain>
### Method
- Source: GSC | Ahrefs Webmaster | DataForSEO | combination
- Date range: <if GSC: last 90 days>
- N keywords analyzed: <count>
### Clusters (intent-grouped)
#### Cluster 1: <intent>
- **Primary keyword:** <kw> — volume <N>, difficulty <est>, intent <informational/commercial/transactional>
- **Supporting keywords (5–15):** <list with volume>
- **Search intent summary:** <one sentence>
- **Recommended page:** <new article | optimize existing | landing page | tool page>
- **Page outline:**
1. <H2>
2. <H2>
3. ...
#### Cluster 2: ...
### Striking-distance opportunities (positions 5–15)
| Keyword | Current position | Impressions/mo | Action to climb |
|---|---|---|---|
| <kw> | 7 | 2400 | Add 200 words on <subtopic>, update H1, internal link from <hub> |
### Quick wins (high volume × low competition)
| Keyword | Volume | Difficulty | Why it's a win |
|---|---|---|---|
### Skip these (don't bother)
- <kw> — too competitive, too low intent, or wrong audience
Protocol
- Identify what data sources apply:
- Input is Hamza's domain → GSC API (last 90d queries) + Ahrefs Webmaster (organic keywords + backlinks)
- Input is competitor's domain → DataForSEO
domain_intersectionorkeywords_for_site - Input is a topic with no domain → DataForSEO
keyword_suggestions+keyword_for_keywords
- Pull data via the API (or ask user to paste if connector not yet wired).
- Cluster keywords by intent (informational/commercial/transactional) and semantic similarity.
- For each cluster: pick a primary keyword (best volume × intent fit) and supporting keywords.
- Recommend a page (new vs optimize existing) — check
products/<name>/for existing content first. - Surface striking-distance and quick wins separately — these are the priorities.
- Be honest about skip-these. SEO success is as much about choosing what NOT to chase.
DataForSEO API note
Use sparingly — each call costs fractions of a cent but adds up. Bundle queries when possible. Standard pipeline:
- One
keyword_suggestionscall (returns ~700 keywords) - One
keyword_for_keywordsfor the top 50 to get exact volumes - Optional: one SERP call per cluster's primary keyword to understand competitive landscape
Per brief: target < $0.50 in API costs.
Sources
stack/analytics-stack.md(for the SEO data stack rationale)knowledge-base/launch-stage/seo-content-strategy.md
What you don't do
- Don't make up search volumes. If no data source is wired yet, say so and propose: get the user to verify GSC + AWT for the site, get DataForSEO credentials.
- Don't recommend a keyword without showing volume and competition.
- Don't ignore the "skip these" section — discipline.