digital-marketing-pro

作者 indranilbanerjee已验证

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

764
Stars
128
Forks
Python
语言
2026/8/23
添加时间

⚠️ 第三方软件声明

本 Skill 为第三方开源软件,独立托管于 GitHub。SkillTip 仅为信息目录,不控制或维护底层仓库。所显示的安全检查为自动化且范围有限,安装前请自行审查源码。

阅读服务条款

安装

添加到你的 Claude Code skills 目录:

# Add to your Claude Code skills
git clone https://github.com/indranilbanerjee/digital-marketing-pro

快速入门

使用 digital-marketing-pro 等 Skills 的指南。

安全报告

已验证

上次扫描:—

{
  "status": "PASSED",
  "issues": []
}

README.md

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
/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 of truth per engagementAll skills read it first; corrections propagate automatically
EU AI Act Article 50 readiness built inC2PA provenance signing, deepfake disclosure, final Article 50 Guidelines + Code of Practice (10 June 2026) in compliance
6-platform AEO/GEO audit (incl. Google AI Mode)The first marketing plugin to treat AI Mode as a distinct surface from AI Overviews

What you get in 60 minutes

Run /digital-marketing-pro:engagement and the plugin produces a full brand-strategy engagement in roughly 60 minutes on Opus 4.8/Opus 5-class models — ~50–60 canonical files organized by part:

  • Part 1 — Stone-vs-Opinion intake (what the client knows for certain vs what they believe)
  • Part 2 — External market research (unbiased, no client docs)
  • Part 3 — Four Core Documents — 61 explicit steps across Business & SBU Analysis, Segmentation Framework, Brand Positioning & Communications, DMFlow
  • Part 4 — Competitive + Customer + Market analysis (4 unbiased docs)
  • Part 5 — Client Validation Document — the one true stop
  • Part 6 — Selective v2 re-runs per Decision Matrix
  • Part 7 — Preparation documents (campaign architecture, KPI tree, content pillars, approval chains)
  • Part 8Growth Plan + 12-month Yearly Planner (the flagship deliverable)
  • Part 9 — Channel-strategy fan-out (up to 17 channel docs in 7 families)
  • Part 10 — Execution artefacts (ad copy, post copy, headlines, CTAs)
  • Part 11 — AI creative briefs (with Nano Banana Pro / Veo 3.1 / Gemini Omni model guidance and C2PA + deepfake-disclosure clauses)
  • Part 12 — Continuous improvement loop

Cost: roughly $15–40 in Claude API spend for a full 12-part engagement using Opus 4.8 or Opus 5 (same $5/$25 per-MTok pricing). The plugin itself is MIT-licensed and free.


Quick start

1. Install on Claude Code (canonical)

/plugin marketplace add indranilbanerjee/neels-plugins
/plugin install digital-marketing-pro@neels-plugins

/plugin commands work in Claude Code (CLI + IDE at claude.com/code) and Anthropic Cowork. In the standard Claude chat app (browser claude.ai OR the installed Claude Desktop app) plugins still install and run, but management is via the Plugins UI button at the bottom of the chat — not via /plugin slash commands. See the Updating section for the recovery procedure if you accidentally try a slash command in the chat UI.

2. Turn on auto-update (recommended)

Third-party marketplaces have auto-update OFF by default in Claude Code — no banner tells you when a new version ships. Fix it once:

Open /pluginMarketplaces tab → find neels-plugins → toggle Enable auto-update. Done — future releases pull at session start; /reload-plugins applies mid-session without restart.

3. Set up your first brand

/digital-marketing-pro:brand-setup

Interactive brand profiling — voice, audience, channels, industry, target jurisdictions, competitors, goals. Quick mode (5 questions) or full mode (17 questions). Optional: /digital-marketing-pro:import-guidelines to bulk-load existing brand guidelines, SOPs, or templates.

4. Run a full engagement, or jump straight to a workflow

/digital-marketing-pro:engagement           # full 12-Part Strategy Flow (~60 min)

Or jump straight to one workflow:

/digital-marketing-pro:campaign-plan        # multi-channel campaign with budget, timeline, KPIs
/digital-marketing-pro:seo-audit            # technical + content + E-E-A-T + AI visibility audit
/digital-marketing-pro:content-engine       # blog / ad / email / social / landing / video drafts
/digital-marketing-pro:competitor-analysis  # multi-dimensional deep-dive
/digital-marketing-pro:performance-report   # trends + anomalies + recommendations
/digital-marketing-pro:email-sequence       # subject lines, copy, timing, segmentation
/digital-marketing-pro:check                # pre-publish quality gate (hallucination + voice + claims)
/digital-marketing-pro:status               # unified brand snapshot
/digital-marketing-pro:resume               # resume an interrupted long workflow (engagement / campaign-plan / etc.)
/digital-marketing-pro:output-folder        # open the user-visible ~/Documents/DigitalMarketingPro/ folder

5. Find your output

~/.claude-marketing/<brand-slug>/
├── brand-profile.json           ← brand voice, audience, guardrails, jurisdictions
├── engagements/
│   └── <engagement-slug>/
│       ├── 01-client-inputs/    ← Part 1 Stone-vs-Opinion intake
│       ├── 02-research/         ← Part 2 external market research
│       ├── 03-four-core/        ← Part 3 Four Core Documents (61 steps)
│       ├── 04-analysis/         ← Part 4 competitive / customer / market
│       ├── 05-validation/       ← Part 5 Client Validation Document
│       ├── 06-v2-reruns/        ← Part 6 selective v2 re-runs
│       ├── 07-prep/             ← Part 7 internal operating layer
│       ├── 08-growth-plan/      ← Part 8 Growth Plan + Yearly Planner
│       ├── 09-channels/         ← Part 9 channel-strategy fan-out
│       ├── 10-execution/        ← Part 10 ad copy / post copy / headlines / CTAs
│       ├── 11-creative-briefs/  ← Part 11 AI creative instructions
│       ├── 12-improvement/      ← Part 12 continuous improvement loop
│       └── PROJECT_INSTRUCTIONS.md  ← Living Project Instruction File
└── insights/                    ← cross-engagement learnings

See the Multi-Brand & Agency Guide for the multi-client switching workflow.


Real workflows you'd actually run

🆕 New-client onboarding (agency, week 1)

