Sandbox
@indranilbanerjee/digital-marketing-pro

Marketing plugin for Claude Code and other agents

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.

806 stars135 forksPythonUpdated 10d ago
Who it's for

Builders who need their agent to handle SEO, content, paid media, CRM, and analytics across many brands.

What it delivers

You can run consistent, auditable marketing work instead of rebuilding the process for each brand.

What it does

Multi-brand strategy flow

Runs a fixed 12-part strategy flow with explicit steps so every brand engagement follows the same structure.

Specialist marketing agents

Provides agents for SEO, content, analytics, media buying, CRM, brand governance, and related work.

Reusable commands

Includes slash commands for brand setup, campaign planning, SEO audits, content engines, status checks, and engagement runs.

Approval and verification tooling

Adds hooks, checks, and scripts for human approval, verification, and auditable outputs.

Cross-platform plugin manifests

Ships manifests for Claude Code, Codex, Cursor, Gemini, Copilot, Grok, and other agent surfaces.

How to get it

  1. 1Run
    /plugin marketplace add indranilbanerjee/neels-plugins
    /plugin install digital-marketing-pro@neels-plugins
  2. 2Run
    /digital-marketing-pro:brand-setup
  3. 3Run
    /digital-marketing-pro:engagement           # full 12-Part Strategy Flow (~60 min)

README

Digital Marketing Pro

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.

Version License Stars Forks Issues Last commit Tests Platforms Cowork EU AI Act Sponsor

