
Seo Cluster
Execute a planned topical cluster from cluster-plan.json—pillar first, then spokes by volume—while injecting context into blog-write and updating internal links.
Overview
SEO Cluster is an agent skill most often used in Launch (also Grow content) that executes cluster-plan.json by publishing pillar-then-spoke SEO content with blog-write context and internal link maintenance.
Install
npx skills add https://github.com/agricidaniel/claude-seo --skill seo-clusterWhat is this skill?
- Transforms cluster-plan.json into ordered content execution with resume support
- Priority algorithm: pillar first, then spokes by descending search volume
- Structured cluster_context JSON block passed when invoking blog-write per post
- Handles backward link updates after new spokes publish
- Post-execution quality scoring closes the workflow loop
- Priority algorithm lists 4 ordering rules: pillar first, spokes by volume desc, then cluster index, then post index
Adoption & trust: 1.2k installs on skills.sh; 8.5k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have a keyword cluster plan but no disciplined agent workflow to publish pillar-first, volume-prioritized spokes with consistent internal links.
Who is it for?
Solo founders executing a pre-built SEO cluster who want agents to respect pillar/spoke order and mandatory linking instead of one-off blog drafts.
Skip if: Builders with no cluster-plan.json or who only need a single article without hub-and-spoke architecture.
When should I use this skill?
You have cluster-plan.json ready and need ordered pillar-then-spoke execution with blog-write context and link graph maintenance.
What do I get? / Deliverables
Ordered cluster posts go live with injected blog-write context, updated backward links, and post-execution quality scores ready for analytics follow-up.
- Published pillar and spoke articles in priority order
- Updated internal links across cluster siblings
- Post-execution quality score for the cluster run
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
SEO cluster execution is the Launch shelf because it turns keyword architecture into published URLs and on-site linking—the moment organic distribution compounds. Subphase seo fits the strict publish order (pillar → high-volume spokes) and mandatory hub/spoke linking that defines cluster SEO execution.
Where it fits
Ship your pillar guide first, then highest-volume spokes so new URLs interlink to the hub from day one.
Add Cluster 1 spokes after Cluster 0, running backward link updates on older posts.
Use completed cluster URLs as the organic foundation before paid or social distribution pushes.
How it compares
Orchestrates multi-article cluster execution—not a lone blog generator or technical site audit skill.
Common Questions / FAQ
Who is seo cluster for?
Solo builders and indie SaaS marketers using agent stacks to turn structured SEO cluster plans into linked pillar and spoke content.
When should I use seo cluster?
At Launch when rolling out a content cluster; at Grow content when extending an existing hub with new spokes and backward link fixes.
Is seo cluster safe to install?
It orchestrates content generation and may invoke other skills that write files—review the Security Audits panel on this Prism page and validate cluster-plan sources before execution.
SKILL.md
READMESKILL.md - Seo Cluster
# Execution Workflow ## Overview The execution phase transforms a `cluster-plan.json` into actual content. It handles priority ordering, context injection for the blog writer, backward link updates, resume capability, and post-execution quality scoring. ## Priority Algorithm Content is created in this strict order: 1. **Pillar page first** -- The hub must exist before any spokes can link to it 2. **Spokes by search volume (descending)** -- Highest-volume spokes first for maximum early impact 3. **Within same volume, by cluster index** -- Process Cluster 0 before Cluster 1 4. **Within same cluster, by post index** -- Process Post 0 before Post 1 Rationale: The pillar establishes the topical authority foundation. High-volume spokes generate the most organic traffic, so they should be published earliest for faster compounding returns. ## Cluster Context Injection When invoking `blog-write` for each post, pass a structured context block: ```json { "cluster_context": { "role": "pillar|spoke", "pillar_title": "The Complete Guide to ...", "pillar_url": "/guide/...", "cluster_name": "Cluster Name", "cluster_index": 0, "post_index": 0, "primary_keyword": "target keyword", "secondary_keywords": ["variant 1", "variant 2"], "template": "how-to", "word_count_target": 1500, "outgoing_links": [ { "url": "/pillar-url", "anchor": "main topic guide", "type": "mandatory" }, { "url": "/sibling-post", "anchor": "related subtopic", "type": "recommended" } ], "incoming_link_placeholder": "<!-- cluster-link:cluster-0-post-1 -->", "differentiation_note": "This post should focus on X, while sibling post covers Y" } } ``` ### Context Fields Explained | Field | Purpose | |-------|---------| | `role` | Whether this is the pillar or a spoke (affects depth and breadth) | | `pillar_title` / `pillar_url` | So spokes can link back to the pillar | | `cluster_name` / `cluster_index` | For organizing and labeling | | `post_index` | Position within the cluster | | `primary_keyword` | The main target keyword for this post | | `secondary_keywords` | Additional keywords to naturally incorporate | | `template` | Content template to follow (how-to, listicle, comparison, etc.) | | `word_count_target` | Target word count (not a hard limit, a guideline) | | `outgoing_links` | Links this post MUST include, with suggested anchor text | | `incoming_link_placeholder` | HTML comment marker for future backward link injection | | `differentiation_note` | How this post differs from siblings targeting similar topics | ## Backward Link Injection After each new post is written, update previously written posts to link to it: ### Process 1. Read the link matrix from `cluster-plan.json` 2. Identify all posts that should link TO the newly written post 3. For each of those posts (that is already written): a. Open the post file b. Search for the placeholder comment: `<!-- cluster-link:POST_ID -->` c. Replace the placeholder with an actual contextual link d. If no placeholder found, append a contextual link in the most relevant section 4. Log all backward links added ### Placeholder Format ```html <!-- cluster-link:cluster-0-post-1 --> ``` This is inserted during content creation at a contextually appropriate location. When the target post is later written, the placeholder is replaced with: ```html For a deeper dive, see our guide on <a href="/target-url">anchor text</a>. ``` ## Resume Capability Execution can be interrupted and resumed. The resume algorithm: ### Detection 1. Read `cluster-plan.json` from the current directory 2. Scan the output directory for existing post files 3. Match found files against the plan using: - Filename patterns (slug derived from title or keyword) - Content inspection (check for `primary_keyword` in frontmatter or first H1) 4. Mark matched posts as `"status": "written"` in the plan ### Resume Logic 1. Load the plan with updated statuses 2. Fi