
Graphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
Digital Marketing Pro packages a full marketing operating system into an installable plugin. It combines strategy workflows, specialist agents, reusable commands, and platform-specific manifests so your agent can run the same process across many brands with approval and traceable outputs.
Builders who need their agent to handle SEO, content, paid media, CRM, and analytics across many brands.
You can run consistent, auditable marketing work instead of rebuilding the process for each brand.
Runs a fixed 12-part strategy flow with explicit steps so every brand engagement follows the same structure.
Provides agents for SEO, content, analytics, media buying, CRM, brand governance, and related work.
Includes slash commands for brand setup, campaign planning, SEO audits, content engines, status checks, and engagement runs.
Adds hooks, checks, and scripts for human approval, verification, and auditable outputs.
Ships manifests for Claude Code, Codex, Cursor, Gemini, Copilot, Grok, and other agent surfaces.
/plugin marketplace add indranilbanerjee/neels-plugins /plugin install digital-marketing-pro@neels-plugins
/digital-marketing-pro:brand-setup
/digital-marketing-pro:engagement # full 12-Part Strategy Flow (~60 min)
Your agency just signed a 50-brand client. The previous agency left no playbook. Three brands are bleeding budget, two have stale positioning, one is launching in a regulated jurisdiction next month. Where do you start?
Run /digital-marketing-pro:engagement against each brand. Same 12-Part Strategy Flow, same Four Core Documents, same 61-step structure — auditable across the entire portfolio in ~60 minutes per brand on Claude Opus-class models (measured on Opus 4.8; Opus 5 is the current equivalent at the same price). No more inconsistent depth between brands. No more "what did the last agency do?" mysteries. No more compliance gaps in regulated jurisdictions.
Open-source AI marketing plugin — 163 skills, 24 specialist agents, EU AI Act Article 50 ready, Cowork team-persistent. Built for marketing agencies, in-house teams running 50–200 brands, and consultancies. Installs on Claude Code (CLI + IDE), Anthropic Cowork, OpenAI Codex, Cursor 2.5+, GitHub Copilot CLI, Google Antigravity 2.0, Hermes Agent, and OpenClaw + 35+ Agent Skills platforms. Created by Indranil Banerjee · LinkedIn · X.
🆕 Just shipped — v3.31.1 (August 17, 2026): all five open community issues verified and fixed. Every open GitHub issue was reproduced against the current release before touching anything — all five were real, and each fix ships with the guard that makes its regression class impossible: (#10)
claim-verifier.py's percentage pattern ended in%\b, which — because%is a non-word character — only matched when a word character followed the percent sign:98%xwas a claim while "98% of customers" extracted nothing; fixed with%(?!\w)and pinned by a new CLI-level test suite. (#11)keyword_cluster.pytokenized with[a-z0-9]+, splitting every non-ASCII letter ("bürohaftpflicht" → "rohaftpflicht") — and exact-token Jaccard scored related German compounds at 0.00, blinding the cannibalisation gate and the link map in compounding languages; fixed with a Unicode tokenizer plus compound-aware similarity (containment matching with a 6-char floor; English sets score exactly as before, SERP-URL overlap stays pure Jaccard), pinned by tests including an English-parity bound. (#13)engagement-workflow's frontmatterallowed-toolsomittedTaskwhile its body mandates Task dispatch in five Parts — on runtimes that enforce the declaration, the 12-part flow degraded;Taskadded, and a new guard fails any skill whose body references Task dispatch without declaring it. (#12)plugin.yaml(the one manifest outside the description guards) said "158 skills" for five releases; now 163, and the Hermes description joined the derived-count guard. (#9)hooks/hooks.jsoncarried a_readmefield that Cowork's plugin validation rejects — the rationale moved tohooks/README.md, the manifest is schema-clean, and a guard pins it (fixed across all three suite plugins, since every sibling shipped the same defect). Thanks to @jurazerr and @theepicsaxguy for precise, reproducible reports. 163 skills, 402 tests. Previously — v3.31.0 (August 17, 2026): Grok (xAI Build CLI) becomes the ninth native platform. A first-class.grok-plugin/manifest pair —plugin.jsonwith the"skills"pointer Grok's loader reads, plus a single-pluginmarketplace.json— makesgrok plugin install indranilbanerjee/digital-marketing-prowork directly (Grok Build also reads the Claude Code manifests for compatibility; the native pair is what an official xAI marketplace listing points at). Both files are version-locked into the release-consistency suite. The same pass also caught and fixed four stale counts that had escaped the doc-count guard through new phrasings — "158 `SKILL.md` files" hidden by backticks, "158 marketing skills" and "158 DMP skill names" hidden by qualifier words, and an "All 209 tests" claim that was 170 stale — and taught the guard each phrasing, plant-checked, with "N tests" now a derived-truth noun. 163 skills, 381 tests. Previously — v3.30.2 (August 16, 2026): the documentation truth pass. A from-zero audit found the doc-count guard pattern-blind: the comparison table said "Skills count 158" against 163 shipped, five documents quoted "86 Python scripts" against 93, and AGENTS.md — the file every non-Claude runtime auto-loads — pinned v3.17.0, thirteen releases stale. Every number is now re-derived from the filesystem and the guard grew the exact patterns that escaped it (script counts, SKILL.md-file counts, table rows, AGENTS.md currency), each plant-checked against the phrasing it previously missed. 163 skills, 379 tests. Previously — v3.30.1 (August 16, 2026): richer Agent Plugins listing metadata + the directory submission bundle (docs/distribution/). And — v3.30.0: the content-engine run auditor — “status: ready” is now re-derived, never trusted. Newscripts/run-audit.pyre-checks a finished run from its artifacts: every numbered artifact present, the humanize verdict re-measured with a freshai-tell-scan.pyrun instead of read off the scorecard, no scan JSON embedded in the fileauthorship.pymeasures (the corruption class that once flippedmay_claim_authoredand denied an author credit for work they did), the authorship record matching a fresh measurement, recorded voice distances actually inside the 0.15 gate, and publish-ready copy free of production placeholders. A scorecard declaring ready past its own recorded gate is a FAIL with the number quoted; a missing input is reported-N/A, never silent-pass. The content-engine contract now runs the audit beforestatus: readymay be declared, and the verdict lands inrun-audit.jsonbeside the artifacts so the next reader sees the run was verified rather than believed. 163 skills, 376 tests. Previously — Just shipped — v3.29.0 (August 16, 2026): Digital Marketing Pro travels in Agent Plugins 1.0. OpenAI's vendor-neutral plugin standard (announced Aug 6; adopted by ChatGPT, Codex, Cursor, GitHub Copilot, VS Code, Kiro) reads a rootplugin.jsonon a closed schema and defines${PLUGIN_DATA}as the persistent-data name — and a compliant non-Claude host previously resolved no data directory here at all, because every resolver read only theCLAUDE_*spellings. Shipped: the root manifest (version-synced with the Claude manifest and guarded by tests — closed-schema check, name rules, all 163 skills verified in the standard's layout), and${PLUGIN_DATA}accepted as the fallback whereverCLAUDE_PLUGIN_DATAwas read. One listing in the shared ChatGPT + Codex directory is now a packaging step away rather than a port. 163 skills, 364 tests. Previously — Just shipped — v3.28.0 (August 15, 2026): abrand-setup→content-enginerun, following the instructions literally, found five defects no unit test could see.brand_voice_matchwas unfailable: it asked for "≤ 1.5 point deviation" while the scorer emitsdistancebounded at 1.0 — a hollow gate that had been passing everything. Now stated in the scorer's own 0–1 unit atdistance≤ 0.15, the threshold the scorer already used internally, with a test that fails if the two diverge.seo_completeheld one impossible criterion and one vacuous one: a pre-launch brand's first article cannot make 3 internal links, and "all images have alt text" passed at zero images — both now take anN/Athat must name its reason, because a bareN/Ais a FAIL.brand-setupproduced a profile its ownvalidate-profilerejected on BLOCKER items it never creates; the generator is the source of truth, so the validator was the outlier and now accepts its keys. The voice remediation inverted its own diagnosis — copy "too serious" was told the brand "calls for more serious tone", advice that moves the score further out of tolerance. And creating a brand silently repointed every skill at it with no history and no notice; it now announces the change, records the previous slug, and prints the way back. 163 skills, 358 tests. Previously — Just shipped — v3.27.0 (August 15, 2026): the humanize gate got measured against writing that predates ChatGPT, and lost a signal that was pointing the wrong way. A calibration corpus of 39 documents published before 2022-11-01 — before ChatGPT was public, so human authorship is guaranteed by publication date rather than assumed — across four registers, cut into 272 chunks of ~1000 words so both classes are compared at equal length, against 18 documents of default model prose. Of the 45 words in the LLM-favored lexicon, 23 fired — every one only on the human class, none on the model class. "robust", "facilitate" and "leverage" are ordinary technical English while current models have largely been trained off them, so as a gating signal it could only ever produce false positives; it is now advisory. And the gate now says what it actually proves: it fails 0 of 39 published human documents and catches 0 of 18 unedited model documents — a density floor, not evidence a piece was humanized. Also fixed: the content-engine told you to append scan output to05-humanize.mdwhileauthorship.pymeasured that same file — on a real run that movedauthor_word_share0.253 → 0.206 and flippedmay_claim_authoredto false, denying an author credit for work they did.violationsstayed clean throughout, which is why nothing caught it. 163 skills, 358 tests. Previously — Just shipped — v3.26.2 (August 14, 2026): the humanize gate stops being a vibe, and the author stays in the piece. The content-engine'shumanize_passedgate asked for "AI-pattern density below the brand threshold (under 10% of paragraphs flagged)" while nothing in the repo defined what a flag was — no catalog, no agent, no script. A gate whose measurement is undefined does not fail; it passes on impression.scripts/ai-tell-scan.pyis the missing definition: deterministic surface tells (LLM-favored vocabulary, significance markers like "here's the thing" / "that's the part that got me" — which are DELETED, never reworded — and soft-adverb clusters) with a real per-paragraph flag rate. Crucially it gates on only the tells precise enough to gate on: measured against hand-written copy, the short-declarative heuristic alone flagged half the paragraphs of a good piece, so connective openers, participial openers and ungrounded one-liners stay advisory — a gate that fails human writing is worse than the undefined one it replaced. Bring your own words (--source-draft): hand the pipeline your own rough draft and it builds the piece around your sentences — carried through verbatim, typos and all, exempt from every tell, withscripts/authorship.pyverifying afterwards that nothing of yours was paraphrased or dropped. That check BLOCKS rather than advises, because a detector signal is a probabilistic opinion but "the author wrote this and it is gone" is a fact. When the record earns it (25% floor, zero violations) the disclosure becomes provenance-accurate — read off the record, never requested, so it can only ever understate human authorship. Plus entity development in the structural scan: specifics name-dropped once and abandoned, fixed by developing an existing verified fact — never by deleting specifics, never by inventing a mention. 163 skills, 358 tests. Previously — v3.24.0 (August 12): the timing ladder. Posting-time and send-time recommendations no longer come from static best-times tables. Both scripts now put the brand's OWN data first (--history: ranked windows with sample sizes and statistical floors — the only path to high confidence), keep the population tables only as dated, medium-capped test starting points that refuse when stale, and carry 2026 mechanics in every output (interest-ranked feeds reward early velocity but content strength dominates timing; per-recipient ESP send-time optimization beats any global window). Earlier today — v3.23.0: capability-first translation. The last hardcoded-vendor surface is gone: the language router no longer ships a "language family → product" table. It names what each family requires from a translation service (native script-aware models for Indic, formality registers for European, segmentation and variant control for CJK) and resolves a concrete service at run time — from the brand's recorded preference or the MCP servers you have actually connected — refusing with a resolution ladder rather than naming a product from memory. A vendor-neutrality guard keeps the instruction surface clean permanently. Also today — v3.22.0: the Routing Layer. All 163 skill descriptions rewritten to the trigger-dense house pattern — what the skill does and produces, the trigger phrases a user would actually type (slash alias first), and what it reads or pairs with — because the description is the only thing the model reads when routing a request across 163 skills. The rewrite doubled as an honesty audit: plan-only skills now say "it publishes nothing", every approval-gated execution skill names its gate, and overclaims in the old copy (a "launching, managing" orchestrator that only plans; a promised SLA document that is a terms outline) were corrected. A new density guard pins the pattern per skill plus a median floor so the surface cannot thin back out. Same day — v3.21.x: the Flagship Contract. Every market-priced figure in the repo now carries provenance: 28 benchmark docs live-verified and stamped, backed by a newbenchmark_book.py(numbers enter only with a source URL + as-of date; stale quotes are refused, never reused) — the pass that caught WhatsApp's retired conversation-based billing and repriced tool tables. A machine-verified depth contract (skills-index.json) publishes what each of the 163 skills guarantees — 108 execute real scripts, 12 route through quality gates, 43 are structured guidance — with drift tests that fail if a skill's promises ever diverge from its machinery. Model resolution gains an execution ladder (--for-execution: provenance and registry age travel with every id; unknowns are refused, never guessed),/digital-marketing-pro:help --intentroutes goals to skill chains instead of alphabetical lists, and a new end-to-end engagement smoke test proves the executable spine — intake → benchmarks → media math → campaign store — preserves provenance at every joint, on every release. Previously — v3.18.0–v3.20.0 (August 12): the creator-craft wave. Four strategy skills mined from creator-economy practice (/goal-filter,/story-mine,/signal-mine,/lead-magnet-ideas),/video-packagingwith the title/thumbnail pairing principle, and video ad scripting wired into the house quality machinery (6s/15s/30s/UGC ad-format physics, campaign-context inheritance, every script through/check). Read what's new → · Full changelog →Previously — v3.15.0 (July 7, 2026): The Reliability & Truth release — a full-repo audit fixed ~200 findings in one pass. Connectors are honestly opt-in (the shipped
.mcp.jsonis empty; fictional npm packages purged), all 18 execution skills carry a uniform typed-approval gate (closes issue #6), the Tessl review workflow moved to thetessl reviewCLI (closes issue #8), agents consolidated 25 → 24, C2PA gained the Article 50--ai-disclosureassertion, and a new doc-vs-argparse contract linter + state-layer tests grew the suite from 123 to 207 passing. Read what's new → · Full changelog →
# Install — one line
[](https://hol.org/go/guard/indranilbanerjee21?dest=%2Fguard%2Fbilling%3Fpromo%3DGUARD20-INDRANILBANERJEE21%23upgrade&link_id=fc4b1025-e6eb-40bd-b3d7-24a8508c2fd9&utm_source=insights_share&utm_medium=affiliate_cta&utm_campaign=share20)
/plugin marketplace add indranilbanerjee/neels-plugins
/plugin install digital-marketing-pro@neels-plugins
If this saves you time, give it a star ⭐ — it's the single thing that helps other marketers find it.
| If you're a... | Run this | What you get |
|---|---|---|
| 🏢 Marketing agency managing 50–200 brands | /digital-marketing-pro:engagement per brand, then /digital-marketing-pro:cowork-setup for team Drive persistence | Same 12-Part Strategy Flow audited across every brand. New-hire onboarding goes from 6 weeks to 6 hours. Per-brand AI cost rollup via :agency-dashboard. |
| 👔 In-house marketing team (B2B SaaS · e-commerce · fintech · healthtech) | /digital-marketing-pro:engagement once to anchor strategy, then :content-engine + :campaign-plan for ongoing work | A single canonical strategy doc, monthly stakeholder reports via :performance-report, content + campaigns that tie back to the strategy instead of drifting. |
| 🚀 Marketing automation builder (n8n · Zapier · Make · Pipedream · custom) | /digital-marketing-pro:doctor to see what's wired, :execute-action to fire real API calls | 8 verified HTTP connectors executing end-to-end (Slack · HubSpot · Klaviyo · SendGrid · Brevo · Customer.io · Mailchimp · Ahrefs); 25 OAuth connectors via MCP manifest. Stdlib only, no third-party deps. |
| 💼 Solo consultant or freelance marketer | /digital-marketing-pro:engagement per client | 50–60 canonical files per client engagement in ~60 minutes for $15–40 of API spend. Same depth on every project. Installs on Codex / Cursor / Copilot CLI / Antigravity if you don't live in Claude. |
| 📈 Growth team / product marketer | :funnel-architect → :analytics-insights → :attribution-model → :churn-risk → :cohort-analysis | Journey design + measurement + retention + churn — all aligned to the strategy document, not isolated outputs. MMM + incrementality testing baked in. |
| 🛡 Compliance-led marketer (EU · UK · India · Brazil · California) | /digital-marketing-pro:check before publishing anything | C2PA content provenance, EU AI Act Article 50 disclosure, GDPR + CCPA + DPDPA + LGPD across 16 jurisdictions, deepfake disclosure clauses on every AI creative brief. |
| Digital Marketing Pro | Anthropic Marketing (official) | Composio Marketing | claude-seo (community) | |
|---|---|---|---|---|
| Skills count | 163 | ~7 | ~12 | 25 SEO-only sub-skills |
| Specialist agents | 24 | 0 | 0 | 18 SEO-only |
| Has a methodology | Yes — 12-Part Strategy Flow (61 explicit steps) | No | No | No |
| Multi-brand / agency support | Yes — per-brand state, brand-switch, agency-dashboard | No | No | No |
| EU AI Act Article 50 ready | Yes — C2PA + deepfake disclosure + 16 jurisdictions | No | No | Partial |
| Cowork team persistence | Yes — Drive MCP routing (v3.12.0) | Cowork-native | Composio cloud | n/a |
| Real API execution | Yes — 8 connectors live, 25 manifest-ready | OAuth via plugin | OAuth via Composio | Optional DataForSEO / Firecrawl |
| 6-platform AEO/GEO audit | Yes — incl. Google AI Mode (May 2026) | No | No | Yes (AEO + GEO) |
| Cross-platform install | 9 native — CC + Cowork + Codex + Cursor + Copilot CLI + Antigravity + Hermes + OpenClaw + Grok | Cowork only | Cowork + Codex | CC + Codex |
| Tests | 209 stdlib unittest | unknown | unknown | 271 incl. SSRF/DNS coverage |
| License | MIT — no telemetry, no seats | Proprietary | Proprietary | MIT |
| Maintainer responsiveness | Direct via @askneelnow | Anthropic queue | Composio queue | Community |
Are you a marketer, agency owner, or content lead who doesn't live in a terminal? Here's the fastest path:
indranilbanerjee/neels-pluginsThat's it. You never touched a command line. Your team Drive will hold the outputs. Re-open Cowork tomorrow and pick up where you left off.
If you're more technical, see Quick start below for the Claude Code CLI install (one terminal command).
For team usage (agencies running 50+ brands), also run /digital-marketing-pro:cowork-setup once so brand state persists across Cowork sessions via your team's Google Drive.
Most AI marketing tools generate isolated outputs — a campaign brief here, an email there. No canonical sequence, no shared state, no enforced structure. Result: inconsistent depth, missed dependencies, outputs that don't compound.
DM Pro runs every brand through the same 12 parts, producing the same files in the same order, with explicit dependency rules between them. That's the whole product. Everything else — the 163 skills, 24 agents, May–June 2026 compliance updates, Cowork persistence — exists to make that 12-Part Flow ship cleanly across real marketing operations.
| What this gives you that ad-hoc prompts don't | Why it matters |
|---|---|
| Canonical 12-Part Strategy Flow producing the Four Core Documents (61 explicit steps) | Every engagement looks the same, so handoffs work and quality is auditable |
| Two-Views Model (v1 unbiased + v2 client-validated) | You never lose the original market view when the client pushes back |
| Decision Matrix — maps validation responses to re-runs | Stops over-running (wasted hours) and under-running (broken strategy) |
| Living Project Instruction File — single source o |
Sign in to join the discussion.
No comments yet. Be the first to say what this is good for.

Graphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
An agent organization for Claude Code, structured as a company — 15+ departments, 125+ skills, each independently installable.

Context window optimization for AI coding agents. Sandboxes tool output (98% reduction), persists session memory, and enforces routing across 17 platforms via MCP + hooks.
Self-organizing AI second brain for Obsidian + Claude Code. Drop any source and Claude reads, links, and files it into one connected knowledge graph of plain Markdown you own. AI note-taking, personal knowledge management (PKM), and an open-source Notion alternative. Based on Karpathy's LLM Wiki pattern.
Universal SEO skill for Claude Code. 25 sub-skills + 18 sub-agents covering technical SEO, E-E-A-T, schema, GEO/AEO, backlinks, local SEO, maps intelligence, semantic clustering, e-commerce SEO, international SEO, Google APIs, and PDF/Excel reporting. Optional DataForSEO, Firecrawl, and Banana extensions.
A meta-skill that designs domain-specific agent teams, defines specialized agents, and generates the skills they use.