Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/indranilbanerjee/digital-marketing-pronpx agentmods add commands/indranilbanerjee/digital-marketing-pro/keyword-clusterWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/indranilbanerjee/digital-marketing-pro/keyword-cluster)<a href="https://agentmods.dev/commands/indranilbanerjee/digital-marketing-pro/keyword-cluster"><img src="https://agentmods.dev/badge/commands/indranilbanerjee/digital-marketing-pro/keyword-cluster/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/indranilbanerjee/digital-marketing-pro/keyword-cluster"><img src="https://agentmods.dev/badge/commands/indranilbanerjee/digital-marketing-pro/keyword-cluster.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00034 | $0.00791 |
| Opus 5 | $0.00017 | $0.00396 |
| Sonnet 5 | $0.00007 | $0.00158 |
| Haiku 4.5 | $0.00003 | $0.00079 |
Grade A, and why
keyword-cluster scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 12d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 59 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Keyword Cluster
If you see unfamiliar placeholders or need to check which keyword data sources are connected, see CONNECTORS.md.
Takes a set of seed keywords and produces a publication-ready cluster plan: pillar pages with their spokes, intent-grouped, prioritised by an opinionated scoring formula, with an internal-link map and a four-gate quality scorecard. Routes to skills/keyword-cluster/SKILL.md.
Trigger
User runs /digital-marketing-pro:keyword-cluster or asks for:
- "Cluster these keywords into a content plan"
- "Build a pillar/spokes architecture for this topic"
- "Design a topic hub for X"
- "Dedupe my cannibalising pages"
- "Plan a programmatic SEO rollout"
Inputs
- Seeds — either a list of 3–20 seed keywords inline, or a path to a CSV with at least a
keywordcolumn (plus optionalvolume,kd,intent) - Target country / language (optional — uses brand profile default)
- SERP data (strongly recommended) — JSON map of keyword → top-N result URLs from connected rank-tracker MCP. Without this, falls back to lower-confidence lexical clustering.
- Filter thresholds (optional) — minimum search volume, maximum keyword difficulty
Process
- Load brand context + auto-apply industry / compliance rules
- Optionally expand seeds via brand's keyword-research MCP (
/digital-marketing-pro:keyword-research) if input is < 20 keywords - Filter seeds by min-volume / max-KD / banned-word lists
- Fetch top-10 SERPs per keyword via connected rank-tracker (with budget guard at 500-credit threshold)
- Run
scripts/keyword_cluster.pywith SERP mode (or lexical fallback) - Validate the four quality gates (cannibalisation / orphan / coverage / anchor_diversity) — surface
needs_reviewdiagnostics if any fail - Draft pillar-page briefs for clusters with
priority_score >= 0.5 - Build internal-link map
- Sort by priority for build-order recommendation
- Write
PLAN.mdto${CLAUDE_PLUGIN_DATA}/{brand}/seo/keyword-cluster/{date}/
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 12d ago First seen · 59 lines · 34 tokens per session scan A 18f6d7003fa0
keyword-cluster is a command published in the GitHub repository indranilbanerjee/digital-marketing-pro (806 stars, last pushed 4d ago), licensed MIT. It adds 34 tokens to every session and 791 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other commands, from other repositories
brand-setup
Configure brand voice, terminology, compliance guardrails, and style guide for content production.
output-folder
Print the absolute path to the user-visible ContentForge output folder and open it in the OS file manager.
create-content
Run the full 10-phase content production pipeline — research, draft, fact-check, humanize, and publish.
audit-content
Audit your content library for freshness decay, coverage gaps, and optimization opportunities.
content-brief
Generate a research-backed content brief with keyword data, competitor analysis, search intent, and SEO strategy.
publish
Publish finished content to Webflow or WordPress with preview, verification, and HTML export fallback.