Skip to content

/seo-cluster

Use when building semantic keyword clusters from SERP overlap for pillar/cluster content architecture.

shell
$ npx -y skills add fusengine/agents --skill seo-cluster --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/seo-cluster
How auto-invocation works

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when building semantic keyword clusters from SERP overlap for pillar/cluster content architecture.

SKILL.md

seo-cluster.SKILL.md
name: seo-cluster
description: Use when building semantic keyword clusters from SERP overlap for pillar/cluster content architecture.
user-invocable: false
related-skills: seo, seo-internal-linking, seo-content, seo-content-brief

<objective> Builds semantic keyword clusters by expanding a seed keyword (autocomplete + "People Also Ask"), fetching each candidate's SERP, and grouping keywords whose SERP overlaps the seed's by Jaccard index ≥30% into one cluster (pillar = highest-volume keyword). Layers clusters by buyer state (L1 awareness through L4 decision) rather than lexical similarity, splits local vs global intent into separate pages, and runs an anti-cannibalization check against existing pages before proposing new cluster pages. Does not write the content itself — hands off to seo-content-brief per cluster page and seo-internal-linking for the resulting link mesh. </objective>

Semantic Clustering

Method

1. Take seed keyword (e.g. "claude code") 2. Fetch SERP for seed via WebFetch/fuse-browser (top 10 results) 3. For each related keyword (autocomplete + "People Also Ask"):

  • Fetch its SERP
  • Compute overlap with seed's SERP (Jaccard index)

4. Group keywords where SERP overlap ≥ 30% → same cluster 5. Cluster center = highest-volume keyword

Output

# Cluster: "claude code"

## Pillar: claude code (vol: 12K, KD: 45)
- Intent: informational
- Featured: AI Overview, video

## Cluster pages
1. claude code installation (vol: 2.4K)
2. claude code vs cursor (vol: 1.8K)
3. claude code mcp servers (vol: 900)
4. claude code hooks (vol: 720)

Cluster by Buyer State (2026)

SERP overlap is the mechanical signal; the strategic axis is **buyer state + intent**, not surface similarity. Map each cluster keyword to a layer, then group by layer:

| Layer | State | Intent signal | |-------|-------|---------------| | **L1** | Awareness | "what is", "why", problem framing | | **L2** | Comparison | "vs", "alternatives", "best for" | | **L3** | Evaluation | "pricing", "reviews", "worth it" | | **L4** | Decision | "buy", "near me", "demo", "signup" |

Two keywords with high SERP overlap but different buyer states belong to different pages. Never merge clusters on lexical similarity alone.

Citation eligibility

AI Overviews capture ~30-60% of informational (L1/L2) CTR. For those layers, prioritize pages that produce verbatim-extractable answers per section over raw ranking — the goal is the LLM citation, not only the blue link.

Local vs Global Intent (2026)

| Axis | LOCAL intent | GLOBAL intent | |------|--------------|---------------| | Type | Proximity transactional/navigational ("near me", "[service] [city]") | Informational / comparative | | SERP feature | Triggers the Map Pack | AI Overviews-heavy | | AI Overviews exposure | Resists (local results stay link-driven) | CTR eroded -40% to -58% on informational keywords | | Target page | Local page / city hub | Global pillar |

**One intent = one URL.** Split a local page from the global/pillar page when local volume and content justify it. **Do not split** if local volume is below ~30 searches/month, or if you cannot write 1200+ words genuinely distinct from the pillar.

Anti-Cannibalization Check

Before creating cluster pages, verify no existing page targets the same buyer state + intent. Use `seo-content` skill. The primary keyword is exclusive per page — pillar = `[service]` (no city), local = `[service] [city]`. See `seo-internal-linking` for the pillar/local/region URL architecture and link mesh.

Read more
Read it on GitHub ↗
Ships withfusengine-agents

A plugin ecosystem that turns Claude Code into a supervised, multi-agent development environment.

Get the whole plugin, auto-invoked
Stats
22
Stars
0
Views
3
Forks
Active
Maintenance
CSS
Language
MIT
License
1d ago
Last commit
6mo ago
Created

Repo: fusengine/agents