/digital-marketing-pro:brand-setup "ACME Corp"        # interactive: voice, audience, channels, jurisdiction
/digital-marketing-pro:competitor-analysis            # multi-dimensional deep-dive on top 5 competitors
/digital-marketing-pro:engagement                     # full 12-Part Strategy Flow (~60 min on Opus-class)
/digital-marketing-pro:check  engagements/.../03-four-core/*.md   # pre-publish gate before client review

Output: ~50–60 canonical files. Cost: $15–40 in API spend. Time saved: ~3 weeks of senior-strategist labor.

📊 Quarterly business review (in-house, last week of quarter)

/digital-marketing-pro:performance-report   --period=Q2-2026
/digital-marketing-pro:attribution-report   --period=Q2-2026 --model=data-driven
/digital-marketing-pro:competitor-monitor   --since=2026-04-01
/digital-marketing-pro:continuous-improvement-loop --quarter=Q2-2026

Output: stakeholder-ready Q2 review with anomalies, attribution shift, competitor moves, and next-quarter recommendations.

🎯 SEO sprint (any audience, 1 week)

/digital-marketing-pro:seo-plan                       # 4-pillar scorecard; weakest pillar drives the theme
/digital-marketing-pro:keyword-cluster  seeds.csv     # SERP-overlap clustering into pillar+spokes
/digital-marketing-pro:backlink-gap  acme.com competitor1.com competitor2.com
/digital-marketing-pro:content-engine                 # draft the top 3 pillar pages
/digital-marketing-pro:check  drafts/*.md             # hallucination + brand voice + claims gate
/digital-marketing-pro:seo-drift  baseline.csv current.csv     # 30 days later, what moved

🤖 Marketing automation flow (builders)

/digital-marketing-pro:doctor                         # which actions are live vs need connector setup
/digital-marketing-pro:execute-action --action diagnostic --execute            # GA4 + GSC pull
/digital-marketing-pro:execute-action --action audit-current --execute         # workflow state check
/digital-marketing-pro:execute-action --action enable-automation --confirm     # Klaviyo flow activate

Output: real API calls fired against your stack with audit logging at ~/.claude-marketing/{brand}/executions/. Combine with n8n / Make / Zapier for human-in-the-loop approval gates.

🛡 Pre-publish compliance gate (every campaign)

/digital-marketing-pro:check  campaign.md --full      # hallucination + voice + claims + jurisdictions
/digital-marketing-pro:c2pa-metadata  hero.png        # sign image with provenance for EU Article 50

🎨 AI creative brief with EU disclosure (every AI-generated asset)

/digital-marketing-pro:ad-creative                # ad concepts + copy with EU/FTC disclosure clauses
/digital-marketing-pro:influencer-creator         # FTC + EU deepfake clauses baked in

Supported surfaces (v3.31.1)

PlatformInstall commandManifest pathStatus
Claude Code CLI + IDE extensions/plugin install digital-marketing-pro@neels-plugins.claude-plugin/plugin.jsonFull support (canonical)
Anthropic CoworkPlugins UI → Add marketplace → indranilbanerjee/neels-plugins → Installsame .claude-plugin/ filesFull support — no /plugin slash commands in Cowork (UI-only)
OpenAI Codex CLI + IDE + Appcodex plugin marketplace add indranilbanerjee/neels-plugins then codex plugin install digital-marketing-pro@neels-plugins.codex-plugin/plugin.json (published OpenAI schema)Full skills + MCP support
Cursor 2.5+In any Cursor Agent chat: /add-plugin digital-marketing-pro@https://github.com/indranilbanerjee/digital-marketing-pro.cursor-plugin/plugin.json (published Cursor JSON Schema)Full skills + agents + commands support
GitHub Copilot CLIcopilot plugin marketplace add indranilbanerjee/neels-plugins then copilot plugin install digital-marketing-pro@neels-plugins.github/plugin/plugin.json (Copilot CLI also recognizes .claude-plugin/plugin.json as fallback)Full skills + MCP support; subagents need .agent.md extension (open issue); custom slash commands not yet supported in Copilot CLI
Google Antigravity 2.0 CLI + IDEagy plugin install https://github.com/indranilbanerjee/digital-marketing-progemini-extension.json (at repo root, per Google's reference pattern)Full skills + hooks support; subagents need /agent CLI spawning; slash commands fold into skills via agy plugin import gemini
Hermes Agent (Nous Research) — Desktop + CLI on macOS / Windows / Linuxhermes plugins install indranilbanerjee/digital-marketing-proplugin.yaml + __init__.py at repo root (Hermes native spec)Native plugin — adapter walks skills/ at register time and exposes all 163 skills via ctx.register_skill(). Targets Hermes Desktop v0.15.2+ (public preview June 2 2026).
OpenClaw (formerly Clawdbot / Moltbot)openclaw plugins install git:github.com/indranilbanerjee/digital-marketing-proopenclaw.plugin.json at repo root (also auto-detects .claude-plugin/plugin.json as Claude-compatible bundle)Native plugin via openclaw.plugin.json; skills field points at ./skills. Also installable via ClawHub marketplace (submission pending).
Grok (xAI Build CLI)grok plugin install indranilbanerjee/digital-marketing-pro — or grok plugin marketplace add indranilbanerjee/neels-plugins then grok plugin install digital-marketing-pro (append --trust to skip the install confirmation).grok-plugin/plugin.json + .grok-plugin/marketplace.json (Grok Build also reads the Claude Code manifests for compatibility; the native pair is the first-class lane)Full skills support

Why this works: Agent Skills became an open standard in December 2025 (donated to the Agentic AI Foundation; adopted by 41+ agent products by June 2026 — see "Works on 40+ agent harnesses" below). All 163 SKILL.md files in DM Pro are platform-portable as written. The sibling manifests are thin platform-specific wrappers around the same skills/ directory — no skill duplication, no maintenance fork. The pattern is borrowed from Google's reference repo gemini-cli-extensions/data-agent-kit-starter-pack.

Minimum Claude Code version: 2.1.157 (declared via requiredMinimumVersion in plugin.json — landed in Claude Code v2.1.163, June 4 2026). Older Claude Code builds will be told to upgrade rather than load DMP with missing features.


Works on 40+ agent harnesses (via the Agent Skills open standard)

Beyond the 9 surfaces above where we ship a native manifest, DMP's 163 SKILL.md files work out-of-the-box on any agent that adopted the Agent Skills open standard (Anthropic-published Dec 2025, 41+ adopters as of June 2026). On each platform below, point it at our skills/ folder and all 163 marketing skills are immediately discoverable. No platform-specific manifest needed.

Tier 1 — verified-compatible platforms with explicit Agent Skills install paths:

PlatformVendorInstall hint
GooseBlock (Square)goose skills install github.com/indranilbanerjee/digital-marketing-pro/skills
OpenHandsOpen Hands (cloud agents)Mount this repo's skills/ via the OpenHands skills config
OpenCodesstopencode skills import github:indranilbanerjee/digital-marketing-pro
JunieJetBrainsDrop skills/ into your project; Junie auto-discovers
Gemini CLIGooglegemini skills add github:indranilbanerjee/digital-marketing-pro
Roo CodeRoo Code Inc.VS Code → Roo settings → Skills → import from URL
Cline / Windsurfopen-source VS Code agentsSame Agent Skills import flow as Roo
KiroKiroSpec-driven dev with Agent Skills support
AmpSourcegraphamp skills add github:indranilbanerjee/digital-marketing-pro
LettaLettaStateful-agents platform — skills load via the Letta SDK
MuxCoderBrowser-based parallel cloud agents
FactoryFactory"Droid" agents read Agent Skills bundles
WorkshopWorkshopMulti-LLM cross-platform agent
TabnineTabnineEnterprise context-aware AI agent
EmdashGeneral ActionParallel git-worktree agents
SuperconductorSuperconductorMultiplayer cloud agents
OnaOnaBackground cloud-agent fleet
Mistral VibeMistral AImistral-vibe skills install ...
VT Codeopen-sourceLLM-native code agent
QodoQodoCode integrity agent
PiebaldPiebaldDesktop agentic dev
Autohand Code CLIAutohandReAct terminal agent
piopen-sourceMinimal terminal harness
Command CodeCommand CodeCoding-taste-learning agent
TRAEByteDanceAdaptive AI IDE
FirebenderFirebenderAndroid-native agent
bubBubChannel-native agent framework
fast-agentevalstateACPX + Skills development
nanobotHKUDSUltra-light personal agent (Slack / Discord / Telegram / WeChat)
VitaVitaVirtual-desktop autonomous workers
Snowflake Cortex CodeSnowflakeData-platform agent
Databricks Genie CodeDatabricksData-engineering agent
Laravel BoostLaravelLaravel-specific agent skills layer
Spring AISpringJava/Spring AI applications
AgentmanAgentmanHealthcare revenue-cycle agents
Google AI Edge GalleryGoogleOn-device mobile LLM agent

Quick test on any Tier-1 platform:

# 1. Clone the skills folder (or point your platform at the GitHub raw URL)
git clone --depth=1 https://github.com/indranilbanerjee/digital-marketing-pro.git
# 2. Point your agent's skills-config at ./digital-marketing-pro/skills
# 3. Try: "Run a competitor analysis on stripe.com"
# Your agent picks /digital-marketing-pro:competitor-analysis automatically.

Why we don't ship per-platform manifests for these: the Agent Skills standard says agents discover by walking a directory tree for SKILL.md files — no manifest required. Shipping 35 extra wrapper manifests would create maintenance overhead with zero added value.

If you run into a platform-specific install snag, file a GitHub issue — we'll add platform-specific docs as users report patterns.


The 12-Part Engagement Methodology

PartNameOutput
1Client InputsStone vs Opinion intake (what client knows for certain vs what they believe)
2External ResearchUnbiased market research (no client docs used)
3Four Core Documents61 explicit steps — Business & SBU (18), Segmentation (15), Brand Positioning (19), DMFlow (9)
4Competitive + Customer + Market4 unbiased analysis documents (4.1–4.4)
5Client Validation DocumentThe one true stop — client accepts/rejects/edits each finding
6Selective v2 Re-runsSubset of Part 3 + Part 4 docs re-run per the Decision Matrix
7Preparation DocumentsInternal operating layer (campaign architecture, KPI tree, content pillars, asset inventory, approval chains)
8Growth Plan + Yearly PlannerThe flagship 11-section client-facing strategy + 12-month operational calendar
9Channel Strategy Fan-outUp to 17 channel docs grouped into 7 families
10Execution ArtefactsAd copy, post copy, headlines, CTAs
11AI Creative InstructionsVisual asset briefs with C2PA + EU Article 50 clauses
12Continuous Improvement LoopQuarterly briefs feeding signals back into product/offering decisions

Key architectural concepts:

  • Two-Views Model — Every engagement carries v1 (unbiased market view) and v2 (client-validated view) after Part 5. Operating decisions reference v2; ideation references both. v1 is never deleted.
  • Stone vs Opinion — Every fact captured at intake is tagged with confidence. Stone = client knows for certain. Opinion = client believes (becomes a research question, not ground truth).
  • Decision Matrix — Maps client validation responses to which v1 documents need v2 re-runs. Prevents over- and under-re-running.
  • Update-Back Rule — Live operations surface corrections → source documents get versioned (v2.1, v2.2 …) → Living Project Instruction File propagates the change to all downstream skills.
  • Living Project Instruction File — Single source of truth per engagement. All skills read it first.

15+ strategic-framework reference documents in skills/context-engine/ support the methodology (Five Digital Markets, Channel Families, In-Market vs Out-Market, Multi-Dimensional Decision Framework, Unit Economics, Actionable Persona Format, B2B Decision-Making Unit, Three-Scenario Forecasting, 30/60/90-Day Framework, Reporting Cadence, Fixed vs Variable Budget, Competitor 3-Question Output, India Market Context, and more).


What's new

v3.31.1 — all five open community issues verified and fixed (August 17, 2026)

Each open GitHub issue was reproduced against the current release; all five were real, and every fix shipped with its own guard. #10: the percent-claim regex only matched when a word character followed % — inverted behavior, now %(?!\w) with CLI-level tests. #11: the keyword tokenizer split non-ASCII letters and exact-token Jaccard scored German compounds at 0.00 — Unicode tokenizer + compound-aware similarity (English scoring provably unchanged). #13: engagement-workflow mandated Task dispatch its allowed-tools didn't declare — fixed plus a contract guard across all 163 skills. #12: plugin.yaml said "158 skills" — 163 now, with the Hermes description in the derived-count guard. #9: the _readme field in hooks/hooks.json failed Cowork validation — rationale moved to hooks/README.md in all three suite plugins, schema-clean manifests guarded. Credit: @jurazerr (4 reports), @theepicsaxguy (1 report).

v3.31.0 — Grok becomes the ninth native platform (August 17, 2026)

A first-class .grok-plugin/ manifest pair (plugin.json with the "skills" pointer Grok's loader reads + a single-plugin marketplace.json) makes grok plugin install indranilbanerjee/digital-marketing-pro work directly; Grok also reads the Claude Code manifests for compatibility, but the native pair is what an official xAI marketplace listing points at. Both files are version-locked into tests/test_release_consistency.py, and Grok joins every platform-name guard (README troubleshooting, AGENTS.md surfaces line, install-command coverage). The same pass caught four stale counts that had escaped the doc-count guard through new phrasings — backticked SKILL.md, qualifier words ("marketing skills", "skill names"), and an unguarded "N tests" noun 170 stale — fixed the prose and taught the guard each phrasing, plant-checked.

v3.30.2 — the documentation truth pass (August 16, 2026)

Every count in every live document re-derived from the filesystem: the comparison table said "Skills count 158" against 163 shipped, five documents quoted "86 Python scripts" against 93, and AGENTS.md pinned v3.17.0 — thirteen releases stale on the file every non-Claude runtime auto-loads. The doc-count 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.

v3.30.1 — listing metadata + submission bundle (August 16, 2026)

Root plugin.json gains the official schema's full optional set; docs/distribution/submission-bundle.md carries the listing copy, starter prompts, and 5+3 test cases both official directories require.

v3.30.0 — the content-engine run auditor (August 16, 2026)

scripts/run-audit.py re-derives a run's gate claims from the artifacts on disk: artifacts present, humanize re-measured fresh, no scan JSON inside the measured file, authorship record vs fresh measurement, voice distances inside the gate, publish-ready copy free of placeholders. The contract requires it before status: ready; exit 1 means fix the finding, never the wording.

v3.29.0 — Agent Plugins 1.0 packaging (August 16, 2026)

OpenAI's vendor-neutral Agent Plugins standard (announced August 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. DMP now ships that manifest — version-synced with the Claude manifest and test-guarded — and accepts ${PLUGIN_DATA} wherever CLAUDE_PLUGIN_DATA was read, so a compliant non-Claude host resolves a data directory instead of nothing. One listing in the shared ChatGPT + Codex plugin directory is now a packaging step away.

DM Pro is updated against the actual current marketing ecosystem state — the July 2026 market refresh (GPT-5.6 Sol/Terra/Luna, the Claude 5 family, the final EU AI Act Article 50 guidelines + Transparency Code of Practice), Google I/O 2026, the Google Ads v25 / Meta v25 API shifts, and the latest AI image/video model landscape. No "trained on 2024 data" surprises in your client outputs.

v3.28.0 — Following the Instructions Literally (August 15)

A brand-setup → content-engine run on a fresh brand, doing exactly what the skills said, surfaced five contract defects. brand_voice_match asked for "≤ 1.5 point deviation" against a scorer whose distance is bounded at 1.0 — unfailable, and quietly passing everything; it now uses the scorer's own 0–1 unit at 0.15, the threshold the script already flagged at. seo_complete demanded 3 internal links from a brand with no website and counted "all images have alt text" as passed at zero images; both now take an N/A that must name its reason, because a bare N/A becomes a way to skip any gate. brand-setup wrote a profile that validate-profile rejected on BLOCKERs it never creates — two other consumers read the generator's keys, so the validator was reconciled to reality. The voice scorer's remediation pointed the wrong way (content "too serious" told to be "more serious"). And creating a brand silently repointed the global active brand with no history; it now says so and prints the undo. Suite: 340 → 358.

v3.27.0 — The Gate, Measured (August 15)

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 marketing blogs, personal and technical essays, journalism and institutional reports, and academic and standards prose. Cut into 272 chunks of ~1000 words so both classes are compared at equal length, against 18 documents of default model prose. Two findings. First, of the 45 words in the LLM-favored lexicon, 23 fired and every one fired only on the human 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. Second, the gate fails 0 of 39 published human documents and catches 0 of 18 unedited model documents: it is a density floor, not evidence a piece was humanized, and the docs now say so. Also fixed: the content-engine instructed appending 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. violations stayed clean throughout, which is why nothing caught it. Suite: 335 → 340.

v3.26.2 — Load-Test Corrections (August 14)

A verification harness ran every script in the repo and an adversarial input battery against the text-processing surface. It found a real one: the authorship matcher was quadratic — 11.4s at 500 sentences, and its difflib prefilter pruned nothing in exactly the case that matters, because when the draft genuinely contains the author's sentences every pair looks promising. A long whitepaper would have hung the phase. Rewritten as two passes (hash index for verbatim survivors, fuzzy only over the remainder, with a mathematical length bound): 5000 sentences now match in 0.07s. Plus 28 adversarial inputs — empty, 50k words, RTL, CJK, null bytes, unclosed fences, HTML injection — all handled without a crash, pinned as regression tests. Suite: 331 → 335.

v3.26.1 — Field-Test Corrections (August 14)

Five probes run against the INSTALLED plugin. The gate held: DMP's own generated 1081-word article passes its own gate at 0% flagged paragraphs, a published human essay passes at 0%, and AI-shaped copy still fails at 66.7%. entity_development read OK on the real article (18 distinct entities, 1.67 mentions each) — the proxy behaves on genuine long-form content, not just synthetic fixtures. One real fix: the aphorism heuristic was flagging ordinary factual sentences ("The neighbouring region barely moved.") and rated both the human essay and DMP's own article HIGH. It now excludes context-dependent sentences (personal or anaphoric pronouns, coordinating-conjunction openers), and no longer contributes to advisory_rating at all — a signal too imprecise to gate on is too imprecise to headline a rating. Still counted and reported for the editor. Suite: 327 → 331.

v3.26.0 — The Humanize Gate Stops Being a Vibe (August 14)

The content-engine gated on "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 doesn't fail; it passes on impression. New scripts/ai-tell-scan.py is that missing measurement: deterministic surface tells (LLM-favored vocabulary, significance markers — sentences whose only job is to label what a neighbouring sentence means, like "here's the thing" or "that's the part that got me", which are deleted, never reworded — and soft-adverb clusters) with a real per-paragraph flag rate. It gates on only the three 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. Absolute floors stop one legitimate "actually" in a short excerpt from normalizing into a tell. Plus --source-draft: bring your own rough draft and the pipeline builds around your sentences — carried verbatim, typos and all, exempt from every tell, with scripts/authorship.py blocking (not advising) if anything of yours was paraphrased or dropped, because "the author wrote this and it is gone" is a fact rather than a probability. The disclosure becomes provenance-accurate only when the record earns it (25% floor, zero violations), so it can only ever understate human authorship. And entity development joins 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. No watermark detection or removal — permanently. Suite: 294 → 327.

v3.25.0 — Honest Provenance + the Structural Tier (August 13)

Every brand profile gains an ai_disclosure block — author-optional, vendor-neutral default wording, three modes (claude-surfaces default with an uncertain-surface fail-safe that discloses rather than guesses / always / off) — applied by content-engine inside the publish-ready body so it survives publish-blog, recorded in handoff metadata either way, and classified by the new detect_surface.py. Plus the Tier-2 structural scan (structural-tell-scan.py, StoryScope-derived): moralizing closers, template symmetry, specificity density, stance absence, and uniform rhythm measured with spans; /check reports them as a pure advisory section, and the content-engine humanize step acts on them with fact-grounded structural edits. No watermark detection or removal — permanently. Suite: 281 → 294.

v3.24.0 — The Timing Ladder (August 12)

posting-time-analyzer and send-time-optimizer rebuilt from static best-times tables into the measurement ladder: the brand's own history first (--history — ranked day×hour windows with sample sizes and minimum-sample floors; the only path to high confidence), dated population baselines second (stamped, capped at medium relative_strength, warn >180d, refuse >540d), with 2026 platform mechanics in every output (early-velocity seeding, TikTok least time-sensitive; per-recipient ESP STO beats any global window, 5-15% current lift). Consumers updated; a phantom --brand/--region flag documented in team-roles-framework fixed to the real interface. Suite: 269 → 281.

v3.23.0 — Capability-First Translation (August 12)

The localization cluster's four-vendor routing table and closed service enum are gone. language-router.py --action route now returns a capability kind + selection criteria per language family and resolves a concrete service only from the brand's recorded preference or live-discovered connected MCP servers (basis on every payload); nothing connected → an explicit resolution ladder (the harness's own multilingual capability with mandatory quality scoring → already-connected tools → ask and record). Free-form preferences mean a server no shipped list knows still resolves. New guards: test_language_router.py + test_vendor_neutrality.py (no commercial translation vendor on the instruction surface, ever again). Suite: 253 → 269.

v3.22.0 — The Routing Layer (August 12)

All 163 skill descriptions rewritten to the trigger-dense pattern (what it does and produces → "Triggers on" with ≥4 real user phrases, namespaced slash alias first → what it reads/pairs with; median ~720 chars of routing signal), written against each full SKILL.md so nothing is claimed that the skill does not deliver — the pass caught and corrected real overclaims in the old one-liners. tests/test_description_density.py guards the floor per skill and the median across the surface. Suite: 248 → 253.

v3.21.0 / v3.21.1 — The Flagship Contract (August 12)

Benchmark provenance across the whole doc surface: 28 skill docs carrying market-priced figures (CPMs, CPCs, CPLs, creator rates, tool prices) were live-verified against 2026 sources and banner-stamped with an as-of date that ages out in the test suite — stamps older than 15 months fail the build. New benchmark_book.py: market benchmarks enter only via a recorded lookup with a source URL; fresh quotes cleanly, aging warns, stale refuses (exit 3). The verification pass caught real rot: WhatsApp's per-conversation billing (retired July 2025) rewritten to per-message reality, TikTok TopView CPM corrected $50–$80 → $11–$19, Heepsy/Modash repriced. New machine-verified depth contract: skills-index.json publishes every skill's tier (E executes scripts / M measured via gates / G guided — currently 108/12/43) with drift + broken-reference + tier-floor guards. resolve_model.py --for-execution attaches basis + registry age to every resolution and refuses unknowns. /help --intent "<goal>" routes to gated skill chains. A new engagement capstone smoke test runs a synthetic brand through intake → benchmark record/quote → ROI math → campaign persistence and asserts the benchmark's source URL survives every joint. Suite: 212 → 248 tests. (v3.21.1, same day: index byte counts newline-normalized so the drift check compares content, never checkout line-ending config — caught by the verify-from-installed-copy ship step.)

v3.18.0 – v3.20.0 — The creator-craft wave (August 12)

Three releases in one day, quarried from a 17-skill creator-economy reference library. v3.18.0: four new strategy skills — /goal-filter (one goal per brand, honest ON/PARTIAL/OFF verdicts), /story-mine, /signal-mine (authority beats relevance), /lead-magnet-ideas (power×effort grading). v3.19.0: /video-packaging (title = keywords for the algorithm, thumbnail = tension for the human, never echo — checked word by word), discovery-intent tags, the payoff rule (no scene ends on setup), retention notes, and the standalone test with shipped cut-lists in content-repurpose (163 skills). v3.20.0: video ad scripting wired into the house quality machinery — organic-vs-ad detection with campaign-context inheritance, ad-format physics (6s bumper, 15s skippable where the 5-second skip button is the real deadline, 30s front-loaded arc, UGC-style as style not disclosure exemption), and every script routed through /check before delivery.

v3.17.1 — Registry reconciliation + anonymity guard (July 30)

Balanced/fast model aliases re-pointed to the current generation (claude-sonnet-5, gpt-5.6-terra, gpt-5.6-luna); GPT-5.5/5.4 family marked supported with replacement_ids targeting GPT-5.6; balanced-video tier added. New tests/test_source_anonymity.py machine-enforces the never-name-the-source-organization rule (needles assembled at runtime; verified to fire on a planted probe). Suite: 210 tests.

v3.17.0 — The Line-by-Line Audit (July 29)

Full-repo audit: 16 parallel readers covered 100% of the repo's files line-by-line, cross-checked against primary-source July-2026 facts and against the code itself. Highlights: every doc↔script contract verified (payload shapes, flags, thresholds, storage paths); dead products removed from recommendations; EU Code/Article 50 language moved fully to final-Code, post-deadline state; scripts hardened (trustworthy exit codes, atomic writes, real quality gates, input sanitization); reference-file indexes completed so all 169 reference docs are discoverable; self-containment guard now covers the entire repo. Suite: 209 tests.

v3.16.0 — July Market Refresh (July 12) Everything verified against primary sources on ship day. The final EU Code of Practice on Transparency of AI-Generated Content (10 June 2026) replaces all second-draft guidance in the compliance docs — standardized EU disclosure icons are live, the initial-signatory window closed 22 July 2026 (late signing remains possible), and the final Article 50 Guidelines are in (compliance-rules.md). The model registry adds the Claude 5 family (claude-fable-5 with refusal/fallback semantics, claude-opus-5 — the new latest-text-anthropic, claude-sonnet-5) and GPT-5.6 Sol/Terra/Luna (latest-text-openai → Sol), flags Opus 4.1's Aug 5 retirement, and is mirrored to the shared suite registry. Paid docs get the Meta v25 truth pass (standalone Advantage+ Shopping/App creation blocked via API — unified Advantage+ documented as the go-forward path; Page Viewer metric replaces legacy reach) plus Google Ads v25 breaking changes and LinkedIn 202607. gsc-ai-performance adds the Discover generative surfaces. README claims rotated to the current model lineup.

v3.15.1 — Self-containment patch (July 12) Removed every cross-plugin capability reference from the skill surface: ad-creative and the engagement's Part 11 hand visual production to your own tooling (design team, AI generators, or connected design platforms) instead of naming a sibling plugin; launch-campaign C2PA signing and checkpoint-resume route through DMP's own c2pa-metadata and /digital-marketing-pro:resume; validate-profile checks DMP's own publish dir ($DIGITAL_MARKETING_PRO_PUBLISH_DIR / ~/Documents/DigitalMarketingPro/); the EU compliance reference docs are DMP-centric. DMP is fully standalone — no other plugin is ever required for any documented capability. Cross-promo links in this README stay; capability delegation is gone.

v3.15.0 — Reliability & Truth (July 7) A full-repo audit (orchestration, agents, skills, scripts, docs/manifests) surfaced ~200 findings, all fixed in one pass. One shared workspace-root/slugify/atomic-write helper (_common.py) ends the storage split-brain; connectors are honestly opt-in (the shipped .mcp.json is empty, fictional npm packages purged, memory backends demoted to "only if connected"); all 18 execution skills carry a uniform ## Execution gate and flip to disable-model-invocation: false (closes issue #6); the Tessl workflow moves to the tessl review CLI + .github/tessl-rubric.yml (closes issue #8); competitor-intelligence merges into competitive-intel (25 → 24 agents); embed-c2pa.py gains the EU AI Act Article 50 --ai-disclosure assertion; and a new check_skill_contracts.py doc-vs-argparse linter + state-layer tests grow the suite 123 → 207 passing. Every fabricated capability, stale count, and phantom flag is fixed or labeled.

v3.14.1 — README sync + test-infra extension (June 28) Patch release fixing 4 stale references in this README that escaped the v3.14.0 ship: the Cowork badge anchor, the ## Supported surfaces heading, a second internal anchor, and the missing v3.13.1 + v3.14.0 entries in this very section. Plus extended tests/test_release_consistency.py to lock the Supported-surfaces heading to the canonical version + verify all anchor links to #supported-surfaces-v… match — so this drift class can never reach a release again. No runtime change.

v3.14.0 — June 2026 market-refresh sweep (June 28) Comprehensive ecosystem-change audit against primary vendor docs. Every claim verified against Anthropic / OpenAI / Google AI / Google Ads / EU Commission primary sources before any code change.

  • Meta Graph API bumped v20.0 → v24.0 in scripts/connector_resolver.py (4 callsites). All pre-v24 Meta Marketing API calls were scheduled to fail 2026-06-09 — our v20 hits would have started returning HTTP 400/410. Affected: campaigns / posts / feed / campaign-updates endpoints.
  • Model registry rebuilt to 47 entries verified against platform.claude.com, developers.openai.com, ai.google.dev/gemini-api/docs/deprecations. New active flagships: Claude Opus 4.8 (now Anthropic's recommended), GPT-5.5 family, gpt-image-2, Gemini 3.1 Pro Preview, Gemini 3.1 Flash-Lite, Veo 3.1 Preview, Nano Banana Pro (GA gemini-3-pro-image), Nano Banana 2 (GA gemini-3.1-flash-image with video-to-image). Newly deprecated: full GPT-5 family + o3 family (shutdown 2026-12-11), Gemini 2.5 family (shutdown 2026-10-16), Imagen 4 (2026-06-15). Newly retired and routed to replacements automatically: Gemini 2.0 family (shutdown 2026-06-01), Gemini 3 preview image variants (shutdown 2026-06-25), Veo 2.0/3.0/3.0-Fast (shutdown 2026-06-30).
  • Resolver now auto-rewrites retired model IDs to their replacement_id unconditionally (was previously only deprecated status). Means cached config pointing at dead model IDs gets routed to a working replacement instead of HTTP 404. New test test_retired_falls_forward_unconditionally covers this.
  • python scripts/resolve_model.py --check-params <file> scanner flags any Python file passing temperature / top_p / top_k near Claude Opus 4.7+ targets (those return HTTP 400). Pre-flight scan of all 3 plugins' scripts/*.py was clean.
  • 18 aliases re-pointed. latest-text-anthropic → claude-opus-4-8, latest-text-openai → gpt-5.5, latest-image-photoreal-google → gemini-3-pro-image (Imagen 4 was deprecated path), latest-video-google → veo-3.1-generate-preview, latest-image-google → gemini-3-pro-image (was retired preview ID).
  • Google Ads API v24.1 + v24.2 documented in skills/paid-advertising/google-ads.md. v24.1 added 4 new experiment types (ADOPT_AI_MAX, ADOPT_BROAD_MATCH_KEYWORDS, OPTIMIZE_ASSETS, PMAX_REPLACEMENT_SHOPPING) + mobile_device_platform segment. v24.2 added GENERATE_LANDING_PAGE_TEXT asset automation + first-class Local Services Ads (AssetGroup.google_local_services_info) + beta MultiPartyAuthReview for regulated verticals.
  • EU AI Act Code of Practice second-draft refresh in skills/context-engine/eu-code-of-practice.md. Section 1 (Providers) now consolidates around two-layered marking (secured metadata required + watermarking required); C2PA explicitly satisfies the metadata layer. Section 2 (Deployers) dropped the AI-generated-vs-AI-assisted taxonomy entirely in favor of design + placement requirements for icons/labels/disclaimers on deepfakes + text publications on matters of public interest. Added operational readiness checklist for 2026-08-02 Article 50 applicability date.
  • Google I/O 2026 additions: skills/aeo-audit/SKILL.md adds callout for Google Information Agents (AI Pro/Ultra subscriber feature launching summer 2026) as future 7th probe target alongside ChatGPT/Perplexity/AI Mode/AI Overviews/Gemini/Copilot. skills/local-seo/SKILL.md adds 2026 priority section for Google Agentic Booking expansion to local services / home repair / beauty / pet care with three opt-in requirements (GBP scheduling integration, AvailabilityFeed structured data, Service-catalog price transparency).
  • EvoLink vendor support added to model curator (via community PR merged during this release): multi-provider API gateway aggregating DeepSeek/Doubao/MiniMax through a single API key. 3 new aliases (latest-text-evolink, latest-balanced-evolink, latest-fast-evolink).
  • docs/MODEL-CURATOR.md refresh with current alias resolutions + new § "Parameter compatibility — Claude Opus 4.7 and later" explaining the HTTP 400 risk.

Test count: 114 → 120. Native platforms unchanged at 8.

v3.13.1 — Test infrastructure hardening + user-friendliness polish (June 9) Triggered by user push-back: "you have the testing infrastructure, so test everything properly and make sure everything works awesomely."

  • Tests expanded 70 → 114 with three new test modules: test_release_consistency.py (25 tests) catches version drift / README badge staleness / CHANGELOG out-of-sync / install commands going missing / critical sections going missing / broken anchor links; test_hermes_edge_cases.py (10 tests) for adapter resilience under bad ctx / None / SDK surface drift; plus assorted top-ups.
  • Troubleshooting section added to README covering common install issues for all 8 native platforms (Claude Code / Cowork / Codex / Cursor / Copilot CLI / Antigravity / Hermes / OpenClaw).
  • 5-minute non-developer install path added to README for marketers who don't want to read 60K of docs to get started.

v3.13.0 — Multi-harness expansion: native Hermes + OpenClaw + 40 Agent Skills platforms (June 9) Verified-real native manifests for two more agent harnesses, plus documented compatibility with 35 additional platforms via the Agent Skills open standard. Every claim verified against primary sources (the Hermes plugin docs at hermes-agent.nousresearch.com, the OpenClaw manifest spec at docs.openclaw.ai, the Agent Skills client showcase at agentskills.io).

  • Hermes Agent (Nous Research) — native plugin via plugin.yaml + __init__.py at repo root. The Python adapter walks our skills/ directory at register-time and exposes all 158 marketing skills to Hermes via ctx.register_skill(). Defensive coding throughout — no Hermes runtime dependencies; uses stdlib only; degrades gracefully if the Hermes API surface differs from spec. Tested against Hermes Desktop v0.15.2 (public preview June 2 2026). Install: hermes plugins install indranilbanerjee/digital-marketing-pro.
  • OpenClaw (formerly Clawdbot / Moltbot) — native manifest via openclaw.plugin.json at repo root. Points OpenClaw at ./skills for direct discovery. OpenClaw also auto-detects our existing .claude-plugin/plugin.json as a Claude-compatible bundle, so the native manifest is for first-class discoverability + ClawHub marketplace eligibility. Install: openclaw plugins install git:github.com/indranilbanerjee/digital-marketing-pro.
  • 40+ Agent Skills platforms documented — Goose (Block) · OpenHands · OpenCode · Junie (JetBrains) · Gemini CLI · Roo Code · Kiro · Amp · Letta · Mux (Coder) · Factory · Workshop · Tabnine · Mistral Vibe · Emdash · Superconductor · Ona · VT Code · Qodo · Piebald · Autohand Code CLI · pi · Command Code · TRAE (ByteDance) · Firebender · bub · fast-agent · nanobot (HKUDS) · Vita · Snowflake Cortex Code · Databricks Genie Code · Laravel Boost · Spring AI · Agentman · Google AI Edge Gallery. All read SKILL.md files from a directory tree — point any of them at our skills/ folder and 158 marketing skills are immediately discoverable.
  • 70-test stdlib suite (up from 49) — 21 new tests cover the Hermes adapter (plugin.yaml schema validation, __init__.py import smoke test, register(ctx) against mock context with all 163 skills, graceful degradation when ctx surface differs from spec) and the OpenClaw manifest (id + configSchema required, skills field points at ./skills, no hooks, no unexpected fields). Run with python tests/run_all.py.
  • Zero impact on existing platformsplugin.yaml, __init__.py, and openclaw.plugin.json are at the repo root but Claude Code only reads .claude-plugin/plugin.json, Cowork only reads the same path, Codex only reads .codex-plugin/, etc. Each platform reads its own manifest path and ignores the others — same pattern that's been working since v3.8.0 (May 2026). __init__.py is never executed by Claude Code (it doesn't auto-execute Python files). MCP auto-connects, hooks, skill descriptions — none change.

Skill count: 158 unchanged. Test count: 49 → 70. Native platforms: 6 → 8. Documented Agent Skills coverage: 6 → 41+.

v3.12.0 — Cowork persistence, fallback models, model-freshness, tests (June 8) Research-grounded hardening pass. Verified GitHub issue #51398${CLAUDE_PLUGIN_DATA} is NOT persistent across Anthropic Cowork sessions, contrary to the docs. Solution shipped:

  • New /digital-marketing-pro:cowork-setup skill + command. Detects the Cowork sandbox, verifies a Drive MCP, creates the canonical Drive folder layout (<root>/_brands/, _runs/, _plans/), and persists the routing config so brand profiles survive across sessions. Uses a Drive-routing pattern that's been battle-tested with agency users. Includes multi-team isolation via per-team folder names.
  • fallbackModel ready out of the box. settings.json.example ships with a 3-model resilience chain (Sonnet 4.7 → Sonnet 4.6 → Haiku 4.5) using the fallbackModel setting from Claude Code v2.1.152 (May 27 2026). When the primary model is overloaded or a non-retryable API error fires, Claude Code transparently swaps to the next model.
  • requiredMinimumVersion: 2.1.157 declared. Users on older Claude Code builds get a clear upgrade message instead of silent feature gaps. Landed in Claude Code v2.1.163 (June 4 2026).
  • Model-registry freshness check in /digital-marketing-pro:doctor. Wires resolve_model.registry_age_days() into the doctor output. Severity bands: ok (<60 days), warn (60-119), urgent (>=120). When stale, the doctor prints the exact refresh_models.py invocation. Directly addresses "what if a new model drops between releases."
  • Cowork+Drive routing status in /digital-marketing-pro:doctor. Reports urgent when Cowork is detected but cowork-setup hasn't run, so users see the brand-state-vanishes-at-session-end risk before it bites.
  • disable-model-invocation: true on 5 true side-effect commands (execute-action, cowork-setup, resume, check, output-folder). Removes their descriptions from the model's listing — saves the per-session description budget and prevents Claude from auto-running them on a hunch.
  • Fixed 3 "Read all" eager-load anti-patterns in growth-plan, client-validation-document, continuous-improvement-loop. Replaced with grep-first + targeted-Read patterns that respect the per-skill 5K-token auto-compaction budget.
  • Added Context efficiency callouts to 3 more top-heaviest skills (seo-plan, content-engine, analytics-insights) — now 16 of the top-16 heaviest skills have explicit context-efficiency guidance.
  • CI line-count guard (scripts/skill-line-check.py) keeps every SKILL.md under the documented 500-line guideline. Current state: heaviest is four-core-documents at 368 lines, all 163 skills under threshold.
  • Test suite (stdlib unittest, 49 tests) covering resolve_model.py, drive-sync-state.py, plugin-metadata.py, skill-line-check.py, connector_resolver.py. Drive-sync tests run against a tempdir HOME so they never touch the real ~/.claude-marketing/. Run with python tests/run_all.py.

Skill count: 157 → 158 (cowork-setup added). 192/192 skills still pass Codex [a-z0-9-]+ regex.

v3.10.0 — June 2026 platform refresh (June 4) Six discrete updates triggered by real platform changes April–early June 2026, every claim verified against primary sources:

  • New skill /digital-marketing-pro:gsc-ai-performance for the Google Search Console AI Performance Report rolled out 3 June 2026 (UK first, combined AI Overviews + AI Mode impressions/pages/countries/devices/dates, no click data, new in-Search-Console opt-out toggle). New scripts/gsc-ai-performance.py reads exported CSV; API path returns "not yet supported by Google" with a recheck date stamp.
  • New reference doc skills/context-engine/eu-code-of-practice.md for the EU Code of Practice on AI-generated content (page dated 22 May 2026, voluntary, WG1 providers + WG2 deployers, final code targeted May–June 2026, AI Act Article 50 applicable 2 August 2026).
  • aeo-geo + aeo-audit updated with Google's official position — no llms.txt needed, no AI-specific schema needed, standard Search eligibility = AI Features eligibility (AI Optimization Guide updated 15 May 2026). Plus Google-Extended directive, AI Overview → AI Mode follow-up flow, Personal Intelligence to ~200 countries / 98 languages, AI Information Agents for AI Pro/Ultra summer 2026.
  • c2pa-metadata — C2PA Content Credentials 2.3 (released 9 Feb 2026: live video, plain text, OGG Vorbis, large AVI, EXIF) + C2PA Spec 2.4 c2pa.ai-disclosure assertion (April 2026) for Article 50 deployer compliance.
  • paid-advertising + google-ads.md — Google Ads API v24 (22 April 2026) breaking changes: videos+logo_images mandatory in DemandGenVideoResponsiveAdInfo + VideoResponsiveAdInfo, Campaign.video_brand_safety_suitability moved to Customer level, CallAd/CallAdInfo removed. v23.1 added text_guidelines.term_exclusions + messaging_restrictions for AI-generated PMax/Search assets.
  • analytics-insights + attribution-report — GA4 added AI Assistant default channel group on 13 May 2026 (Medium=ai-assistant for ChatGPT/Gemini/Claude referral traffic).

Skill count: 153 → 154. 191/191 skills still pass Codex [a-z0-9-]+ regex.

v3.9.0 — Distribution & context-efficiency polish (May 27) Trimmed install-UI descriptions to ~150 chars across all 5 platform manifests + 4 marketplaces (was 600–2000 chars). Rewrote READMEs pain-first. Added platform-skill GitHub topics (cursor-plugin, copilot-cli-plugin, gemini-cli-extension, google-antigravity) for cross-platform discoverability. Inserted context-efficiency callouts in the 10 heaviest skills (grep-before-read, ${CLAUDE_PLUGIN_DATA} directory-list-before-open, offset+limit on partial reads).

v3.8.0 — Real native manifests for 5 surfaces (May 27) Ships verified-real manifests for OpenAI Codex (.codex-plugin/plugin.json per the published OpenAI schema), Google Antigravity 2.0 (gemini-extension.json at repo root per Google's gemini-cli-extensions/data-agent-kit-starter-pack reference), Cursor 2.5+ (.cursor-plugin/plugin.json per the verified Cursor JSON Schema), and GitHub Copilot CLI (.github/plugin/plugin.json; Copilot also recognizes .claude-plugin/plugin.json as documented fallback). Adds AGENTS.md at root (auto-loaded by Codex + Antigravity + Copilot CLI + Cursor). All 157 skills share via the Agent Skills open standard — no duplication.

v3.7.13 — Honest positioning (May 26) Removed the v3.6 / v3.7 era invented manifests for OpenAI Codex (.codex-plugin/), Cursor (.cursor-plugin/), GitHub Copilot CLI, and Google Antigravity 2.0 (.antigravity/). Research confirmed those manifests did not match the platforms' actual install specs (Antigravity uses gemini-extension.json at repo root; Codex schema we hand-rolled was invented). Supported surfaces are now accurately advertised as Claude Code + Cowork only. Multi-platform support is on the roadmap — research saved at memory/.

v3.5.0 — May 2026 content modernisation (May 24) — six discrete updates:

  1. Google AI Mode added as a 6th first-class AEO/GEO surface (default conversational search since Google I/O on 19 May 2026, ~1B MAUs, Gemini 3.5 Flash backbone). AI Mode vs AI Overviews citations diverge 40–60% on the same query — audit both. scripts/geo-tracker.py PLATFORMS list now includes ai-mode.
  2. May 2026 broad core algorithm update triage guidance — wait for rollout + 7–14 days settling before drawing conclusions; segment GSC data pre/in/post; Core Updates reweight existing signals, don't introduce new ones.
  3. EU AI Act Article 50 draft implementing guidelines (8 May 2026; consultation closes 3 June; final guidelines July; enforcement 2 August 2026) — six-row clarification table covering "substantial AI manipulation", "matters of public interest", C2PA as presumption-of-compliance, deepfake visible disclosure, editorial-responsibility carve-out conditions, plus a five-point action list for brands with EU exposure.
  4. Meta platform updates — Advantage+ Leads (global availability), Threads ads (global rollout, image-only), brand-safety inventory filters (Expanded/Moderate/Limited tiers with explicit reach cost).
  5. Gemini Omni + Nano Banana Pro + Veo 3.1 added to AI creative-brief skills with consistent C2PA-by-default and EU Article 50 disclosure clauses; influencer briefs ship with three explicit AI-tool clauses (permitted use, required platform disclosures, EU deepfake clause).
  6. Claude Code v2.1.149+ /usage per-model breakdown integrated into /digital-marketing-pro:agency-dashboard for brand-attributable AI cost tracking.

See CHANGELOG.md for the full release history.


How the SEO skills chain together

Most SEO work uses 3-5 skills in sequence rather than one mega-skill. The plugin is designed so that each skill produces numbered intermediate files (01-...md, 02-...md, …, PLAN.md) under ${CLAUDE_PLUGIN_DATA}/{brand}/seo/{workflow}/{date}/ — downstream skills read those numbered files, not the endpoint, so you can re-run any single step without redoing the whole chain.

Agency onboarding workflow (week 1 of a new client engagement):

1. /digital-marketing-pro:brand-setup
2. /digital-marketing-pro:competitor-analysis        ← picks the right competitors for everything downstream
3. Run all in parallel:
   /digital-marketing-pro:tech-seo-audit             ← baseline technical health
   /digital-marketing-pro:aeo-audit                  ← baseline AI visibility
   /digital-marketing-pro:backlink-gap               ← link prospects (needs competitors from step 2)
   /digital-marketing-pro:gsc-ai-performance         ← GSC AI Performance Report (3 Jun 2026)
4. /digital-marketing-pro:keyword-cluster            ← pillar+spokes architecture from aeo-audit content gaps
5. /digital-marketing-pro:seo-plan                   ← DISPATCHER — reads all of the above, scores 4 pillars,
                                                       the weakest pillar drives the lead theme of Q1's roadmap

Quarterly review workflow:

1. /digital-marketing-pro:gsc-ai-performance         ← fresh GSC AI export
2. /digital-marketing-pro:seo-drift                  ← compare this quarter vs last (auto-classifies gainers,
                                                       losers, reshuffles, new keys, lost keys)
3. Branch by finding:
   - High decline → /digital-marketing-pro:seo-audit + /digital-marketing-pro:content-decay-scan
   - High reshuffle → /digital-marketing-pro:aeo-geo (intent realignment)
   - High growth → /digital-marketing-pro:content-engine (amplification briefs)
4. /digital-marketing-pro:seo-plan                   ← re-run dispatcher with fresh inputs;
                                                       lead theme may shift to a different pillar

Content production workflow:

1. /digital-marketing-pro:keyword-cluster            ← from your seed list
2. /digital-marketing-pro:content-brief              ← per pillar from the cluster plan
3. /digital-marketing-pro:content-engine             ← drafts with brand voice + fact-check + humanize + SEO checklist
4. /digital-marketing-pro:check                      ← pre-publish gate (hallucination + brand voice + structure)
5. /digital-marketing-pro:publish-blog               ← push to CMS
6. /digital-marketing-pro:c2pa-metadata              ← if EU markets are targeted and AI images accompany

Backlink campaign workflow:

1. /digital-marketing-pro:competitor-analysis
2. /digital-marketing-pro:backlink-gap               ← gap-vs-competitors with link-prospect priority scoring
3. /digital-marketing-pro:digital-pr                 ← consumes the prospect shortlist + outreach templates
4. /digital-marketing-pro:pr-pitch                   ← drafts individual pitches per prospect

Each skill has a quality scorecard that must pass before its PLAN.md is declared ready, and every heavy skill carries a Tips & caveats section with the common pitfalls. The seo-plan dispatcher uses Confirm-Then-Dispatch — it never silently re-runs expensive specialists, always asking explicitly with cost estimate before fanning out.


Architecture — what's actually in the box

24 specialist agents

Marketing Strategist · Brand Guardian · Content Creator · Email Specialist · Social Media Manager · PR Outreach · SEO Specialist · CRO Specialist · Analytics Analyst · Marketing Scientist · Market Intelligence · Influencer Manager · CRM Manager · Growth Engineer · Journey Orchestrator · Agency Operations · Performance Monitor · Quality Assurance · Memory Manager · Execution Coordinator · Intelligence Curator · Localization Specialist · Media Buyer · Competitive Intel

Each agent has scoped responsibilities, explicit input/output contracts, and reads the Living Project Instruction File before acting.

163 skills

Skills are invoked by description match through the Skill tool, addressable as /digital-marketing-pro:<skill-name> from chat. Coverage: brand setup, content production (blog / ad / email / social / landing / video / PR / case study), SEO / AEO / GEO audits (6 platforms incl. Google AI Mode), competitor monitoring, campaign planning, channel-specific strategies, attribution, churn risk, lifecycle journeys, intelligence reports, eval framework, knowledge management, multi-brand operations, regional configuration, C2PA content provenance, Cowork+Drive team persistence.

18 top-level commands

CommandWhat it does
/digital-marketing-pro:brand-setupSet up a new brand profile (voice, audience, competitors, compliance)
/digital-marketing-pro:engagementRun the full 12-Part Strategy Flow
/digital-marketing-pro:campaign-planGenerate a multi-channel campaign plan with budget, timeline, KPIs
/digital-marketing-pro:seo-auditComprehensive SEO audit — technical, on-page, content, E-E-A-T, AI visibility
/digital-marketing-pro:content-engineDraft blog, ad copy, emails, social, landing pages, video scripts
/digital-marketing-pro:performance-reportPerformance report with trends, anomaly detection, recommendations
/digital-marketing-pro:competitor-analysisMulti-dimensional competitive analysis (content, SEO, ads, social, pricing)
/digital-marketing-pro:email-sequenceComplete email sequences (subject lines, copy, timing, segmentation)
/digital-marketing-pro:checkPre-publish quality gate (hallucination + brand voice + structure + claims)
/digital-marketing-pro:statusUnified brand snapshot (profile, engagements, insights, compliance)
/digital-marketing-pro:resumeResume an interrupted long workflow from the last checkpoint
/digital-marketing-pro:output-folderPrint + open the visible output folder for a brand
/digital-marketing-pro:doctorPer-action readiness diagnostic (which campaign-audit / launch-campaign actions are live vs need connector setup)
/digital-marketing-pro:execute-actionActually fire an action against its real API (stdlib urllib, no third-party deps). 8 verified connectors execute end-to-end; 25 OAuth-only connectors fall back to the MCP path with the manifest still returned.
/digital-marketing-pro:cowork-setup(v3.12.0) One-shot Cowork team setup — wires DMP through a Drive MCP so brand state survives across Cowork sessions
/digital-marketing-pro:keyword-clusterPillar + spokes content cluster from seed keywords with SERP-overlap clustering and 4-gate quality scorecard
/digital-marketing-pro:backlink-gapCompetitor backlink gap audit with priority scoring (DR + overlap + traffic + topical)
/digital-marketing-pro:seo-driftSnapshot-vs-snapshot drift with auto-classification (growth/decline/reshuffle/stable/new/lost)

Plus 140 additional skills addressable via /digital-marketing-pro:<skill-name>:competitor-monitor, :churn-risk, :autopilot-status, :agency-dashboard, :aeo-audit, :geo-monitor, :c2pa-metadata, :client-onboarding, :journey-design … see /digital-marketing-pro:help after install for the full list, or browse skills/ in the repo.

93 Python scripts (optional)

Plugin works fully without Python — all marketing knowledge, frameworks, agent capabilities, and skills work out of the box via the 169 reference knowledge files.

ModeSizeAdds
Knowledge-only (default)0 MBAll 163 skills + 24 agents + 169 reference files
Lite (pip install nltk textstat)~15 MBBrand-voice scoring, content quality scoring, readability analysis
Full (pip install -r scripts/requirements.txt)~50 MBCompetitor scraping, QR generation, AI visibility API checking, GEO tracking, C2PA signing

14 HTTP MCP connectors

Notion · Slack · Canva · Figma · HubSpot · Amplitude · Ahrefs · SimilarWeb · Klaviyo · Google Calendar · Gmail · Stripe · Asana · Webflow

These are an opt-in catalog — the shipped .mcp.json is empty ({"mcpServers":{}}), so nothing auto-connects; enable only the ones you need. All HTTP, all Cowork-compatible. For services without first-party HTTP MCPs (Google Sheets, Drive, Salesforce, etc.), see .mcp.json.connectors-reference for Pipedream / Composio / Zapier / Make.com aggregator paths.

For the extended stdio catalog (Google Ads, Meta Ads, GA4, GSC, Brevo, etc. via npx, Claude Code only — not Cowork-compatible; verify each npm package exists before use, npx runs remote code): cp .mcp.json.example .mcp.json. See CONNECTORS.md and Integrations Guide.


Resumable workflows + visible output folder (v3.7.7+)

Two user-team complaints from the v3.7.5 cycle drove this release: "dm pro is taking too long to process" (the 60-minute engagement that breaks midway loses 30+ minutes of work on restart) and the general "where did my 50 deliverable files save?" confusion (everything was landing under the Windows-hidden ~/.claude-marketing/ dotfolder).

Fix 1 — Resumable workflows. Every long-running DMP workflow now writes per-part checkpoints to disk so an interrupted session can resume from the next un-checkpointed part instead of restarting from Part 1. Covered workflows: engagement (12-Part Strategy Flow), campaign-plan, content-engine, seo-audit, competitor-analysis, campaign-audit (v3.7.5), launch-campaign (v3.7.5), plus a custom slot for any other long flow. Resume with:

/digital-marketing-pro:resume                              # auto-pick latest in-progress run
/digital-marketing-pro:resume engagement                   # filter to a workflow
/digital-marketing-pro:resume engagement <run-id>          # pick a specific run

Fix 2 — Visible output folder. Every artifact a workflow produces is now copied to TWO locations: the internal tracking copy under ~/.claude-marketing/{brand}/output/{workflow}/... (system-of-record), and a user-visible published copy under ~/Documents/DigitalMarketingPro/{brand}/{workflow}/{YYYY-MM}/{filename} (visible in Windows Explorer / macOS Finder by default). Override the visible root with DIGITAL_MARKETING_PRO_PUBLISH_DIR=/path (e.g. a Dropbox share for the team). Reveal the folder any time with:

/digital-marketing-pro:output-folder                       # opens ~/Documents/DigitalMarketingPro/{brand}/
/digital-marketing-pro:output-folder <brand> <workflow>    # drill down

Implementation: scripts/checkpoint-manager.py (per-step storage + atomic writes, stdlib only) + scripts/output-publisher.py (dual-copy publish + where + open subcommands: internal tracking copy + user-visible published copy). The engagement/checkpoint state machine ships tests in tests/test_engagement_state.py + tests/test_checkpoint_roundtrip.py; a fuller 5-scenario end-to-end simulation (clean 12-part run / interrupt-resume / parallel workflows / quality-gate fail / all-workflows-accepted) was used during development but is a dev tool, not shipped in the repo.


Connector-aware action resolver (v3.7.10+)

The campaign-audit and launch-campaign skills depend on 14 actions that map to real marketing APIs (Google Ads, Meta Marketing, LinkedIn, TikTok, HubSpot, Salesforce, Klaviyo, Mailchimp, Customer.io, Gmail, Cision, Muckrack, Slack, Google Calendar, Ahrefs, Similarweb, SEMrush, Google Search Console). v3.7.5–v3.7.7 shipped these actions as honest stubs that always returned status: stub_implementation regardless of which connectors the user had. v3.7.10 introduces a resolver that probes the live state and resolves each action to one of three modes per call:

modewhat it means
realruns end-to-end with no external API (currently only arm-watchdog which writes a watchdog config to ~/.claude-marketing/{brand}/watchdogs/)
manifest_readya matching connector is configured — the response includes the exact HTTP request manifest (method, URL, headers, body template, auth pattern) for the orchestrator (Claude via MCP) to execute. Write/launch ops set approval_required: true.
stub_unconfiguredno matching connector is configured — the response includes the manual fallback PLUS copy-paste .mcp.json snippet, env-var list, and a Cowork-compatibility note

Check what's live in your environment any time:

/digital-marketing-pro:doctor                              # full readiness table
/digital-marketing-pro:doctor --summary                    # one-line counts
/digital-marketing-pro:doctor --action inventory --channel google_ads  # drill in

Test coverage: the resolver's action layer ships tests in tests/test_connector_resolver.py. A fuller 27-scenario development harness (14 actions × unconfigured / configured / local-execution variants) was used while building this out, but it is a dev tool and is not shipped in the repo.

Implementation: scripts/_connector_registry.py (catalog of 33 connectors, 11 categories, is_connector_configured() probe) + scripts/connector_resolver.py (ACTION_SPECS map + per-action manifest builders + local executors) + scripts/action-doctor.py (the doctor command's underlying script).

v3.7.11 — actions can actually fire HTTP requests from Python

The v3.7.10 resolver returned a manifest of "what would be sent." v3.7.11 adds scripts/connector_executor.py (stdlib urllib.request, no third-party deps) that takes that manifest and actually executes the request against the real API. Public CLI: /digital-marketing-pro:execute-action.

Executes end-to-end from Python (8 connectors, verified vendor docs):

ConnectorEnv varWhat it can fire
SlackSLACK_BOT_TOKENPOST chat.postMessage (with body.ok post-check)
HubSpotHUBSPOT_PRIVATE_APP_TOKENGET /automation/v4/flows, POST /marketing/v3/campaigns
KlaviyoKLAVIYO_PRIVATE_KEYGET /api/flows, PATCH /api/flows/{id} (vnd.api+json)
SendGridSENDGRID_API_KEYPOST /v3/mail/send (202 success)
BrevoBREVO_API_KEYPOST /v3/smtp/email (lowercase api-key: header)
Customer.ioCUSTOMERIO_APP_API_KEYPOST /v1/send/email (App API key only)
MailchimpMAILCHIMP_API_KEYGET /3.0/automations (Basic auth, dc from suffix)
AhrefsAHREFS_API_KEYGET /v3/site-explorer/metrics

Requires the MCP path (25 OAuth-only connectors): Google Ads, Meta Marketing, LinkedIn Marketing, LinkedIn Publishing, TikTok Ads, Twitter/X, Gmail, Google Calendar, Google Analytics, Google Search Console, Meta Graph, Salesforce, Pipedrive, Zoho CRM, Buffer, Hootsuite, Cision, Muckrack, Amplitude, Similarweb, SEMrush, Moz, Intercom, Canva, Figma. For all of these, the resolver still returns manifest_ready so you can see the exact HTTP shape Claude's MCP tool will send — Python just can't execute the OAuth flow itself.

Safety gates: read ops auto-execute with --execute; write ops require both --execute --confirm; missing env vars block with setup_hint_credential; unresolved {VAR} placeholders block before the request fires. Every fired call logs to ~/.claude-marketing/{brand}/executions/.

Test coverage: end-to-end HTTP send-and-receive for the 8 connectors (Slack body.ok post-check, Klaviyo vnd.api+json, Brevo lowercase header, Mailchimp Basic, plus the safety gates and data substitution) was validated during development against a stdlib http.server mock. That mock harness is a dev tool and is not shipped in the repo; the shipped suite covers the resolver layer via tests/test_connector_resolver.py.


Model curator — no hardcoded model ids (v3.7.4+)

Frontier models change every ~6 weeks. Hardcoding claude-sonnet-4-5-20250929 or gemini-2.0-flash across dozens of scripts means a provider deprecation silently 404s, the user blames the plugin, and the maintainer has to grep three repos. So we don't hardcode.

  • scripts/model_registry.json — single source of truth for every model id used by the plugin, with vendor, tier, modality, status, and replacement_id for deprecated entries.
  • scripts/resolve_model.py — Python module + CLI. Resolves human aliases (latest-balanced-anthropic, latest-fast-anthropic, latest-text-openai, latest-vision-google, latest-image-google, latest-video-google) to concrete ids at call time. Deprecated ids passed via --model auto-fall-forward to their replacement (with a stderr warning).
  • scripts/refresh_models.py — polls Anthropic / OpenAI / Google / Evolink list endpoints with your API keys and reports drift versus the registry (NEW models in the provider catalog, STALE models in the registry).

Every script that calls a provider model now accepts --model (or --openai-model / --anthropic-model for scripts/ai-visibility-checker.py) and the value is validated against the registry. See docs/MODEL-CURATOR.md for the full alias map, curation policy, and worked examples.

python scripts/resolve_model.py --alias latest-balanced-anthropic    # -> claude-sonnet-4-6
python scripts/resolve_model.py --check gemini-2.0-flash              # -> retired (auto-routes to gemini-3.5-flash)
python scripts/resolve_model.py --list --vendor anthropic --status current
python scripts/refresh_models.py                                      # drift report (needs API keys)

Compliance — 16 jurisdictions, EU AI Act Article 50 ready

DM Pro carries jurisdiction-specific compliance rules that auto-apply when a brand declares its target markets. Coverage:

🇪🇺 EU (GDPR + AI Act Article 50) · 🇺🇸 US Federal (CAN-SPAM) · 🇺🇸 California (CCPA/CPRA) · US 20+ state privacy laws · 🇨🇦 Canada (CASL + PIPEDA) · 🇧🇷 Brazil (LGPD) · 🇬🇧 UK (UK GDPR + PECR) · 🇦🇺 Australia (Privacy Act + Spam Act) · 🇸🇬 Singapore (PDPA) · 🇨🇳 China (PIPL) · 🇮🇳 India (DPDPA) · 🇯🇵 Japan (APPI) · 🇰🇷 South Korea (PIPA) · 🇸🇦 Saudi Arabia (PDPL) · 🇦🇪 UAE (Federal Decree-Law No. 45) · 🇹🇭 Thailand (PDPA)

EU AI Act Article 50 readiness (applicable 2 August 2026):

  • C2PA content-provenance signing via /digital-marketing-pro:c2pa-metadata (end-to-end tested against c2pa-python 0.32 — 75-byte test PNG → 42,818-byte signed PN

常见问题

What is digital-marketing-pro?

digital-marketing-pro is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by indranilbanerjee. An open-source AI marketing operating system for strategy, SEO, AEO/GEO, paid media, content, CRM, and analytics - grounded in brand context, human approval, and verifiable outputs. It has 764 GitHub stars.

Is digital-marketing-pro safe to use?

Yes. digital-marketing-pro passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install digital-marketing-pro?

Clone the repository with "git clone https://github.com/indranilbanerjee/digital-marketing-pro" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is digital-marketing-pro written in?

digital-marketing-pro is primarily written in Python. It is open-source under indranilbanerjee on GitHub, so you can review or fork the full source.

Are there alternatives to digital-marketing-pro?

Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh digital-marketing-pro against similar tools.

评论 (0)

暂无评论,成为第一个分享想法的人!

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情

claude-code

by anthropics

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

120,03119,897Shell
AI 智能体
查看详情

开发者还喜欢

基于喜欢此 Skill 的开发者投票和收藏

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情