digital-marketing-pro is a free, open source marketing & customer engagement project written in Python and released under MIT. It has 824 GitHub stars, 135 forks and 2 open issues, and was last pushed 11 days ago. On this registry it ranks #39 of 50 tracked projects in Marketing & Customer Engagement, with 5 head-to-head comparisons available. It gained 6 stars over the last 3 tracked days.

What is digital-marketing-pro?

Digital Marketing Pro is an open-source AI marketing operating system distributed as a plugin and Agent Skills pack — 163 skills and 24 specialist agents spanning strategy, SEO, AEO/GEO, paid media, content, CRM, and analytics — built for marketing agencies, in-house teams running 50 to 200 brands, and consultancies.

What it is

Digital Marketing Pro is an MIT-licensed Python project, currently at version 3.31.1, created by Indranil Banerjee. It lives in the agent-harness ecosystem rather than standing alone as a web application: the README lists native support for Claude Code (CLI and IDE), Anthropic Cowork, OpenAI Codex, Cursor 2.5+, GitHub Copilot CLI, Google Antigravity 2.0, Hermes Agent, and OpenClaw, plus 35 or more Agent Skills platforms. Its stated design commitments are that outputs stay grounded in brand context, pass through human approval, and remain verifiable rather than fluent-sounding.

The concrete problem it replaces is the manual agency playbook — or the absence of one when a client arrives with no inherited documentation. Running /digital-marketing-pro:engagement against a brand produces the same 12-Part Strategy Flow, the same Four Core Documents, and the same 61-step structure every time, at roughly 60 minutes per brand on Claude Opus-class models. For a portfolio of dozens of brands, that means consistent depth between accounts, a traceable answer to what the previous agency did, and fewer compliance gaps in regulated jurisdictions, with EU AI Act Article 50 readiness built into the compliance rules.

Key capabilities

  • /digital-marketing-pro:engagement runs the 12-Part Strategy Flow across the Four Core Documents in a fixed 61-step structure, so depth does not vary between brands.
  • 163 skills and 24 specialist agents cover strategy, SEO, AEO/GEO, paid media, content, CRM, and analytics within one pack.
  • EU AI Act Article 50 readiness is carried in skills/context-engine/compliance-rules.md, with C2PA listed as a topic for content provenance.
  • Team-persistent Cowork operation, so an engagement is not bound to one operator's session.
  • Verification tooling, including claim-verifier.py, whose percentage matcher was corrected from %\b to %(?!\w) so that ordinary phrasing such as "98% of customers" is extracted as a claim rather than missed.
  • Multilingual keyword clustering in keyword_cluster.py using a Unicode tokenizer and compound-aware similarity with containment matching and a 6-character floor, which fixes exact-token Jaccard scoring related German compounds at 0.00 while leaving English scores and SERP-URL overlap unchanged.
  • A test suite reported at 402 of 402 passing, packaged for 8 native platforms plus 35 or more Agent Skills platforms.

Who uses it and how

  • Agencies that have just signed a large multi-brand client and inherited no playbook run the engagement command per brand, producing an auditable portfolio record at about 60 minutes per brand.
  • In-house marketing teams running 50 to 200 brands use it to hold positioning, content, and paid media work to one documented standard across business units.
  • Consultancies use the EU AI Act Article 50 and C2PA coverage to answer compliance questions in regulated jurisdictions with referenced artefacts rather than assurances.
  • Teams already working inside Claude Code, Cursor 2.5+, GitHub Copilot CLI, OpenAI Codex, Google Antigravity 2.0, Hermes Agent, or OpenClaw adopt it without adding a separate toolchain.
  • Multi-language portfolios benefit from the compound-aware clustering path, which was specifically repaired for compounding languages such as German.

Getting started

Installation is as a plugin or Agent Skills pack into a supported harness, with Claude Code as the first-class surface, and the first action is running /digital-marketing-pro:engagement against a brand. The README facts do not name a package-manager package, Docker image, compose file, or hosted option.

How it compares

No list of paid products that this project replaces is provided in the facts, and no rival projects are named. It therefore stands alone in this registry: it is not a competing agent harness but a marketing plugin and skill pack that runs on top of Claude Code, Cursor, GitHub Copilot CLI, OpenAI Codex, Google Antigravity, Hermes Agent, and OpenClaw.

When to use it — and when not to

A self-hoster must operate a supported agent harness and supply Claude Opus-class model access, since the stated 60-minutes-per-brand figure depends on it and the MIT licence covers the pack rather than the inference cost. Teams whose runtime enforces frontmatter allowed-tools should confirm Task dispatch is permitted, because the engagement workflow previously degraded where that declaration was missing. Teams without an agent harness, or those wanting a fully autonomous or hosted service with no human approval step, are not the intended audience here.

project readme (upstream, from github) — read inline

# 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 criterio

readme truncated — read the full docs on github

Frequently asked questions

Is digital-marketing-pro free to use?

digital-marketing-pro is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does digital-marketing-pro do?

An open-source AI marketing operating system for strategy, SEO, AEO/GEO, paid media, content, CRM, and analytics - grounded in brand context, human approval, an

What is digital-marketing-pro written in?

digital-marketing-pro is primarily written in Python. Its source is publicly available at https://github.com/indranilbanerjee/digital-marketing-pro, and it has 824 GitHub stars.