Creator · AgriciDaniel
Last updated · Sep 1, 2026
SERP-based semantic topic clustering for content architecture planning. Groups keywords by actual Google SERP overlap (not text similarity), designs hub-and-spoke content clusters with internal link matrices, and generates interactive visualizations. Optionally executes content c
Creator · AgriciDaniel
Last updated · Sep 1, 2026
SERP-based semantic topic clustering for content architecture planning. Groups keywords by actual Google SERP overlap (not text similarity), designs hub-and-spoke content clusters with internal link matrices, and generates interactive visualizations. Optionally executes content c
Creator · AgriciDaniel
Last updated · Sep 1, 2026
SERP-based semantic topic clustering for content architecture planning. Groups keywords by actual Google SERP overlap (not text similarity), designs hub-and-spoke content clusters with internal link matrices, and generates interactive visualizations. Optionally executes content c
Creator · AgriciDaniel
Last updated · Sep 1, 2026
SERP-based semantic topic clustering for content architecture planning. Groups keywords by actual Google SERP overlap (not text similarity), designs hub-and-spoke content clusters with internal link matrices, and generates interactive visualizations. Optionally executes content c
Review then install
Install targets
Codex install prompt
Install the "seo-cluster" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-cluster. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: SERP-based semantic topic clustering for content architecture planning. Groups keywords by actual Google SERP overlap (not text similarity), designs hub-and-spoke content clusters with internal link matrices, and generates interactive visualizations. Optionally executes content creation if claude-blog is installed. Use when user says "topic cluster", "content cluster", "semantic clustering", "pillar page", "hub and spoke", "content architecture", "keyword grouping", or "cluster plan". After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"agricidaniel-seo-cluster","task":"Install seo-cluster","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
Research agents
I need my agent to research a topic, compare sources, and produce a concise report.
Agent fit
Claude Code + Browser agents + CLI
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Maintenance
fresh
10d since push
Risk
Needs review
Permission surface may require sandboxing
GitHub quality
16K
89/100 Quality · 84/100 Trust
Coverage tags
Review notes
Permission surface may require sandboxing · Financial research output is not financial advice; require human review before any live investment decision
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
ExcellentHigh-confidence pick with strong adoption and healthy maintenance signals.
Trust
Review then installGood shortlist signal, but the agent should review audit notes, install policy, and outcome evidence before running it.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Use as the primary candidate after human or sandbox review.
Stars
16K GitHub stars
Repo activity
16K stars, 2.3K forks
Maintenance
10d since push
License
MIT
Install
npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add AgriciDaniel/claude-seo --skill seo-clusterDo not use when
Alternative
174.6K Stars
npx skills add anthropics/skills --skill frontend-design
Alternative
84.6K Stars
npx skills add Leonxlnx/taste-skill --skill design-taste-frontend
Alternative
1.8K Stars
npx skills add Alisa0808/vox-director --skill vox-director
Alternative
174.6K Stars
npx skills add anthropics/skills --skill canvas-design
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill may drive a browser or interact with web pages.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20seo-cluster%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20seo-cluster%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/agricidaniel-seo-cluster/install
Agent should check
Copy prompt
Task: Use seo-cluster in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20seo-cluster%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/agricidaniel-seo-cluster/install
Install command: npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/agricidaniel-seo-cluster/install
LLM text format
/api/skills/agricidaniel-seo-cluster/install?format=text
Find alternatives
/api/skills/search?q=seo-cluster&limit=3
Agent prompt
Use seo-cluster for this task. Review https://www.openagentskill.com/api/skills/agricidaniel-seo-cluster/install, then install with: npx skills add AgriciDaniel/claude-seo --skill seo-clusterRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/agricidaniel-seo-cluster
LLM text
/api/registry/manifest/agricidaniel-seo-cluster?format=text
Install alias
/api/registry/install/agricidaniel-seo-cluster
Recommend
/api/registry/recommend?task=Use%20seo-cluster%20in%20an%20agent%20workflow&limit=3
Agent fit
Research agents
Use-case tags
Platforms
Claude Code, Browser agents
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Research agents
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Good shortlist signal, but the agent should review audit notes, install policy, and outcome evidence before running it.
GitHub adoption
PASS16K GitHub stars
Stars/forks activity
PASS16K stars, 2.3K forks; issue activity unavailable in current metadata
Recent maintenance
PASS10d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Use as the primary candidate after human or sandbox review.
Quality profile
High-confidence pick with strong adoption and healthy maintenance signals.
Workflow fit
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Parse messy files
I need my agent to read PDFs, extract tables, and turn documents into structured data.
Search private knowledge
I need my agent to build a RAG workflow over documents and retrieve reliable context.
Workflow fit
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Scrape, clean, and reuse web data
A practical workflow for agents that crawl public pages, extract clean content, normalize data, and hand it to downstream research or RAG workflows.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Alternative shortlist
Similar skills that may fit this task.
Guidance for distinctive, intentional UI design, typography, visual direction, and non-template-like product interfaces.
Design and implementation guidance for distinctive landing pages, portfolios, product demos, and purposeful redesigns.
Turn one topic into a narrated Vox-style paper-collage explainer or ad video, from script through captions.
Create original visual art, posters, PNG assets, and PDF documents through a clear design philosophy.
--- name: seo-cluster description: > SERP-based semantic topic clustering for content architecture planning. Groups keywords by actual Google SERP overlap (not text similarity), designs hub-and-spoke content clusters with internal link matrices, and generates interactive visualizations. Optionally executes content creation if claude-blog is installed. Use when user says "topic cluster", "content cluster", "semantic clustering", "pillar page", "hub and spoke", "content architecture", "keyword grouping", or "cluster plan". user-invocable: true argument-hint: "<seed-keyword or url>" license: MIT metadata: author: AgriciDaniel original_author: "Lutfiya Miller (Pro Hub Challenge Winner)" version: "2.2.5" category: seo ---
# Semantic Topic Clustering
SERP-overlap-driven keyword clustering for content architecture. Groups keywords by how Google actually ranks them (shared top-10 results), not by text similarity. Designs hub-and-spoke content clusters with internal link matrices and generates interactive cluster map visualizations.
**Scripts:** Located at the plugin root `scripts/` directory.
---
## Quick Reference
| Command | What it does | |---------|-------------| | `/seo cluster plan <seed-keyword>` | Full planning workflow: expand, cluster, architect, visualize | | `/seo cluster plan --from strategy` | Import from existing `/seo plan` output | | `/seo cluster execute` | Execute plan: create content via claude-blog or output briefs | | `/seo cluster map` | Regenerate the interactive cluster visualization |
---
## Planning Workflow
### Step 1: Seed Keyword Expansion
Expand the seed keyword into 30-50 variants using WebSearch:
1. **Related searches**: Search the seed, extract "related searches" and "people also search for" 2. **People Also Ask (PAA)**: Extract all PAA questions from SERP results 3. **Long-tail modifiers**: Append common modifiers: "best", "how to", "vs", "for beginners", "tools", "examples", "guide", "template", "mistakes", "checklist" 4. **Question mining**: Generate who/what/when/where/why/how variants 5. **Intent modifiers**: Add commercial modifiers: "pricing", "review", "alternative", "comparison", "free", "top"
**Deduplication:** Normalize variants (lowercase, strip articles), remove exact duplicates. Target: 30-50 unique keyword variants. If under 30, run a second expansion pass with the top PAA questions as seeds.
### Step 2: SERP Overlap Clustering
This is the core differentiator. Load `references/serp-overlap-methodology.md` for the full algorithm.
**Process:** 1. Group keywords by initial intent guess (reduces pairwise comparisons) 2. For each candidate pair within a group, WebSearch both keywords 3. Count shared URLs in the top 10 organic results (ignore ads, featured snippets, PAA) 4. Apply thresholds:
| Shared Results | Relationship | Action | |---------------|-------------|--------| | 7-10 | Same post | Merge into single target page | | 4-6 | Same cluster | Group under same spoke cluster | | 2-3 | Interlink | Place in adjacent clusters, add cross-links | | 0-1 | Separate | Assign to different clusters or exclude |
**Optimization:** With 40 keywords, full pairwise = 780 comparisons. Instead: - Pre-group by intent (4 groups of ~10 = 4 x 45 = 180 comparisons) - Only cross-check group boundary keywords - Skip pairs where both are long-tail variants of the same head term (assume same cluster)
**DataForSEO integration:** If DataForSEO MCP is available, use `serp_organic_live_advanced` instead of WebSearch for SERP data. Run `claude-seo run dataforseo_costs.py check serp_organic_live_advanced --count N` before each batch. If `"status": "needs_approval"`, show cost estimate and ask user. If `"status": "blocked"`, fall back to WebSearch.
### Step 3: Intent Classification
Classify each keyword into one of four intent categories:
| Intent | Signals | Include in Clusters? | |--------|---------|---------------------| | Informational | how, what, why, guide, tutorial, learn | Yes | | Commercial | best, top, review, comparison, vs, alternative | Yes | | Transactional | buy, price, discount, coupon, order, sign up | Yes | | Navigational | brand names, specific product names, login | No (exclude) |
Remove navigational keywords from clustering. Flag borderline cases for manual review. Keywords can have mixed intent (e.g., "best CRM software" is both commercial and informational) -- classify by dominant intent.
### Step 4: Hub-and-Spoke Architecture
Load `references/hub-spoke-architecture.md` for full specifications.
**Design the cluster structure:**
1. **Select the pillar keyword**: Highest volume, broadest intent, most SERP overlap with other keywords 2. **Group spokes into clusters**: Each cluster is a subtopic area (2-5 clusters per pillar) 3. **Assign posts to clusters**: Each cluster gets 2-4 spoke posts 4. **Select templates per post**: Based on intent classification:
| Intent Pattern | Template Options | |---------------|-----------------| | Informational (broad) | ultimate-guide | | Informational (how) | how-to | | Informational (list) | listicle | | Informational (concept) | explainer | | Commercial (compare) | comparison | | Commercial (evaluate) | review | | Commercial (rank) | best-of | | Transactional | landing-page |
5. **Set word count targets:** - Pillar page: 2500-4000 words - Spoke posts: 1200-1800 words
6. **Cannibalization check**: No two posts share the same primary keyword. If SERP overlap is 7+, merge those keywords into a single post targeting both.
### Step 5: Internal Link Matrix
Design the bidirectional linking structure:
| Link Type | Direction | Requirement | |-----------|-----------|-------------| | Spoke to pillar | spoke -> pillar | Mandatory (every spoke) | | Pillar to spoke | pillar -> spoke | Mandatory (every spoke) | | Spoke to spoke (within cluster) | spoke <-> spoke | 2-3 links per post | | Cross-cluster | spoke -> spoke (other cluster) | 0-1 links per post |
**Rules:** - Every post must have minimum 3 incoming internal links - No orphan pages (every post reachable from pillar in 2 clicks) - Anchor text must use target keyword or close variant (no "click here") - Link placement: within body content, not just navigation/sidebar
Generate the link matrix as a JSON adjacency list: ```json { "links": [ { "from": "pillar", "to": "cluster-0-post-0", "type": "mandatory", "anchor": "keyword" }, { "from": "cluster-0-post-0", "to": "pillar", "type": "mandatory", "anchor": "keyword" } ] } ```
### Step 6: Interactive Cluster Map
Generate `cluster-map.html` using the template at `templates/cluster-map.html`.
1. Read the template file 2. Build the `CLUSTER_DATA` JSON object from the cluster plan: ```javascript { pillar: { title, keyword, volume, template, wordCount, url }, clusters: [{ name, color, posts: [{ title, keyword, volume, template, wordCount, url, status }] }], links: [{ from, to, type }], meta: { totalPosts, totalClusters, totalLinks, estimatedWords } } ``` 3. Replace the `CLUSTER_DATA` placeholder in the template with the actual JSON 4. Write the completed HTML file to the output directory 5. Inform user: "Open `cluster-map.html` in a browser to explore the interactive cluster map."
---
## Strategy Import
When invoked with `--from strategy`:
1. Look for the most recent `/seo plan` output in the current directory (search for files matching `*SEO*Plan*`, `*strategy*`, `*content-strategy*`) 2. Parse markdown tables for: keywords, page types, content pillars, URL structures 3. Validate extracted data: check for duplicates, missing keywords, incomplete entries 4. Enrich with SERP data: run SERP overlap analysis on extracted keywords 5. Build cluster plan using the imported keywords as the starting set (skip Step 1)
If no strategy file is found, prompt the user: "No existing SEO plan found in the current directory. Run `/seo plan` first, or provide a seed keyword for fresh clustering."
---
## Execution Workflow
When `/seo cluster execute` is invoked:
### Check for claude-blog
``` Test: Does ~/.claude/skills/blog/SKILL.md exist? ```
**If claude-blog IS installed:**
1. Load `references/execution-workflow.md` for the full algorithm 2. Read `cluster-plan.json` from the current directory 3. Check for resume state: scan output directory for already-written posts 4. Execute in priority order: pillar first, then spokes by volume (highest first) 5. For each post, invoke the `blog-write` skill with cluster context: - Cluster role (pillar or spoke) - Position in cluster (cluster index, post index) - Target keyword and secondary keywords - Template type and word count target - Internal links to include (with anchors) - Links to receive from future posts (placeholder markers) 6. After each post is written, scan previous posts for backward link placeholders and inject the new post's URL 7. After all posts are written, generate the cluster scorecard
**If claude-blog is NOT installed:**
1. Generate detailed content briefs for each post in the cluster plan 2. Each brief includes: - Title and meta description - Primary keyword and secondary keywords - Template type and suggested structure (H2/H3 outline) - Word count target - Internal links to include (with anchor text) - Key points to cover - Competing pages to differentiate from 3. Write briefs to `cluster-briefs/` directory as individual markdown files 4. Inform user: "Install [claude-blog](https://github.com/AgriciDaniel/claude-blog) to auto-create content. Briefs saved to `cluster-briefs/`."
---
## Cluster Scorecard
Post-execution quality report. Run automatically after `/seo cluster execute` or on demand via analysis of the output directory.
| Metric | Target | How Measured | |--------|--------|-------------| | Coverage | 100% | Posts written / posts planned | | Link Density | 3+ per post | Count internal links per post | | Orphan Pages | 0 | Posts with < 1 incoming link | | Cannibalization | 0 conflicts | Check for duplicate primary keywords | | Image Count | 1+ per post | Posts with at least one image | | Pillar Links | 100% | All spokes link to pillar and vice versa | | Cross-Links | 80%+ | Recommended spoke-to-spoke links implemented | | Content Gaps | 0 | Planned posts that were skipped or incomplete |
---
## Map Regeneration
When `/seo cluster map` is invoked:
1. Read `cluster-plan.json` from the current directory 2. Scan output directory and update post statuses (planned vs written) 3. Regenerate `cluster-map.html` with updated statuses 4. Report: posts written vs planned, link completion percentage
---
## Output Files
All outputs are written to the current working directory:
| File | Description | |------|-------------| | `cluster-plan.json` | Machine-readable cluster plan (full data) | | `cluster-plan.md` | Human-readable cluster plan summary | | `cluster-map.html` | Interactive SVG visualization | | `cluster-briefs/` | Content briefs (if no claude-blog) | | `cluster-scorecard.md` | Post-execution quality report |
---
## Cross-Skill Integration
| Skill | Relationship | |-------|-------------| | `seo-plan` | Import source: strategy import reads seo-plan output | | `seo-content` | Quality check: E-E-A-T validation of generated content | | `seo-schema` | Schema markup: Article, BreadcrumbList, ItemList for cluster pages | | `seo-dataforseo` | Data source: SERP data when DataForSEO MCP is available | | `seo-google` | Reporting: generate PDF report of cluster plan and scorecard |
After cluster planning or execution completes, offer: "Generate a PDF report? Use `/seo google report`"
---
## Error Handling
| Error | Cause | Resolution | |-------|-------|------------| | "No seed keyword provided" | Missing argument | Prompt user for seed keyword or URL | | "Insufficient keyword variants" | Expansion yielded < 15 keywords | Run second expansion pass with PAA questions | | "SERP data unavailable" | WebSearch
Source provenance
Decision snapshot
16,033 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for seo-cluster, ready for a manual X post.
seo-cluster: SERP-based semantic topic clustering for content architecture planning. Groups keywords by ac... 16.0K stars https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=x
Listing + install path for seo-cluster: https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=x Install: npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to AgriciDaniel but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster/audit)
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)AgriciDaniel
@agricidaniel
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Review then install
Frontend Design
Guidance for distinctive, intentional UI design, typography, visual direction, and non-template-like product interfaces.
174.6K StarsTaste Skill: Anti-Slop Frontend
Design and implementation guidance for distinctive landing pages, portfolios, product demos, and purposeful redesigns.
84.6K StarsVox Director
Turn one topic into a narrated Vox-style paper-collage explainer or ad video, from script through captions.
1.8K StarsCanvas Design
Create original visual art, posters, PNG assets, and PDF documents through a clear design philosophy.
174.6K StarsReview then install
Install targets
Codex install prompt
Install the "seo-cluster" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-cluster. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: SERP-based semantic topic clustering for content architecture planning. Groups keywords by actual Google SERP overlap (not text similarity), designs hub-and-spoke content clusters with internal link matrices, and generates interactive visualizations. Optionally executes content creation if claude-blog is installed. Use when user says "topic cluster", "content cluster", "semantic clustering", "pillar page", "hub and spoke", "content architecture", "keyword grouping", or "cluster plan". After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"agricidaniel-seo-cluster","task":"Install seo-cluster","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
Research agents
I need my agent to research a topic, compare sources, and produce a concise report.
Agent fit
Claude Code + Browser agents + CLI
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Maintenance
fresh
10d since push
Risk
Needs review
Permission surface may require sandboxing
GitHub quality
16K
89/100 Quality · 84/100 Trust
Coverage tags
Review notes
Permission surface may require sandboxing · Financial research output is not financial advice; require human review before any live investment decision
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
ExcellentHigh-confidence pick with strong adoption and healthy maintenance signals.
Trust
Review then installGood shortlist signal, but the agent should review audit notes, install policy, and outcome evidence before running it.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Use as the primary candidate after human or sandbox review.
Stars
16K GitHub stars
Repo activity
16K stars, 2.3K forks
Maintenance
10d since push
License
MIT
Install
npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add AgriciDaniel/claude-seo --skill seo-clusterDo not use when
Alternative
174.6K Stars
npx skills add anthropics/skills --skill frontend-design
Alternative
84.6K Stars
npx skills add Leonxlnx/taste-skill --skill design-taste-frontend
Alternative
1.8K Stars
npx skills add Alisa0808/vox-director --skill vox-director
Alternative
174.6K Stars
npx skills add anthropics/skills --skill canvas-design
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill may drive a browser or interact with web pages.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20seo-cluster%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20seo-cluster%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/agricidaniel-seo-cluster/install
Agent should check
Copy prompt
Task: Use seo-cluster in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20seo-cluster%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/agricidaniel-seo-cluster/install
Install command: npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/agricidaniel-seo-cluster/install
LLM text format
/api/skills/agricidaniel-seo-cluster/install?format=text
Find alternatives
/api/skills/search?q=seo-cluster&limit=3
Agent prompt
Use seo-cluster for this task. Review https://www.openagentskill.com/api/skills/agricidaniel-seo-cluster/install, then install with: npx skills add AgriciDaniel/claude-seo --skill seo-clusterRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/agricidaniel-seo-cluster
LLM text
/api/registry/manifest/agricidaniel-seo-cluster?format=text
Install alias
/api/registry/install/agricidaniel-seo-cluster
Recommend
/api/registry/recommend?task=Use%20seo-cluster%20in%20an%20agent%20workflow&limit=3
Agent fit
Research agents
Use-case tags
Platforms
Claude Code, Browser agents
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Research agents
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Good shortlist signal, but the agent should review audit notes, install policy, and outcome evidence before running it.
GitHub adoption
PASS16K GitHub stars
Stars/forks activity
PASS16K stars, 2.3K forks; issue activity unavailable in current metadata
Recent maintenance
PASS10d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Use as the primary candidate after human or sandbox review.
Quality profile
High-confidence pick with strong adoption and healthy maintenance signals.
Workflow fit
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Parse messy files
I need my agent to read PDFs, extract tables, and turn documents into structured data.
Search private knowledge
I need my agent to build a RAG workflow over documents and retrieve reliable context.
Workflow fit
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Scrape, clean, and reuse web data
A practical workflow for agents that crawl public pages, extract clean content, normalize data, and hand it to downstream research or RAG workflows.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Alternative shortlist
Similar skills that may fit this task.
Guidance for distinctive, intentional UI design, typography, visual direction, and non-template-like product interfaces.
Design and implementation guidance for distinctive landing pages, portfolios, product demos, and purposeful redesigns.
Turn one topic into a narrated Vox-style paper-collage explainer or ad video, from script through captions.
Create original visual art, posters, PNG assets, and PDF documents through a clear design philosophy.
--- name: seo-cluster description: > SERP-based semantic topic clustering for content architecture planning. Groups keywords by actual Google SERP overlap (not text similarity), designs hub-and-spoke content clusters with internal link matrices, and generates interactive visualizations. Optionally executes content creation if claude-blog is installed. Use when user says "topic cluster", "content cluster", "semantic clustering", "pillar page", "hub and spoke", "content architecture", "keyword grouping", or "cluster plan". user-invocable: true argument-hint: "<seed-keyword or url>" license: MIT metadata: author: AgriciDaniel original_author: "Lutfiya Miller (Pro Hub Challenge Winner)" version: "2.2.5" category: seo ---
# Semantic Topic Clustering
SERP-overlap-driven keyword clustering for content architecture. Groups keywords by how Google actually ranks them (shared top-10 results), not by text similarity. Designs hub-and-spoke content clusters with internal link matrices and generates interactive cluster map visualizations.
**Scripts:** Located at the plugin root `scripts/` directory.
---
## Quick Reference
| Command | What it does | |---------|-------------| | `/seo cluster plan <seed-keyword>` | Full planning workflow: expand, cluster, architect, visualize | | `/seo cluster plan --from strategy` | Import from existing `/seo plan` output | | `/seo cluster execute` | Execute plan: create content via claude-blog or output briefs | | `/seo cluster map` | Regenerate the interactive cluster visualization |
---
## Planning Workflow
### Step 1: Seed Keyword Expansion
Expand the seed keyword into 30-50 variants using WebSearch:
1. **Related searches**: Search the seed, extract "related searches" and "people also search for" 2. **People Also Ask (PAA)**: Extract all PAA questions from SERP results 3. **Long-tail modifiers**: Append common modifiers: "best", "how to", "vs", "for beginners", "tools", "examples", "guide", "template", "mistakes", "checklist" 4. **Question mining**: Generate who/what/when/where/why/how variants 5. **Intent modifiers**: Add commercial modifiers: "pricing", "review", "alternative", "comparison", "free", "top"
**Deduplication:** Normalize variants (lowercase, strip articles), remove exact duplicates. Target: 30-50 unique keyword variants. If under 30, run a second expansion pass with the top PAA questions as seeds.
### Step 2: SERP Overlap Clustering
This is the core differentiator. Load `references/serp-overlap-methodology.md` for the full algorithm.
**Process:** 1. Group keywords by initial intent guess (reduces pairwise comparisons) 2. For each candidate pair within a group, WebSearch both keywords 3. Count shared URLs in the top 10 organic results (ignore ads, featured snippets, PAA) 4. Apply thresholds:
| Shared Results | Relationship | Action | |---------------|-------------|--------| | 7-10 | Same post | Merge into single target page | | 4-6 | Same cluster | Group under same spoke cluster | | 2-3 | Interlink | Place in adjacent clusters, add cross-links | | 0-1 | Separate | Assign to different clusters or exclude |
**Optimization:** With 40 keywords, full pairwise = 780 comparisons. Instead: - Pre-group by intent (4 groups of ~10 = 4 x 45 = 180 comparisons) - Only cross-check group boundary keywords - Skip pairs where both are long-tail variants of the same head term (assume same cluster)
**DataForSEO integration:** If DataForSEO MCP is available, use `serp_organic_live_advanced` instead of WebSearch for SERP data. Run `claude-seo run dataforseo_costs.py check serp_organic_live_advanced --count N` before each batch. If `"status": "needs_approval"`, show cost estimate and ask user. If `"status": "blocked"`, fall back to WebSearch.
### Step 3: Intent Classification
Classify each keyword into one of four intent categories:
| Intent | Signals | Include in Clusters? | |--------|---------|---------------------| | Informational | how, what, why, guide, tutorial, learn | Yes | | Commercial | best, top, review, comparison, vs, alternative | Yes | | Transactional | buy, price, discount, coupon, order, sign up | Yes | | Navigational | brand names, specific product names, login | No (exclude) |
Remove navigational keywords from clustering. Flag borderline cases for manual review. Keywords can have mixed intent (e.g., "best CRM software" is both commercial and informational) -- classify by dominant intent.
### Step 4: Hub-and-Spoke Architecture
Load `references/hub-spoke-architecture.md` for full specifications.
**Design the cluster structure:**
1. **Select the pillar keyword**: Highest volume, broadest intent, most SERP overlap with other keywords 2. **Group spokes into clusters**: Each cluster is a subtopic area (2-5 clusters per pillar) 3. **Assign posts to clusters**: Each cluster gets 2-4 spoke posts 4. **Select templates per post**: Based on intent classification:
| Intent Pattern | Template Options | |---------------|-----------------| | Informational (broad) | ultimate-guide | | Informational (how) | how-to | | Informational (list) | listicle | | Informational (concept) | explainer | | Commercial (compare) | comparison | | Commercial (evaluate) | review | | Commercial (rank) | best-of | | Transactional | landing-page |
5. **Set word count targets:** - Pillar page: 2500-4000 words - Spoke posts: 1200-1800 words
6. **Cannibalization check**: No two posts share the same primary keyword. If SERP overlap is 7+, merge those keywords into a single post targeting both.
### Step 5: Internal Link Matrix
Design the bidirectional linking structure:
| Link Type | Direction | Requirement | |-----------|-----------|-------------| | Spoke to pillar | spoke -> pillar | Mandatory (every spoke) | | Pillar to spoke | pillar -> spoke | Mandatory (every spoke) | | Spoke to spoke (within cluster) | spoke <-> spoke | 2-3 links per post | | Cross-cluster | spoke -> spoke (other cluster) | 0-1 links per post |
**Rules:** - Every post must have minimum 3 incoming internal links - No orphan pages (every post reachable from pillar in 2 clicks) - Anchor text must use target keyword or close variant (no "click here") - Link placement: within body content, not just navigation/sidebar
Generate the link matrix as a JSON adjacency list: ```json { "links": [ { "from": "pillar", "to": "cluster-0-post-0", "type": "mandatory", "anchor": "keyword" }, { "from": "cluster-0-post-0", "to": "pillar", "type": "mandatory", "anchor": "keyword" } ] } ```
### Step 6: Interactive Cluster Map
Generate `cluster-map.html` using the template at `templates/cluster-map.html`.
1. Read the template file 2. Build the `CLUSTER_DATA` JSON object from the cluster plan: ```javascript { pillar: { title, keyword, volume, template, wordCount, url }, clusters: [{ name, color, posts: [{ title, keyword, volume, template, wordCount, url, status }] }], links: [{ from, to, type }], meta: { totalPosts, totalClusters, totalLinks, estimatedWords } } ``` 3. Replace the `CLUSTER_DATA` placeholder in the template with the actual JSON 4. Write the completed HTML file to the output directory 5. Inform user: "Open `cluster-map.html` in a browser to explore the interactive cluster map."
---
## Strategy Import
When invoked with `--from strategy`:
1. Look for the most recent `/seo plan` output in the current directory (search for files matching `*SEO*Plan*`, `*strategy*`, `*content-strategy*`) 2. Parse markdown tables for: keywords, page types, content pillars, URL structures 3. Validate extracted data: check for duplicates, missing keywords, incomplete entries 4. Enrich with SERP data: run SERP overlap analysis on extracted keywords 5. Build cluster plan using the imported keywords as the starting set (skip Step 1)
If no strategy file is found, prompt the user: "No existing SEO plan found in the current directory. Run `/seo plan` first, or provide a seed keyword for fresh clustering."
---
## Execution Workflow
When `/seo cluster execute` is invoked:
### Check for claude-blog
``` Test: Does ~/.claude/skills/blog/SKILL.md exist? ```
**If claude-blog IS installed:**
1. Load `references/execution-workflow.md` for the full algorithm 2. Read `cluster-plan.json` from the current directory 3. Check for resume state: scan output directory for already-written posts 4. Execute in priority order: pillar first, then spokes by volume (highest first) 5. For each post, invoke the `blog-write` skill with cluster context: - Cluster role (pillar or spoke) - Position in cluster (cluster index, post index) - Target keyword and secondary keywords - Template type and word count target - Internal links to include (with anchors) - Links to receive from future posts (placeholder markers) 6. After each post is written, scan previous posts for backward link placeholders and inject the new post's URL 7. After all posts are written, generate the cluster scorecard
**If claude-blog is NOT installed:**
1. Generate detailed content briefs for each post in the cluster plan 2. Each brief includes: - Title and meta description - Primary keyword and secondary keywords - Template type and suggested structure (H2/H3 outline) - Word count target - Internal links to include (with anchor text) - Key points to cover - Competing pages to differentiate from 3. Write briefs to `cluster-briefs/` directory as individual markdown files 4. Inform user: "Install [claude-blog](https://github.com/AgriciDaniel/claude-blog) to auto-create content. Briefs saved to `cluster-briefs/`."
---
## Cluster Scorecard
Post-execution quality report. Run automatically after `/seo cluster execute` or on demand via analysis of the output directory.
| Metric | Target | How Measured | |--------|--------|-------------| | Coverage | 100% | Posts written / posts planned | | Link Density | 3+ per post | Count internal links per post | | Orphan Pages | 0 | Posts with < 1 incoming link | | Cannibalization | 0 conflicts | Check for duplicate primary keywords | | Image Count | 1+ per post | Posts with at least one image | | Pillar Links | 100% | All spokes link to pillar and vice versa | | Cross-Links | 80%+ | Recommended spoke-to-spoke links implemented | | Content Gaps | 0 | Planned posts that were skipped or incomplete |
---
## Map Regeneration
When `/seo cluster map` is invoked:
1. Read `cluster-plan.json` from the current directory 2. Scan output directory and update post statuses (planned vs written) 3. Regenerate `cluster-map.html` with updated statuses 4. Report: posts written vs planned, link completion percentage
---
## Output Files
All outputs are written to the current working directory:
| File | Description | |------|-------------| | `cluster-plan.json` | Machine-readable cluster plan (full data) | | `cluster-plan.md` | Human-readable cluster plan summary | | `cluster-map.html` | Interactive SVG visualization | | `cluster-briefs/` | Content briefs (if no claude-blog) | | `cluster-scorecard.md` | Post-execution quality report |
---
## Cross-Skill Integration
| Skill | Relationship | |-------|-------------| | `seo-plan` | Import source: strategy import reads seo-plan output | | `seo-content` | Quality check: E-E-A-T validation of generated content | | `seo-schema` | Schema markup: Article, BreadcrumbList, ItemList for cluster pages | | `seo-dataforseo` | Data source: SERP data when DataForSEO MCP is available | | `seo-google` | Reporting: generate PDF report of cluster plan and scorecard |
After cluster planning or execution completes, offer: "Generate a PDF report? Use `/seo google report`"
---
## Error Handling
| Error | Cause | Resolution | |-------|-------|------------| | "No seed keyword provided" | Missing argument | Prompt user for seed keyword or URL | | "Insufficient keyword variants" | Expansion yielded < 15 keywords | Run second expansion pass with PAA questions | | "SERP data unavailable" | WebSearch
Source provenance
Decision snapshot
16,033 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for seo-cluster, ready for a manual X post.
seo-cluster: SERP-based semantic topic clustering for content architecture planning. Groups keywords by ac... 16.0K stars https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=x
Listing + install path for seo-cluster: https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=x Install: npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to AgriciDaniel but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster/audit)
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)AgriciDaniel
@agricidaniel
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Review then install
Frontend Design
Guidance for distinctive, intentional UI design, typography, visual direction, and non-template-like product interfaces.
174.6K StarsTaste Skill: Anti-Slop Frontend
Design and implementation guidance for distinctive landing pages, portfolios, product demos, and purposeful redesigns.
84.6K StarsVox Director
Turn one topic into a narrated Vox-style paper-collage explainer or ad video, from script through captions.
1.8K StarsCanvas Design
Create original visual art, posters, PNG assets, and PDF documents through a clear design philosophy.
174.6K StarsReview then install
Install targets
Codex install prompt
Install the "seo-cluster" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-cluster. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: SERP-based semantic topic clustering for content architecture planning. Groups keywords by actual Google SERP overlap (not text similarity), designs hub-and-spoke content clusters with internal link matrices, and generates interactive visualizations. Optionally executes content creation if claude-blog is installed. Use when user says "topic cluster", "content cluster", "semantic clustering", "pillar page", "hub and spoke", "content architecture", "keyword grouping", or "cluster plan". After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"agricidaniel-seo-cluster","task":"Install seo-cluster","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
Research agents
I need my agent to research a topic, compare sources, and produce a concise report.
Agent fit
Claude Code + Browser agents + CLI
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Maintenance
fresh
10d since push
Risk
Needs review
Permission surface may require sandboxing
GitHub quality
16K
89/100 Quality · 84/100 Trust
Coverage tags
Review notes
Permission surface may require sandboxing · Financial research output is not financial advice; require human review before any live investment decision
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
ExcellentHigh-confidence pick with strong adoption and healthy maintenance signals.
Trust
Review then installGood shortlist signal, but the agent should review audit notes, install policy, and outcome evidence before running it.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Use as the primary candidate after human or sandbox review.
Stars
16K GitHub stars
Repo activity
16K stars, 2.3K forks
Maintenance
10d since push
License
MIT
Install
npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add AgriciDaniel/claude-seo --skill seo-clusterDo not use when
Alternative
174.6K Stars
npx skills add anthropics/skills --skill frontend-design
Alternative
84.6K Stars
npx skills add Leonxlnx/taste-skill --skill design-taste-frontend
Alternative
1.8K Stars
npx skills add Alisa0808/vox-director --skill vox-director
Alternative
174.6K Stars
npx skills add anthropics/skills --skill canvas-design
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill may drive a browser or interact with web pages.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20seo-cluster%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20seo-cluster%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/agricidaniel-seo-cluster/install
Agent should check
Copy prompt
Task: Use seo-cluster in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20seo-cluster%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/agricidaniel-seo-cluster/install
Install command: npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/agricidaniel-seo-cluster/install
LLM text format
/api/skills/agricidaniel-seo-cluster/install?format=text
Find alternatives
/api/skills/search?q=seo-cluster&limit=3
Agent prompt
Use seo-cluster for this task. Review https://www.openagentskill.com/api/skills/agricidaniel-seo-cluster/install, then install with: npx skills add AgriciDaniel/claude-seo --skill seo-clusterRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/agricidaniel-seo-cluster
LLM text
/api/registry/manifest/agricidaniel-seo-cluster?format=text
Install alias
/api/registry/install/agricidaniel-seo-cluster
Recommend
/api/registry/recommend?task=Use%20seo-cluster%20in%20an%20agent%20workflow&limit=3
Agent fit
Research agents
Use-case tags
Platforms
Claude Code, Browser agents
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Research agents
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Good shortlist signal, but the agent should review audit notes, install policy, and outcome evidence before running it.
GitHub adoption
PASS16K GitHub stars
Stars/forks activity
PASS16K stars, 2.3K forks; issue activity unavailable in current metadata
Recent maintenance
PASS10d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Use as the primary candidate after human or sandbox review.
Quality profile
High-confidence pick with strong adoption and healthy maintenance signals.
Workflow fit
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Parse messy files
I need my agent to read PDFs, extract tables, and turn documents into structured data.
Search private knowledge
I need my agent to build a RAG workflow over documents and retrieve reliable context.
Workflow fit
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Scrape, clean, and reuse web data
A practical workflow for agents that crawl public pages, extract clean content, normalize data, and hand it to downstream research or RAG workflows.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Alternative shortlist
Similar skills that may fit this task.
Guidance for distinctive, intentional UI design, typography, visual direction, and non-template-like product interfaces.
Design and implementation guidance for distinctive landing pages, portfolios, product demos, and purposeful redesigns.
Turn one topic into a narrated Vox-style paper-collage explainer or ad video, from script through captions.
Create original visual art, posters, PNG assets, and PDF documents through a clear design philosophy.
--- name: seo-cluster description: > SERP-based semantic topic clustering for content architecture planning. Groups keywords by actual Google SERP overlap (not text similarity), designs hub-and-spoke content clusters with internal link matrices, and generates interactive visualizations. Optionally executes content creation if claude-blog is installed. Use when user says "topic cluster", "content cluster", "semantic clustering", "pillar page", "hub and spoke", "content architecture", "keyword grouping", or "cluster plan". user-invocable: true argument-hint: "<seed-keyword or url>" license: MIT metadata: author: AgriciDaniel original_author: "Lutfiya Miller (Pro Hub Challenge Winner)" version: "2.2.5" category: seo ---
# Semantic Topic Clustering
SERP-overlap-driven keyword clustering for content architecture. Groups keywords by how Google actually ranks them (shared top-10 results), not by text similarity. Designs hub-and-spoke content clusters with internal link matrices and generates interactive cluster map visualizations.
**Scripts:** Located at the plugin root `scripts/` directory.
---
## Quick Reference
| Command | What it does | |---------|-------------| | `/seo cluster plan <seed-keyword>` | Full planning workflow: expand, cluster, architect, visualize | | `/seo cluster plan --from strategy` | Import from existing `/seo plan` output | | `/seo cluster execute` | Execute plan: create content via claude-blog or output briefs | | `/seo cluster map` | Regenerate the interactive cluster visualization |
---
## Planning Workflow
### Step 1: Seed Keyword Expansion
Expand the seed keyword into 30-50 variants using WebSearch:
1. **Related searches**: Search the seed, extract "related searches" and "people also search for" 2. **People Also Ask (PAA)**: Extract all PAA questions from SERP results 3. **Long-tail modifiers**: Append common modifiers: "best", "how to", "vs", "for beginners", "tools", "examples", "guide", "template", "mistakes", "checklist" 4. **Question mining**: Generate who/what/when/where/why/how variants 5. **Intent modifiers**: Add commercial modifiers: "pricing", "review", "alternative", "comparison", "free", "top"
**Deduplication:** Normalize variants (lowercase, strip articles), remove exact duplicates. Target: 30-50 unique keyword variants. If under 30, run a second expansion pass with the top PAA questions as seeds.
### Step 2: SERP Overlap Clustering
This is the core differentiator. Load `references/serp-overlap-methodology.md` for the full algorithm.
**Process:** 1. Group keywords by initial intent guess (reduces pairwise comparisons) 2. For each candidate pair within a group, WebSearch both keywords 3. Count shared URLs in the top 10 organic results (ignore ads, featured snippets, PAA) 4. Apply thresholds:
| Shared Results | Relationship | Action | |---------------|-------------|--------| | 7-10 | Same post | Merge into single target page | | 4-6 | Same cluster | Group under same spoke cluster | | 2-3 | Interlink | Place in adjacent clusters, add cross-links | | 0-1 | Separate | Assign to different clusters or exclude |
**Optimization:** With 40 keywords, full pairwise = 780 comparisons. Instead: - Pre-group by intent (4 groups of ~10 = 4 x 45 = 180 comparisons) - Only cross-check group boundary keywords - Skip pairs where both are long-tail variants of the same head term (assume same cluster)
**DataForSEO integration:** If DataForSEO MCP is available, use `serp_organic_live_advanced` instead of WebSearch for SERP data. Run `claude-seo run dataforseo_costs.py check serp_organic_live_advanced --count N` before each batch. If `"status": "needs_approval"`, show cost estimate and ask user. If `"status": "blocked"`, fall back to WebSearch.
### Step 3: Intent Classification
Classify each keyword into one of four intent categories:
| Intent | Signals | Include in Clusters? | |--------|---------|---------------------| | Informational | how, what, why, guide, tutorial, learn | Yes | | Commercial | best, top, review, comparison, vs, alternative | Yes | | Transactional | buy, price, discount, coupon, order, sign up | Yes | | Navigational | brand names, specific product names, login | No (exclude) |
Remove navigational keywords from clustering. Flag borderline cases for manual review. Keywords can have mixed intent (e.g., "best CRM software" is both commercial and informational) -- classify by dominant intent.
### Step 4: Hub-and-Spoke Architecture
Load `references/hub-spoke-architecture.md` for full specifications.
**Design the cluster structure:**
1. **Select the pillar keyword**: Highest volume, broadest intent, most SERP overlap with other keywords 2. **Group spokes into clusters**: Each cluster is a subtopic area (2-5 clusters per pillar) 3. **Assign posts to clusters**: Each cluster gets 2-4 spoke posts 4. **Select templates per post**: Based on intent classification:
| Intent Pattern | Template Options | |---------------|-----------------| | Informational (broad) | ultimate-guide | | Informational (how) | how-to | | Informational (list) | listicle | | Informational (concept) | explainer | | Commercial (compare) | comparison | | Commercial (evaluate) | review | | Commercial (rank) | best-of | | Transactional | landing-page |
5. **Set word count targets:** - Pillar page: 2500-4000 words - Spoke posts: 1200-1800 words
6. **Cannibalization check**: No two posts share the same primary keyword. If SERP overlap is 7+, merge those keywords into a single post targeting both.
### Step 5: Internal Link Matrix
Design the bidirectional linking structure:
| Link Type | Direction | Requirement | |-----------|-----------|-------------| | Spoke to pillar | spoke -> pillar | Mandatory (every spoke) | | Pillar to spoke | pillar -> spoke | Mandatory (every spoke) | | Spoke to spoke (within cluster) | spoke <-> spoke | 2-3 links per post | | Cross-cluster | spoke -> spoke (other cluster) | 0-1 links per post |
**Rules:** - Every post must have minimum 3 incoming internal links - No orphan pages (every post reachable from pillar in 2 clicks) - Anchor text must use target keyword or close variant (no "click here") - Link placement: within body content, not just navigation/sidebar
Generate the link matrix as a JSON adjacency list: ```json { "links": [ { "from": "pillar", "to": "cluster-0-post-0", "type": "mandatory", "anchor": "keyword" }, { "from": "cluster-0-post-0", "to": "pillar", "type": "mandatory", "anchor": "keyword" } ] } ```
### Step 6: Interactive Cluster Map
Generate `cluster-map.html` using the template at `templates/cluster-map.html`.
1. Read the template file 2. Build the `CLUSTER_DATA` JSON object from the cluster plan: ```javascript { pillar: { title, keyword, volume, template, wordCount, url }, clusters: [{ name, color, posts: [{ title, keyword, volume, template, wordCount, url, status }] }], links: [{ from, to, type }], meta: { totalPosts, totalClusters, totalLinks, estimatedWords } } ``` 3. Replace the `CLUSTER_DATA` placeholder in the template with the actual JSON 4. Write the completed HTML file to the output directory 5. Inform user: "Open `cluster-map.html` in a browser to explore the interactive cluster map."
---
## Strategy Import
When invoked with `--from strategy`:
1. Look for the most recent `/seo plan` output in the current directory (search for files matching `*SEO*Plan*`, `*strategy*`, `*content-strategy*`) 2. Parse markdown tables for: keywords, page types, content pillars, URL structures 3. Validate extracted data: check for duplicates, missing keywords, incomplete entries 4. Enrich with SERP data: run SERP overlap analysis on extracted keywords 5. Build cluster plan using the imported keywords as the starting set (skip Step 1)
If no strategy file is found, prompt the user: "No existing SEO plan found in the current directory. Run `/seo plan` first, or provide a seed keyword for fresh clustering."
---
## Execution Workflow
When `/seo cluster execute` is invoked:
### Check for claude-blog
``` Test: Does ~/.claude/skills/blog/SKILL.md exist? ```
**If claude-blog IS installed:**
1. Load `references/execution-workflow.md` for the full algorithm 2. Read `cluster-plan.json` from the current directory 3. Check for resume state: scan output directory for already-written posts 4. Execute in priority order: pillar first, then spokes by volume (highest first) 5. For each post, invoke the `blog-write` skill with cluster context: - Cluster role (pillar or spoke) - Position in cluster (cluster index, post index) - Target keyword and secondary keywords - Template type and word count target - Internal links to include (with anchors) - Links to receive from future posts (placeholder markers) 6. After each post is written, scan previous posts for backward link placeholders and inject the new post's URL 7. After all posts are written, generate the cluster scorecard
**If claude-blog is NOT installed:**
1. Generate detailed content briefs for each post in the cluster plan 2. Each brief includes: - Title and meta description - Primary keyword and secondary keywords - Template type and suggested structure (H2/H3 outline) - Word count target - Internal links to include (with anchor text) - Key points to cover - Competing pages to differentiate from 3. Write briefs to `cluster-briefs/` directory as individual markdown files 4. Inform user: "Install [claude-blog](https://github.com/AgriciDaniel/claude-blog) to auto-create content. Briefs saved to `cluster-briefs/`."
---
## Cluster Scorecard
Post-execution quality report. Run automatically after `/seo cluster execute` or on demand via analysis of the output directory.
| Metric | Target | How Measured | |--------|--------|-------------| | Coverage | 100% | Posts written / posts planned | | Link Density | 3+ per post | Count internal links per post | | Orphan Pages | 0 | Posts with < 1 incoming link | | Cannibalization | 0 conflicts | Check for duplicate primary keywords | | Image Count | 1+ per post | Posts with at least one image | | Pillar Links | 100% | All spokes link to pillar and vice versa | | Cross-Links | 80%+ | Recommended spoke-to-spoke links implemented | | Content Gaps | 0 | Planned posts that were skipped or incomplete |
---
## Map Regeneration
When `/seo cluster map` is invoked:
1. Read `cluster-plan.json` from the current directory 2. Scan output directory and update post statuses (planned vs written) 3. Regenerate `cluster-map.html` with updated statuses 4. Report: posts written vs planned, link completion percentage
---
## Output Files
All outputs are written to the current working directory:
| File | Description | |------|-------------| | `cluster-plan.json` | Machine-readable cluster plan (full data) | | `cluster-plan.md` | Human-readable cluster plan summary | | `cluster-map.html` | Interactive SVG visualization | | `cluster-briefs/` | Content briefs (if no claude-blog) | | `cluster-scorecard.md` | Post-execution quality report |
---
## Cross-Skill Integration
| Skill | Relationship | |-------|-------------| | `seo-plan` | Import source: strategy import reads seo-plan output | | `seo-content` | Quality check: E-E-A-T validation of generated content | | `seo-schema` | Schema markup: Article, BreadcrumbList, ItemList for cluster pages | | `seo-dataforseo` | Data source: SERP data when DataForSEO MCP is available | | `seo-google` | Reporting: generate PDF report of cluster plan and scorecard |
After cluster planning or execution completes, offer: "Generate a PDF report? Use `/seo google report`"
---
## Error Handling
| Error | Cause | Resolution | |-------|-------|------------| | "No seed keyword provided" | Missing argument | Prompt user for seed keyword or URL | | "Insufficient keyword variants" | Expansion yielded < 15 keywords | Run second expansion pass with PAA questions | | "SERP data unavailable" | WebSearch
Source provenance
Decision snapshot
16,033 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for seo-cluster, ready for a manual X post.
seo-cluster: SERP-based semantic topic clustering for content architecture planning. Groups keywords by ac... 16.0K stars https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=x
Listing + install path for seo-cluster: https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=x Install: npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to AgriciDaniel but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster/audit)
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)AgriciDaniel
@agricidaniel
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Review then install
Frontend Design
Guidance for distinctive, intentional UI design, typography, visual direction, and non-template-like product interfaces.
174.6K StarsTaste Skill: Anti-Slop Frontend
Design and implementation guidance for distinctive landing pages, portfolios, product demos, and purposeful redesigns.
84.6K StarsVox Director
Turn one topic into a narrated Vox-style paper-collage explainer or ad video, from script through captions.
1.8K StarsCanvas Design
Create original visual art, posters, PNG assets, and PDF documents through a clear design philosophy.
174.6K StarsReview then install
Install targets
Codex install prompt
Install the "seo-cluster" agent skill from https://github.com/AgriciDaniel/claude-seo/tree/main/skills/seo-cluster. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: SERP-based semantic topic clustering for content architecture planning. Groups keywords by actual Google SERP overlap (not text similarity), designs hub-and-spoke content clusters with internal link matrices, and generates interactive visualizations. Optionally executes content creation if claude-blog is installed. Use when user says "topic cluster", "content cluster", "semantic clustering", "pillar page", "hub and spoke", "content architecture", "keyword grouping", or "cluster plan". After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"agricidaniel-seo-cluster","task":"Install seo-cluster","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.Supply asset profile
Deep research, source comparison, literature review, RAG, knowledge search, and reports.
Scenario
Research agents
I need my agent to research a topic, compare sources, and produce a concise report.
Agent fit
Claude Code + Browser agents + CLI
Codex, Claude Code, Cursor, CLI, or custom agents.
Install
Ready
npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Maintenance
fresh
10d since push
Risk
Needs review
Permission surface may require sandboxing
GitHub quality
16K
89/100 Quality · 84/100 Trust
Coverage tags
Review notes
Permission surface may require sandboxing · Financial research output is not financial advice; require human review before any live investment decision
Agent adoption scorecard
These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.
Quality
ExcellentHigh-confidence pick with strong adoption and healthy maintenance signals.
Trust
Review then installGood shortlist signal, but the agent should review audit notes, install policy, and outcome evidence before running it.
Audit
Needs reviewA machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
OpenAgentSkill Trust Score v5
Use as the primary candidate after human or sandbox review.
Stars
16K GitHub stars
Repo activity
16K stars, 2.3K forks
Maintenance
10d since push
License
MIT
Install
npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Install safety
Agent-readable metadata
Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.
Suited tasks
Suited agents
Install decision
Trust and risk
Outcome loop
Install command
npx skills add AgriciDaniel/claude-seo --skill seo-clusterDo not use when
Alternative
174.6K Stars
npx skills add anthropics/skills --skill frontend-design
Alternative
84.6K Stars
npx skills add Leonxlnx/taste-skill --skill design-taste-frontend
Alternative
1.8K Stars
npx skills add Alisa0808/vox-director --skill vox-director
Alternative
174.6K Stars
npx skills add anthropics/skills --skill canvas-design
Agent safety v2
Sparse or mixed signals. Useful for discovery, but not for autonomous installation.
Test manually in an isolated workspace and compare against safer alternatives.
high
Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.
medium
Skill may drive a browser or interact with web pages.
medium
Skill likely fetches remote pages, APIs, repositories, or external services.
medium
Skill may read or write project files, documents, generated artifacts, or local workspace state.
Agent resolve plan
The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.
Open JSON
/api/agent/resolve?task=Use%20seo-cluster%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Resolve text
/api/agent/resolve?task=Use%20seo-cluster%20for%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text
Install handoff
/api/skills/agricidaniel-seo-cluster/install
Agent should check
Copy prompt
Task: Use seo-cluster in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20seo-cluster%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/agricidaniel-seo-cluster/install
Install command: npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.Agent handoff
Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.
Install handoff
/api/skills/agricidaniel-seo-cluster/install
LLM text format
/api/skills/agricidaniel-seo-cluster/install?format=text
Find alternatives
/api/skills/search?q=seo-cluster&limit=3
Agent prompt
Use seo-cluster for this task. Review https://www.openagentskill.com/api/skills/agricidaniel-seo-cluster/install, then install with: npx skills add AgriciDaniel/claude-seo --skill seo-clusterRegistry metadata
This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.
Manifest
/api/registry/manifest/agricidaniel-seo-cluster
LLM text
/api/registry/manifest/agricidaniel-seo-cluster?format=text
Install alias
/api/registry/install/agricidaniel-seo-cluster
Recommend
/api/registry/recommend?task=Use%20seo-cluster%20in%20an%20agent%20workflow&limit=3
Agent fit
Research agents
Use-case tags
Platforms
Claude Code, Browser agents
Audit report
A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.
Agent decision cockpit
Use this as a leading candidate, then validate the README and install path in your own agent stack.
Role in stack
Primary pick
Primary fit
Research agents
Trust label
Production-ready
Install path
Command ready
Use when
Evidence
review first
Implementation path
Trust profile
Good shortlist signal, but the agent should review audit notes, install policy, and outcome evidence before running it.
GitHub adoption
PASS16K GitHub stars
Stars/forks activity
PASS16K stars, 2.3K forks; issue activity unavailable in current metadata
Recent maintenance
PASS10d since push
License clarity
PASSMIT
Good signals
Review before install
Recommended action
Use as the primary candidate after human or sandbox review.
Quality profile
High-confidence pick with strong adoption and healthy maintenance signals.
Workflow fit
Investigate faster
I need my agent to research a topic, compare sources, and produce a concise report.
Parse messy files
I need my agent to read PDFs, extract tables, and turn documents into structured data.
Search private knowledge
I need my agent to build a RAG workflow over documents and retrieve reliable context.
Workflow fit
Find, compare, and synthesize
A workflow for agents that gather sources, compare claims, summarize long material, and draft useful research briefs.
Scrape, clean, and reuse web data
A practical workflow for agents that crawl public pages, extract clean content, normalize data, and hand it to downstream research or RAG workflows.
Turn skills into distribution
A workflow for turning newly indexed skills into SEO briefs, social drafts, comparison pages, and reusable publishing workflows.
Alternative shortlist
Similar skills that may fit this task.
Guidance for distinctive, intentional UI design, typography, visual direction, and non-template-like product interfaces.
Design and implementation guidance for distinctive landing pages, portfolios, product demos, and purposeful redesigns.
Turn one topic into a narrated Vox-style paper-collage explainer or ad video, from script through captions.
Create original visual art, posters, PNG assets, and PDF documents through a clear design philosophy.
--- name: seo-cluster description: > SERP-based semantic topic clustering for content architecture planning. Groups keywords by actual Google SERP overlap (not text similarity), designs hub-and-spoke content clusters with internal link matrices, and generates interactive visualizations. Optionally executes content creation if claude-blog is installed. Use when user says "topic cluster", "content cluster", "semantic clustering", "pillar page", "hub and spoke", "content architecture", "keyword grouping", or "cluster plan". user-invocable: true argument-hint: "<seed-keyword or url>" license: MIT metadata: author: AgriciDaniel original_author: "Lutfiya Miller (Pro Hub Challenge Winner)" version: "2.2.5" category: seo ---
# Semantic Topic Clustering
SERP-overlap-driven keyword clustering for content architecture. Groups keywords by how Google actually ranks them (shared top-10 results), not by text similarity. Designs hub-and-spoke content clusters with internal link matrices and generates interactive cluster map visualizations.
**Scripts:** Located at the plugin root `scripts/` directory.
---
## Quick Reference
| Command | What it does | |---------|-------------| | `/seo cluster plan <seed-keyword>` | Full planning workflow: expand, cluster, architect, visualize | | `/seo cluster plan --from strategy` | Import from existing `/seo plan` output | | `/seo cluster execute` | Execute plan: create content via claude-blog or output briefs | | `/seo cluster map` | Regenerate the interactive cluster visualization |
---
## Planning Workflow
### Step 1: Seed Keyword Expansion
Expand the seed keyword into 30-50 variants using WebSearch:
1. **Related searches**: Search the seed, extract "related searches" and "people also search for" 2. **People Also Ask (PAA)**: Extract all PAA questions from SERP results 3. **Long-tail modifiers**: Append common modifiers: "best", "how to", "vs", "for beginners", "tools", "examples", "guide", "template", "mistakes", "checklist" 4. **Question mining**: Generate who/what/when/where/why/how variants 5. **Intent modifiers**: Add commercial modifiers: "pricing", "review", "alternative", "comparison", "free", "top"
**Deduplication:** Normalize variants (lowercase, strip articles), remove exact duplicates. Target: 30-50 unique keyword variants. If under 30, run a second expansion pass with the top PAA questions as seeds.
### Step 2: SERP Overlap Clustering
This is the core differentiator. Load `references/serp-overlap-methodology.md` for the full algorithm.
**Process:** 1. Group keywords by initial intent guess (reduces pairwise comparisons) 2. For each candidate pair within a group, WebSearch both keywords 3. Count shared URLs in the top 10 organic results (ignore ads, featured snippets, PAA) 4. Apply thresholds:
| Shared Results | Relationship | Action | |---------------|-------------|--------| | 7-10 | Same post | Merge into single target page | | 4-6 | Same cluster | Group under same spoke cluster | | 2-3 | Interlink | Place in adjacent clusters, add cross-links | | 0-1 | Separate | Assign to different clusters or exclude |
**Optimization:** With 40 keywords, full pairwise = 780 comparisons. Instead: - Pre-group by intent (4 groups of ~10 = 4 x 45 = 180 comparisons) - Only cross-check group boundary keywords - Skip pairs where both are long-tail variants of the same head term (assume same cluster)
**DataForSEO integration:** If DataForSEO MCP is available, use `serp_organic_live_advanced` instead of WebSearch for SERP data. Run `claude-seo run dataforseo_costs.py check serp_organic_live_advanced --count N` before each batch. If `"status": "needs_approval"`, show cost estimate and ask user. If `"status": "blocked"`, fall back to WebSearch.
### Step 3: Intent Classification
Classify each keyword into one of four intent categories:
| Intent | Signals | Include in Clusters? | |--------|---------|---------------------| | Informational | how, what, why, guide, tutorial, learn | Yes | | Commercial | best, top, review, comparison, vs, alternative | Yes | | Transactional | buy, price, discount, coupon, order, sign up | Yes | | Navigational | brand names, specific product names, login | No (exclude) |
Remove navigational keywords from clustering. Flag borderline cases for manual review. Keywords can have mixed intent (e.g., "best CRM software" is both commercial and informational) -- classify by dominant intent.
### Step 4: Hub-and-Spoke Architecture
Load `references/hub-spoke-architecture.md` for full specifications.
**Design the cluster structure:**
1. **Select the pillar keyword**: Highest volume, broadest intent, most SERP overlap with other keywords 2. **Group spokes into clusters**: Each cluster is a subtopic area (2-5 clusters per pillar) 3. **Assign posts to clusters**: Each cluster gets 2-4 spoke posts 4. **Select templates per post**: Based on intent classification:
| Intent Pattern | Template Options | |---------------|-----------------| | Informational (broad) | ultimate-guide | | Informational (how) | how-to | | Informational (list) | listicle | | Informational (concept) | explainer | | Commercial (compare) | comparison | | Commercial (evaluate) | review | | Commercial (rank) | best-of | | Transactional | landing-page |
5. **Set word count targets:** - Pillar page: 2500-4000 words - Spoke posts: 1200-1800 words
6. **Cannibalization check**: No two posts share the same primary keyword. If SERP overlap is 7+, merge those keywords into a single post targeting both.
### Step 5: Internal Link Matrix
Design the bidirectional linking structure:
| Link Type | Direction | Requirement | |-----------|-----------|-------------| | Spoke to pillar | spoke -> pillar | Mandatory (every spoke) | | Pillar to spoke | pillar -> spoke | Mandatory (every spoke) | | Spoke to spoke (within cluster) | spoke <-> spoke | 2-3 links per post | | Cross-cluster | spoke -> spoke (other cluster) | 0-1 links per post |
**Rules:** - Every post must have minimum 3 incoming internal links - No orphan pages (every post reachable from pillar in 2 clicks) - Anchor text must use target keyword or close variant (no "click here") - Link placement: within body content, not just navigation/sidebar
Generate the link matrix as a JSON adjacency list: ```json { "links": [ { "from": "pillar", "to": "cluster-0-post-0", "type": "mandatory", "anchor": "keyword" }, { "from": "cluster-0-post-0", "to": "pillar", "type": "mandatory", "anchor": "keyword" } ] } ```
### Step 6: Interactive Cluster Map
Generate `cluster-map.html` using the template at `templates/cluster-map.html`.
1. Read the template file 2. Build the `CLUSTER_DATA` JSON object from the cluster plan: ```javascript { pillar: { title, keyword, volume, template, wordCount, url }, clusters: [{ name, color, posts: [{ title, keyword, volume, template, wordCount, url, status }] }], links: [{ from, to, type }], meta: { totalPosts, totalClusters, totalLinks, estimatedWords } } ``` 3. Replace the `CLUSTER_DATA` placeholder in the template with the actual JSON 4. Write the completed HTML file to the output directory 5. Inform user: "Open `cluster-map.html` in a browser to explore the interactive cluster map."
---
## Strategy Import
When invoked with `--from strategy`:
1. Look for the most recent `/seo plan` output in the current directory (search for files matching `*SEO*Plan*`, `*strategy*`, `*content-strategy*`) 2. Parse markdown tables for: keywords, page types, content pillars, URL structures 3. Validate extracted data: check for duplicates, missing keywords, incomplete entries 4. Enrich with SERP data: run SERP overlap analysis on extracted keywords 5. Build cluster plan using the imported keywords as the starting set (skip Step 1)
If no strategy file is found, prompt the user: "No existing SEO plan found in the current directory. Run `/seo plan` first, or provide a seed keyword for fresh clustering."
---
## Execution Workflow
When `/seo cluster execute` is invoked:
### Check for claude-blog
``` Test: Does ~/.claude/skills/blog/SKILL.md exist? ```
**If claude-blog IS installed:**
1. Load `references/execution-workflow.md` for the full algorithm 2. Read `cluster-plan.json` from the current directory 3. Check for resume state: scan output directory for already-written posts 4. Execute in priority order: pillar first, then spokes by volume (highest first) 5. For each post, invoke the `blog-write` skill with cluster context: - Cluster role (pillar or spoke) - Position in cluster (cluster index, post index) - Target keyword and secondary keywords - Template type and word count target - Internal links to include (with anchors) - Links to receive from future posts (placeholder markers) 6. After each post is written, scan previous posts for backward link placeholders and inject the new post's URL 7. After all posts are written, generate the cluster scorecard
**If claude-blog is NOT installed:**
1. Generate detailed content briefs for each post in the cluster plan 2. Each brief includes: - Title and meta description - Primary keyword and secondary keywords - Template type and suggested structure (H2/H3 outline) - Word count target - Internal links to include (with anchor text) - Key points to cover - Competing pages to differentiate from 3. Write briefs to `cluster-briefs/` directory as individual markdown files 4. Inform user: "Install [claude-blog](https://github.com/AgriciDaniel/claude-blog) to auto-create content. Briefs saved to `cluster-briefs/`."
---
## Cluster Scorecard
Post-execution quality report. Run automatically after `/seo cluster execute` or on demand via analysis of the output directory.
| Metric | Target | How Measured | |--------|--------|-------------| | Coverage | 100% | Posts written / posts planned | | Link Density | 3+ per post | Count internal links per post | | Orphan Pages | 0 | Posts with < 1 incoming link | | Cannibalization | 0 conflicts | Check for duplicate primary keywords | | Image Count | 1+ per post | Posts with at least one image | | Pillar Links | 100% | All spokes link to pillar and vice versa | | Cross-Links | 80%+ | Recommended spoke-to-spoke links implemented | | Content Gaps | 0 | Planned posts that were skipped or incomplete |
---
## Map Regeneration
When `/seo cluster map` is invoked:
1. Read `cluster-plan.json` from the current directory 2. Scan output directory and update post statuses (planned vs written) 3. Regenerate `cluster-map.html` with updated statuses 4. Report: posts written vs planned, link completion percentage
---
## Output Files
All outputs are written to the current working directory:
| File | Description | |------|-------------| | `cluster-plan.json` | Machine-readable cluster plan (full data) | | `cluster-plan.md` | Human-readable cluster plan summary | | `cluster-map.html` | Interactive SVG visualization | | `cluster-briefs/` | Content briefs (if no claude-blog) | | `cluster-scorecard.md` | Post-execution quality report |
---
## Cross-Skill Integration
| Skill | Relationship | |-------|-------------| | `seo-plan` | Import source: strategy import reads seo-plan output | | `seo-content` | Quality check: E-E-A-T validation of generated content | | `seo-schema` | Schema markup: Article, BreadcrumbList, ItemList for cluster pages | | `seo-dataforseo` | Data source: SERP data when DataForSEO MCP is available | | `seo-google` | Reporting: generate PDF report of cluster plan and scorecard |
After cluster planning or execution completes, offer: "Generate a PDF report? Use `/seo google report`"
---
## Error Handling
| Error | Cause | Resolution | |-------|-------|------------| | "No seed keyword provided" | Missing argument | Prompt user for seed keyword or URL | | "Insufficient keyword variants" | Expansion yielded < 15 keywords | Run second expansion pass with PAA questions | | "SERP data unavailable" | WebSearch
Source provenance
Decision snapshot
16,033 GitHub stars
Audit
Install and adoption review
Agent-proven evidence
Outcome reports after resolve, review, install, and one narrow run.
No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.
Install
Free and open source. Review the report before installing into production agents.
Growth loop
Scenario-led draft for seo-cluster, ready for a manual X post.
seo-cluster: SERP-based semantic topic clustering for content architecture planning. Groups keywords by ac... 16.0K stars https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=x
Listing + install path for seo-cluster: https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=x Install: npx skills add AgriciDaniel/claude-seo --skill seo-cluster
Listing source
This listing was indexed from public sources and is not marked official until a maintainer claim is approved.
Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.
Claim this skillOwner claim
This Registry indexed listing is attributed to AgriciDaniel but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.
Creator backlink kit
Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster/audit)
[](https://www.openagentskill.com/skills/agricidaniel-seo-cluster?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)AgriciDaniel
@agricidaniel
Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.
Review then install
Frontend Design
Guidance for distinctive, intentional UI design, typography, visual direction, and non-template-like product interfaces.
174.6K StarsTaste Skill: Anti-Slop Frontend
Design and implementation guidance for distinctive landing pages, portfolios, product demos, and purposeful redesigns.
84.6K StarsVox Director
Turn one topic into a narrated Vox-style paper-collage explainer or ad video, from script through captions.
1.8K StarsCanvas Design
Create original visual art, posters, PNG assets, and PDF documents through a clear design philosophy.
174.6K StarsPermission surface
shell or command execution, filesystem or document access
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
shell or command execution, filesystem or document access
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
shell or command execution, filesystem or document access
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness
Permission surface
shell or command execution, filesystem or document access
Agent outcomes
No agent outcome data yet
Docs
Strong README/SKILL.md context
Risk summary
Install readiness