What it does
Takes a raw keyword list and groups it by search intent and topical overlap into clusters, then assigns each cluster to either the pillar page or a supporting post, proposing internal links between them. Flags keywords that don't fit any existing content, marking a content gap.
Install
This skill isn't packaged in an installable registry. It's a plain SKILL.md file you can copy directly. Copy it from the SKILL.md tab and save it at the path for your assistant:
Use it in your AI assistant
Claude Code
.claude/skills/keyword-cluster-mapper/ (or ~/.claude/skills/keyword-cluster-mapper/ for all projects)
GitHub Copilot (VS Code)
.github/skills/keyword-cluster-mapper/
OpenAI Codex
.codex/skills/keyword-cluster-mapper/
Cursor
.cursor/skills/keyword-cluster-mapper/ (or ~/.cursor/skills/keyword-cluster-mapper/ globally)
Compatibility
Any WordPress site. No special plugin required; works from a keyword list the user supplies (exported from any keyword research tool) rather than pulling one automatically.
The complete SKILL.md for this skill:
---
name: keyword-cluster-mapper
description: Use when a user has a keyword list and wants it organized into topic clusters around a pillar page for a content plan. Triggers on "keyword clustering", "topic cluster", "pillar page", or "content silo".
---
# Keyword Cluster Mapper
## When to use
The user has a raw list of keywords (from research or an export) and wants them grouped by topic and intent into a pillar-and-supporting-post structure, either for planning new content or organizing existing posts.
## Procedure
1. Group the keyword list by shared search intent and topical overlap, not just shared words.
2. Identify which cluster is broad enough to anchor a pillar page, and which are narrower, better suited to supporting posts that link back to the pillar.
3. Match each cluster to existing site content where it already exists, and mark clusters with no matching content as gaps.
4. Propose the internal linking pattern: supporting posts link up to the pillar, and the pillar links out to each supporting post.
5. Present the structure as a simple pillar-to-supporting-post table with the keyword cluster and intent noted for each row.
## Guardrails
- Don't force a keyword into a cluster it doesn't genuinely fit just to avoid a leftover "uncategorized" group, an honest miscellaneous bucket is more useful than a forced fit.
- Flag when two clusters are similar enough that they'd cannibalize each other if built as separate pages, and suggest merging them instead.