🆕 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%x was a claim while "98% of customers" extracted nothing; fixed with %(?!\w) and pinned by a new CLI-level test suite. (#11) keyword_cluster.py tokenized 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 frontmatter allowed-tools omitted Task while its body mandates Task dispatch in five Parts — on runtimes that enforce the declaration, the 12-part flow degraded; Task added, 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.json carried a _readme field that Cowork's plugin validation rejects — the rationale moved to hooks/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.json with the "skills" pointer Grok's loader reads, plus a single-plugin marketplace.json — makes grok plugin install indranilbanerjee/digital-marketing-pro work 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. New scripts/run-audit.py re-checks a finished run from its artifacts: every numbered artifact present, the humanize verdict re-measured with a fresh ai-tell-scan.py run instead of read off the scorecard, no scan JSON embedded in the file authorship.py measures (the corruption class that once flipped may_claim_authored and 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 before status: ready may be declared, and the verdict lands in run-audit.json beside 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 root plugin.json on 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 the CLAUDE_* 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 wherever CLAUDE_PLUGIN_DATA was 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): a brand-setupcontent-engine run, following the instructions literally, found five defects no unit test could see. brand_voice_match was unfailable: it asked for "≤ 1.5 point deviation" while the scorer emits distance bounded at 1.0 — a hollow gate that had been passing everything. Now stated in the scorer's own 0–1 unit at distance ≤ 0.15, the threshold the scorer already used internally, with a test that fails if the two diverge. seo_complete held 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 an N/A that must name its reason, because a bare N/A is a FAIL. brand-setup produced a profile its own validate-profile rejected 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 to 05-humanize.md while authorship.py measured that same file — on a real run that moved author_word_share 0.253 → 0.206 and flipped may_claim_authored to false, denying an author credit for work they did. violations stayed 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's humanize_passed gate 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.py is 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, with scripts/authorship.py verifying 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 new benchmark_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 --intent routes 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-packaging with 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.json is empty; fictional npm packages purged), all 18 execution skills carry a uniform typed-approval gate (closes issue #6), the Tessl review workflow moved to the tessl review CLI (closes issue #8), agents consolidated 25 → 24, C2PA gained the Article 50 --ai-disclosure assertion, 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

[![HOL Guard](https://img.shields.io/endpoint?url=https%3A%2F%2Fhol.org%2Fapi%2Fregistry%2Fbadges%2Fplugin%3Fslug%3Dindranil-banerjee%252Fdigital-marketing-pro%26metric%3Dtrust)](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.


Who this is for

If you're a...Run thisWhat you get
🏢 Marketing agency managing 50–200 brands/digital-marketing-pro:engagement per brand, then /digital-marketing-pro:cowork-setup for team Drive persistenceSame 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 workA 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 calls8 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 client50–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-analysisJourney 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 anythingC2PA content provenance, EU AI Act Article 50 disclosure, GDPR + CCPA + DPDPA + LGPD across 16 jurisdictions, deepfake disclosure clauses on every AI creative brief.

How does this compare?

Digital Marketing ProAnthropic Marketing (official)Composio Marketingclaude-seo (community)
Skills count163~7~1225 SEO-only sub-skills
Specialist agents240018 SEO-only
Has a methodologyYes — 12-Part Strategy Flow (61 explicit steps)NoNoNo
Multi-brand / agency supportYes — per-brand state, brand-switch, agency-dashboardNoNoNo
EU AI Act Article 50 readyYes — C2PA + deepfake disclosure + 16 jurisdictionsNoNoPartial
Cowork team persistenceYes — Drive MCP routing (v3.12.0)Cowork-nativeComposio cloudn/a
Real API executionYes — 8 connectors live, 25 manifest-readyOAuth via pluginOAuth via ComposioOptional DataForSEO / Firecrawl
6-platform AEO/GEO auditYes — incl. Google AI Mode (May 2026)NoNoYes (AEO + GEO)
Cross-platform install9 native — CC + Cowork + Codex + Cursor + Copilot CLI + Antigravity + Hermes + OpenClaw + GrokCowork onlyCowork + CodexCC + Codex
Tests209 stdlib unittestunknownunknown271 incl. SSRF/DNS coverage
LicenseMIT — no telemetry, no seatsProprietaryProprietaryMIT
Maintainer responsivenessDirect via @askneelnowAnthropic queueComposio queueCommunity

Get started in 5 minutes (non-developer path)

Are you a marketer, agency owner, or content lead who doesn't live in a terminal? Here's the fastest path:

  1. Open Anthropic Cowork in your browser (no installation, no terminal, no command line). Sign up free if you don't have an account.
  2. Click your profile menu → Settings → Plugins → Add Marketplace. Paste: indranilbanerjee/neels-plugins
  3. Find "Digital Marketing Pro" in the list → click Install.
  4. Type in chat: "Let's set up a brand for ACME Corp" — Claude will walk you through brand setup (voice, audience, jurisdiction, competitors).
  5. Then ask: "Run a full marketing engagement for ACME" — and watch ~50–60 strategy documents get produced over the next ~60 minutes.

That'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.


Why Digital Marketing Pro

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'tWhy 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-runsStops over-running (wasted hours) and under-running (broken strategy)
Living Project Instruction File — single source o

Files in the repo

Repository payload35 top-level entries
  • .claude-plugin
  • .codex-plugin
  • .cursor-plugin
  • .github
  • .grok-plugin
  • agents
  • assets
  • commands
  • docs
  • hooks
  • scripts
  • skills
  • tests
  • __init__.py
  • .gitignore
  • .mcp.json.connectors-reference
  • .mcp.json.example
  • AGENTS.md
  • CHANGELOG.md
  • CODE_OF_CONDUCT.md
  • CONNECTORS.md
  • CONTRIBUTING.md
  • gemini-extension.json
  • LICENSE
  • openclaw.plugin.json
  • package.json
  • plugin.json
  • plugin.yaml
  • README.md
  • SECURITY.md
  • settings.json.example
  • skills-index.json
  • SPONSORS.md
  • SUBMISSION.md
  • TESTING-GUIDE.md

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More plugins

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.

82k
cbrock84/
headcount

An agent organization for Claude Code, structured as a company — 15+ departments, 125+ skills, each independently installable.

1.4k

Context window optimization for AI coding agents. Sandboxes tool output (98% reduction), persists session memory, and enforces routing across 17 platforms via MCP + hooks.

22k

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.

15k

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.

17k
revfactory/
harness

A meta-skill that designs domain-specific agent teams, defines specialized agents, and generates the skills they use.

9k