> Map 50-200+ keywords into topical clusters for SEO domination. Build content roadmaps for topical authority. "keyword strategy", "content roadmap for SEO", "keyword grouping", "topic clusters", "SEO keyword plan", "map my keywords", "keyword cluster", "hub and spoke content", "build topical authority", "SEO content plan", "keyword universe".
npx skills add https://github.com/Affitor/affiliate-skills --skill 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.
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.
affiliate-blog-builder — to know WHICH articles to writemonopoly-niche-finder — to map the keyword universe for the winning nicheniche: 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.
If not provided, generate 5-10 seed keywords from the niche:
For each seed, use web_search to discover related keywords:
"[seed keyword]" — note related searches, People Also Ask"[seed keyword] guide" OR "[seed keyword] tutorial" — informational variants"best [seed keyword]" OR "[seed keyword] review" — commercial variantsCollect 50-200+ unique keywords depending on depth.
Read shared/references/seo-strategy.md for clustering methodology.
Classify each keyword:
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]
Organize clusters into a hub-and-spoke map:
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"
## 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-builder` for Priority 1 articles
- Run `comparison-post-writer` for commercial clusters
monopoly-niche-finder first."Example 1: "Map keywords for AI video tools"
→ Seeds: "best AI video tools", "AI video generator", "HeyGen review". Expand to 100+ keywords. Cluster: "AI video reviews" (C), "how to make AI videos" (I), "AI video pricing" (T), "AI video vs traditional" (C). Hub: "Best AI Video Tools 2025".
Example 2: "Keyword strategy for my affiliate blog about email marketing"
→ Deep keyword research. Clusters: "email marketing platforms" (C), "email automation tutorials" (I), "email marketing pricing comparison" (T), "email deliverability guides" (I).
Example 3: "Plan my content roadmap" (after monopoly-niche-finder)
→ Pick up niche from chain. Map 100+ keywords in that intersection niche. Prioritize clusters by revenue potential.
affiliate-blog-builder (S3) — which articles to write and target keywordscomparison-post-writer (S3) — commercial clusters become comparison articlescontent-moat-calculator (S3) — keyword count informs moat estimationlanding-page-creator (S4) — transactional clusters become landing pagesinternal-linking-optimizer (S6) — cluster structure defines link architecturemonopoly-niche-finder (S1) — niche to cluster keywords forcontent-pillar-atomizer (S2) — content pillars suggest keyword areasseo-audit (S6) — current ranking data reveals keyword gapsseo-audit (S6) reveals ranking gaps in existing clusters → add keywords and new content to fill gapsBefore delivering output, verify:
Any NO → rewrite before delivering.
shared/references/seo-strategy.md — Topical authority, clustering methodology, hub-and-spokeshared/references/affiliate-glossary.md — Terminologyshared/references/flywheel-connections.md — Master connection mapA set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
Identifies high-quality leads for your product or service by analyzing your business, searching for target companies, and providing actionable contact strategies. Perfect for sales, business development, and marketing professionals.
Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.
Complete App Store Optimization (ASO) toolkit for researching, optimizing, and tracking mobile app performance on Apple App Store and Google Play Store
NGS analysis toolkit. BAM to bigWig conversion, QC (correlation, PCA, fingerprints), heatmaps/profiles (TSS, peaks), for ChIP-seq, RNA-seq, ATAC-seq visualization.
Materials science toolkit. Crystal structures (CIF, POSCAR), phase diagrams, band structure, DOS, Materials Project integration, format conversion, for computational materials science.
Transforms vague UI ideas into polished, Stitch-optimized prompts. Enhances specificity, adds UI/UX keywords, injects design system context, and structures output for better generation results.
Take affitor/keyword-cluster-architect from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.