Skill458 repo starsupdated 2mo ago
keyword-cluster-architect
The keyword-cluster-architect skill organizes 50-200+ keywords into topical clusters based on search intent, creating a hub-and-spoke content roadmap to establish topical authority in a niche. Use this skill before writing individual blog posts to strategically plan which content to create and in what order, especially after identifying a winning niche with monopoly-niche-finder.
Install in Claude Code
Copygit clone --depth 1 https://github.com/Affitor/affiliate-skills /tmp/keyword-cluster-architect && cp -r /tmp/keyword-cluster-architect/skills/blog/keyword-cluster-architect ~/.claude/skills/keyword-cluster-architectThen start a new Claude Code session; the skill loads automatically.
Definition
SKILL.md
# Keyword Cluster Architect
Map 50-200+ keywords into topical clusters grouped by search intent. Build a content roadmap for dominating a topic with hub-and-spoke architecture. Google rewards topical authority — this skill builds the strategic map that tells you exactly what content to create and in what order.
## Stage
S3: Blog & SEO — This is the strategic planning layer FOR blog content. Before writing individual posts, you need a map of the entire keyword landscape organized into clusters.
## When to Use
- User wants to plan SEO content strategy for a niche
- User asks about keyword research, clustering, or topical authority
- User says "keyword", "SEO plan", "content roadmap", "topic cluster", "hub and spoke"
- Before running `affiliate-blog-builder` — to know WHICH articles to write
- After `monopoly-niche-finder` — to map the keyword universe for the winning niche
## Input Schema
```yaml
niche: string # REQUIRED — the topic to cluster
# e.g., "AI video tools", "email marketing for SaaS"
seed_keywords: string[] # OPTIONAL — starting keywords to expand from
# Default: auto-generated from niche
depth: string # OPTIONAL — "quick" (50 keywords) | "standard" (100) | "deep" (200+)
# Default: "standard"
affiliate_products: string[] # OPTIONAL — products you promote (to prioritize commercial keywords)
# Default: none
```
**Chaining from S1 monopoly-niche-finder**: Use `monopoly_niche.intersection` as the `niche` input.
## Workflow
### Step 1: Generate Seed Keywords
If not provided, generate 5-10 seed keywords from the niche:
- Product-focused: "[product] review", "best [category]"
- Problem-focused: "how to [solve problem]", "[problem] solution"
- Comparison: "[product A] vs [product B]", "alternatives to [product]"
- Tutorial: "how to use [product]", "[product] tutorial"
### Step 2: Expand Keywords
For each seed, use `web_search` to discover related keywords:
1. Search: `"[seed keyword]"` — note related searches, People Also Ask
2. Search: `"[seed keyword] guide" OR "[seed keyword] tutorial"` — informational variants
3. Search: `"best [seed keyword]" OR "[seed keyword] review"` — commercial variants
Collect 50-200+ unique keywords depending on `depth`.
### Step 3: Classify by Intent
Read `shared/references/seo-strategy.md` for clustering methodology.
Classify each keyword:
- **Informational** (I): Learning, how-to, what-is → blog posts, tutorials
- **Commercial** (C): Comparing, evaluating, reviewing → comparison posts, reviews
- **Transactional** (T): Ready to buy, pricing, discount → landing pages, deal pages
- **Navigational** (N): Brand-specific, login → skip (not your traffic to capture)
### Step 4: Cluster by Topic
Group keywords that share the same search intent (would be answered by the same page):
```
Cluster: "[Main Topic]"
Type: [I/C/T]
Hub keyword: [highest volume keyword]
Supporting keywords:
- [keyword 1] — [est. volume]
- [keyword 2] — [est. volume]
Content type: [blog post / comparison / review / tutorial / landing page]
Priority: [1-5 based on volume × intent × competition]
```
### Step 5: Build Content Roadmap
Organize clusters into a hub-and-spoke map:
1. Identify the hub page (broadest, highest-volume cluster)
2. Connect spoke pages (specific clusters that link back to hub)
3. Prioritize by: commercial intent first (revenue), then informational (traffic)
4. Estimate effort: number of articles needed, suggested publishing cadence
### Step 6: Self-Validation
- [ ] Clusters are based on actual search data, not guesses
- [ ] Each cluster has a clear search intent (I, C, or T)
- [ ] Hub-and-spoke structure is logical (hub is broad, spokes are specific)
- [ ] Priority ordering makes business sense (revenue-driving content first)
- [ ] Total content pieces are realistic for user's capacity
## Output Schema
```yaml
output_schema_version: "1.0.0"
keyword_clusters:
niche: string
total_keywords: number
total_clusters: number
hub:
keyword: string
cluster_name: string
content_type: string
priority: number
clusters:
- name: string
intent: string # "informational" | "commercial" | "transactional"
hub_keyword: string
keywords: string[]
content_type: string # "blog" | "comparison" | "review" | "tutorial" | "landing"
priority: number # 1-5
estimated_volume: string
content_roadmap:
total_articles: number
publishing_cadence: string
priority_order: string[] # Cluster names in order to write
target_keywords: string[] # Flat list of all keywords for chaining
chain_metadata:
skill_slug: "keyword-cluster-architect"
stage: "blog"
timestamp: string
suggested_next:
- "affiliate-blog-builder"
- "content-moat-calculator"
- "comparison-post-writer"
- "landing-page-creator"
```
## Output Format
```
## Keyword Cluster Map: [Niche]
### Overview
- **Total keywords:** XXX
- **Clusters:** XX
- **Hub topic:** [main hub]
- **Content pieces needed:** XX articles
### Hub & Spoke Map
```
[HUB: Main Topic]
/ | | \
[Spoke] [Spoke] [Spoke] [Spoke]
| | | |
[Sub] [Sub] [Sub] [Sub]
```
### Clusters by Priority
#### Priority 1: [Cluster Name] (Commercial Intent)
- **Hub keyword:** [keyword] — [volume]
- **Content type:** [comparison / review]
- **Keywords:** [list]
- **Article idea:** [specific title]
#### Priority 2: [Cluster Name] (Informational Intent)
[same structure]
[Continue for all clusters]
### Content Roadmap
| Week | Cluster | Article | Intent | Priority |
|---|---|---|---|---|
| 1 | [cluster] | [title] | C | 1 |
| 2 | [cluster] | [title] | C | 1 |
| 3 | [cluster] | [title] | I | 2 |
### Next Steps
- Run `content-moat-calculator` to estimate effort for topical authority
- Run `affiliate-blog-