TikTok Shop Video Generator
只需一次点击,即可将任何病毒式 TikTok 视频转换为您自家产品的广告。适用于 TikTok Shop 卖家和联盟伙伴——无需拍摄、无需剪辑。免费试用。
AI 翻译
Indranil Neel Banerjee — 战略家、建设者、运营者和教师,活跃于可信AI、营销工程、数字运营和知识系统领域。
AI 翻译
Indranil Neel Banerjee — strategist, builder, operator, and teacher working across trustworthy AI, marketing engineering, digital operations, and knowledge systems.
营销Python · ShellGitHub @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.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
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?查看完整 README ↗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 about an hour per brand on a top-tier model (measured in 2026; your model and plan change the time). 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 — 164 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, OpenClaw, and Grok + 35+ Agent Skills platforms. Created by Indranil Banerjee · LinkedIn · X.
🆕 Just shipped — v3.41.0 (October 29, 2026): a client deliverable can get a zero-context review before the client reads it; a report shows what AI crawlers actually did on your site, checked against the addresses each vendor publishes; new ad products wait on a dated watch list until their page is read; and TikTok's own reference settles its caption limit. What's new · Changelog
# Install — one command (Claude Code 2.1.292 or newer)
claude plugin install digital-marketing-pro --marketplace indranilbanerjee/neels-plugins
Older Claude Code, or inside a session: /plugin marketplace add indranilbanerjee/neels-plugins, then /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.
Every brand runs the same 12 parts in the same order; Part 5 is the one stop where the client validates. Details: The 12-Part Engagement Methodology.
Install, then ask in plain words. Each of these kinds of request reached the right skill in our trigger tests.
| You type | What happens |
|---|---|
| "set up a new brand" | The brand profile every skill reads: voice, audience, compliance |
| "build the Q3 campaign plan" | A multi-channel plan: objectives, channel mix, budget, timeline, KPIs |
| "why did our traffic drop" | A site-wide SEO audit ranked into a PLAN.md: technical, content, links, local |
| "how do we stack up against X" | A one-off analysis of 2-5 competitors: positioning, content, SEO, ads, pricing |
| "check this before we publish" | The scored pre-publish gate: claims, brand voice, compliance; plus an AI-tell scan |
| "how many visitors per variant" | An A/B test plan computed by script: sample size, days to run, stopping rules |
/digital-marketing-pro:execute-action) fire only against a single-use approval record for that exact request: the script prepares the record with a preview of the request, the skill approves it after you type yes, and the request must match it byte for byte within 15 minutes. The record proves the approval step ran for this request, once; it cannot prove who typed yes, because the agent runs every command.yes gate and your host's permission prompt.connector_executor.py --execute and MCP write tools out of your host's command allowlist so it asks you every time; bypass or auto-approve modes remove that check.yes (or a standing rule you approved). Writes it sends itself also need the single-use approval record above./usage in Claude Code shows per-model consumption.yes first.Are you a marketer, agency owner, or content lead who doesn't live in a terminal? Here's the fastest path:
indranilbanerjee/neels-pluginsThat's it. You never touched a command line. Your team Drive will hold the outputs. Re-open Cowork tomorrow and pick up where you left off.
If you're more technical, see Quick start below for the Claude Code CLI install (one terminal command).
For team usage (agencies running 50+ brands), also run /digital-marketing-pro:cowork-setup once so brand state persists across Cowork sessions via your team's Google Drive.
One command from your terminal (Claude Code 2.1.292 or newer; it adds the marketplace if needed):
claude plugin install digital-marketing-pro --marketplace indranilbanerjee/neels-plugins
Older Claude Code, or inside a session, takes two steps:
/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.
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 /plugin → Marketplaces tab → find neels-plugins → toggle Enable auto-update. Done — future releases pull at session start; /reload-plugins applies mid-session without restart.
/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.
/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
~/.claude-marketing/brands/<brand-slug>/
├── profile.json ← brand voice, audience, guardrails, jurisdictions
├── insights.json ← cross-engagement learnings
└── engagements/
└── <engagement-id>/
├── _engagement.json ← state: current part, completed parts, change log
├── living-instruction-file.md ← Living Project Instruction File
├── part-01-client-inputs/ ← Part 1 Stone-vs-Opinion intake
├── part-02-external-research/ ← Part 2 external market research
├── part-03-four-core-documents/ ← Part 3 Four Core Documents (61 steps), v1/ and v2/
├── part-04-competitive-customer-market/ ← Part 4 analyses, v1/ and v2/
├── part-05-client-validation/ ← Part 5 Client Validation Document
├── part-06-v2-reruns/ ← Part 6 selective v2 re-runs
├── part-07-preparation/ ← Part 7 internal operating layer
├── part-08-growth-plan/ ← Part 8 Growth Plan + Yearly Planner
├── part-09-channel-strategy/ ← Part 9 channel-strategy fan-out
├── part-10-execution-artefacts/ ← Part 10 ad copy / post copy / headlines / CTAs
├── part-11-ai-creative-instructions/ ← Part 11 AI creative instructions
└── part-12-continuous-improvement/ ← Part 12 continuous improvement loop
The workspace is ~/.claude-marketing/ unless CLAUDE_MARKETING_HOME or your host's plugin data folder says otherwise; user-facing deliverables are also copied to ~/Documents/DigitalMarketingPro/ (/digital-marketing-pro:output-folder opens it).
See the Multi-Brand & Agency Guide for the multi-client switching workflow.
| If you're a... | Run this | What you get |
|---|---|---|
| 🏢 Marketing agency managing 50–200 brands | /digital-marketing-pro:engagement per brand, then /digital-marketing-pro:cowork-setup for team Drive persistence | Same 12-Part Strategy Flow audited across every brand. Portfolio health and budget pacing per brand via :agency-dashboard (it adds an AI-cost line only from a /usage output you paste; it cannot read usage itself). |
| 👔 In-house marketing team (B2B SaaS · e-commerce · fintech · healthtech) | /digital-marketing-pro:engagement once to anchor strategy, then :content-engine + :campaign-plan for ongoing work | A single canonical strategy doc, monthly stakeholder reports via :performance-report, content + campaigns that tie back to the strategy instead of drifting. |
| 🚀 Marketing automation builder (n8n · Zapier · Make · Pipedream · custom) | /digital-marketing-pro:doctor to see what's wired, :execute-action to fire real API calls | 8 verified HTTP connectors executing end-to-end (Slack · HubSpot · Klaviyo · SendGrid · Brevo · Customer.io · Mailchimp · Ahrefs); 28 OAuth connectors via MCP manifest. Stdlib only, no third-party deps. |
| 💼 Solo consultant or freelance marketer | /digital-marketing-pro:engagement per client | Same depth on every project. Installs on Codex / Cursor / Copilot CLI / Antigravity if you don't live in Claude. |
| 📈 Growth team / product marketer | :funnel-architect → :analytics-insights → :attribution-model → :churn-risk → :cohort-analysis | Journey design + measurement + retention + churn — all aligned to the strategy document, not isolated outputs. MMM + incrementality testing baked in. |
| 🛡 Compliance-led marketer (EU · UK · India · Brazil · California) | /digital-marketing-pro:check before publishing anything | C2PA content provenance, EU AI Act Article 50 disclosure, GDPR + CCPA + DPDPA + LGPD across 16 jurisdictions, deepfake disclosure clauses on every AI creative brief. |
Other marketing plugins exist, including Anthropic's own marketing plugin and community SEO skill sets, and each is good at what it covers. What sets Digital Marketing Pro apart:
| Digital Marketing Pro | |
|---|---|
| Scope | 164 skills and 24 specialist agents across strategy, SEO/AEO/GEO, paid media, email, CRM and analytics |
| A methodology | 12-Part Strategy Flow (61 explicit steps) producing the Four Core Documents |
| Agencies | Per-brand state, brand switching and an agency dashboard |
| Compliance | EU AI Act Article 50 (C2PA + AI disclosure) and 16 privacy jurisdictions |
| Teams on Cowork | Persistence through a Drive MCP |
| Real API execution | 8 connectors live, 28 manifest-ready for the MCP path |
| AEO / GEO | A 6-platform audit, including Google AI Mode |
| Where it runs | 9 native hosts: Claude Code, Cowork, Codex, Cursor, Copilot CLI, Antigravity, Hermes, OpenClaw, Grok |
| Live-write safety | Single-use approval record for writes it sends itself; MCP writes: typed yes + host prompt |
| Tests | 1063 stdlib unittest tests |
| License | MIT: no telemetry, no seats |
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 164 skills, 24 agents, 2026 compliance updates, Cowork persistence — exists to make that 12-Part Flow ship cleanly across real marketing operations.
| What this gives you that ad-hoc prompts don't | Why it matters |
|---|---|
| Canonical 12-Part Strategy Flow producing the Four Core Documents (61 explicit steps) | Every engagement looks the same, so handoffs work and quality is auditable |
| Two-Views Model (v1 unbiased + v2 client-validated) | You never lose the original market view when the client pushes back |
| Decision Matrix — maps validation responses to re-runs | Stops over-running (wasted hours) and under-running (broken strategy) |
| Living Project Instruction File — single source of truth per engagement | All skills read it first; corrections propagate automatically |
| EU AI Act Article 50 compliance built in | C2PA 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) | Treats AI Mode as a distinct surface from AI Overviews |
Run /digital-marketing-pro:engagement and the plugin produces a full brand-strategy engagement in roughly 60 minutes on a top-tier model (measured on Opus 4.8) — ~50–60 canonical files organized by part:
Cost: the plugin is MIT-licensed and free. A full 12-part engagement writes about 50–60 documents, so it uses a lot of model tokens: on a subscription that counts against your plan's usage limits, and only pay-as-you-go API-key users are billed per token (What it costs).
/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/<id>/part-03-four-core-documents/v1/*.md # pre-publish gate before client review
Output: ~50–60 canonical files. Time saved: ~3 weeks of senior-strategist labor.
/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.
/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
/digital-marketing-pro:doctor # which actions are live vs need connector setup
/digital-marketing-pro:execute-action --action diagnostic --brand acme --execute # GA4 + GSC tag/consent check (MCP path: returns the manifest)
/digital-marketing-pro:execute-action --action audit-current --brand acme --execute # current SEO state (Ahrefs over HTTP; GSC via MCP)
/digital-marketing-pro:execute-action --action enable-automation --brand acme --execute # email automation flow: prepares a preview + approval record
# after you type yes: approval-manager.py --brand acme --action approve --id <id>, then re-run with --approval-id <id>
Output: HTTP calls for the 8 executable connectors (Slack, HubSpot, Klaviyo, SendGrid, Brevo, Customer.io, Mailchimp, Ahrefs), MCP manifests for the rest; each write fires against a single-use approval record for that exact request and is logged at ~/.claude-marketing/brands/{brand}/executions/. See Safety and approvals.
/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
/digital-marketing-pro:ad-creative # ad concepts + copy with EU/FTC disclosure clauses
/digital-marketing-pro:influencer-creator # FTC + EU deepfake clauses baked in
| Platform | Install command | Manifest path | Status |
|---|---|---|---|
| Claude Code CLI + IDE extensions | claude plugin install digital-marketing-pro --marketplace indranilbanerjee/neels-plugins (2.1.292+), or /plugin marketplace add indranilbanerjee/neels-plugins then /plugin install digital-marketing-pro@neels-plugins | .claude-plugin/plugin.json | Full support (canonical) |
| Anthropic Cowork | Plugins UI → Add marketplace → indranilbanerjee/neels-plugins → Install | same .claude-plugin/ files | Full support — no /plugin slash commands in Cowork (UI-only) |
| OpenAI Codex CLI + IDE + App | codex plugin marketplace add indranilbanerjee/neels-plugins then codex plugin add 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 CLI | copilot 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); skills run as /skill-name or by natural language |
| Google Antigravity 2.0 CLI + IDE | agy plugin install https://github.com/indranilbanerjee/digital-marketing-pro | gemini-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 / Linux |
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 164 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.
Recommended Claude Code version: current. Claude Code has no plugin-level minimum-version field — requiredMinimumVersion is a managed setting that pins the host version for everyone, so a plugin cannot enforce it (DMP declared it in plugin.json from v3.12.0 to v3.31.1, where Claude Code silently stripped it; corrected in v3.32.0). Teams that want a floor set it in their own settings.json — see settings.json.example.
Beyond the 9 surfaces above where we ship a native manifest, DMP's 164 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, copy our skill folders (the folders inside skills/) into the folder it reads and all 164 marketing skills are discoverable. No platform-specific manifest needed.
Platforms that have adopted the Agent Skills standard. Where a row gives an install hint, it was checked against that tool's own documentation in October 2026; most of these tools read skills from a folder, so the hint names the folder to copy the skill folders into:
| Platform | Vendor | Install hint |
|---|---|---|
| Goose | Block (Square) | Copy the skill folders into ~/.agents/skills/ (all projects) or .agents/skills/ (one project) · docs |
| OpenHands | Open Hands (cloud agents) | Copy the skill folders into the project's .agents/skills/ · docs |
| OpenCode | sst | Copy the skill folders into .opencode/skills/ (project) or ~/.config/opencode/skills/ (global); .agents/skills/ and .claude/skills/ are read too · docs |
| Junie | JetBrains | Copy the skill folders into .junie/skills/ (project) or ~/.junie/skills/; Junie CLI also reads .agents/skills/ in a trusted project, and /skills re-scans · docs |
| Gemini CLI | Copy the skill folders into ~/.gemini/skills/ (or ~/.agents/skills/) for all projects, or .gemini/skills/ for one · docs | |
| Roo Code | Roo Code Inc. |
Quick test on any of these platforms:
# 1. Clone the repository
git clone --depth=1 https://github.com/indranilbanerjee/digital-marketing-pro.git
# 2. Copy the folders inside ./digital-marketing-pro/skills/ into your tool's skills folder (see the table above)
# 3. Try: "Run a competitor analysis on stripe.com"
# Your agent should pick the competitor-analysis skill.
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.
| Part | Name | Output |
|---|---|---|
| 1 | Client Inputs | Stone vs Opinion intake (what client knows for certain vs what they believe) |
| 2 | External Research | Unbiased market research (no client docs used) |
| 3 | Four Core Documents | 61 explicit steps — Business & SBU (18), Segmentation (15), Brand Positioning (19), DMFlow (9) |
| 4 | Competitive + Customer + Market | 4 unbiased analysis documents (4.1–4.4) |
| 5 | Client Validation Document | The one true stop — client accepts/rejects/edits each finding |
| 6 | Selective v2 Re-runs | Subset of Part 3 + Part 4 docs re-run per the Decision Matrix |
| 7 | Preparation Documents | Internal operating layer (campaign architecture, KPI tree, content pillars, asset inventory, approval chains) |
| 8 | Growth Plan + Yearly Planner | The flagship 11-section client-facing strategy + 12-month operational calendar |
| 9 | Channel Strategy Fan-out | Up to 17 channel docs grouped into 7 families |
| 10 | Execution Artefacts | Ad copy, post copy, headlines, CTAs |
| 11 | AI Creative Instructions | Visual asset briefs with C2PA + EU Article 50 clauses |
| 12 | Continuous Improvement Loop | Quarterly briefs feeding signals back into product/offering decisions |
Key architectural concepts:
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).
Whoever writes a plan reads past what it assumes; the client doesn't. /digital-marketing-pro:check --goldfish packs the deliverable, its brief and the brand profile into one file and nothing else, flags any money figure the brief never states and any benchmark rate with no source, and gives a reviewer a prompt that names only that file. Client proposals, reports, plans and summaries now end with that step. The agent-readiness audit can also read the site's own access logs: crawler-log-report.py counts what the OpenAI, Anthropic, Perplexity, Google, Microsoft and Apple crawlers fetched, and checks each request against the addresses the vendor publishes, so a fake GPTBot shows up as spoofed. The logs never leave your machine, and the report prints no full IP address. New ad products (Meta's Andromeda, Google's campaign total budgets and AI Brief, TikTok's October announcements, X's ad-text rules and more) sit on a dated watch list that says whether each was read at its source or only reported, so a plan doesn't budget for something that isn't live. TikTok's developer reference settles the caption: 2,200 characters for a video; the 4,000 quoted elsewhere is a photo post's description. 1063 tests.
Outside audits and customer-journey tests on an installed copy of 3.39.1 found real problems, and this release fixes them. A Mailchimp key with a crafted ending could send itself to another host; now every connector key goes only to its own vendor, and no key, whether a connector's or a model provider's, follows a redirect. Creating a brand that already existed replaced its profile with a blank one, and brand names in Hindi, Chinese or emoji all shared one folder; both are now refused or kept apart, and no file a skill writes can land outside its brand. The quality gate never applied a brand's own settings; it does now, and it blocks a draft with a critical issue. Audits end with how you'll know each recommendation worked (a metric, a direction and a date), and the continuous-improvement loop checks them when they fall due. connector-status.py --action probe proves a key works with one read-only request. AI-visibility numbers come with their formula, and social-platform limits now live in one sourced file. Platform facts were re-read at their source: Instagram's 5-hashtag cap, Google Ads' data-driven default, Privacy Sandbox's retirement, YouTube's Shorts and monetisation rules, New York's synthetic-performer law and more. Some behaviours are stricter, so read the upgrade guide before you upgrade a wrapper. 1027 tests.
When the model router can't reach a provider's live list, it checks a model you name against what ships with the plugin. Until now that meant only the model registry, not the deprecations page record that sits right beside it. So, offline, a model the vendor's page retires could slip through: OpenAI's o3, which isn't in the registry, or a Google model switched off in June. A model whose requests Google now hands to a newer one got no word about it either. The router now checks both and acts on the stricter, saying which one it followed. A plugin calling Google through Vertex AI, which retires models on its own timetable, can say the record doesn't apply. A provider list cut off at the page limit is now refused rather than used short, since a short list would make a model look withdrawn. 882 tests.
Older releases are in CHANGELOG.md.
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.
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.
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.
Every skill answers to /digital-marketing-pro:<skill-name>. Five more are standalone commands with no same-named skill: engagement, resume, output-folder, doctor and execute-action. v3.33.0 folded every command that duplicated a same-named skill into that skill, so those slash names work exactly as before and each now loads once instead of twice. The most-used:
| Slash name | What it does |
|---|---|
/digital-marketing-pro:brand-setup | Set up a new brand profile (voice, audience, competitors, compliance) |
/digital-marketing-pro:engagement | Run the full 12-Part Strategy Flow |
/digital-marketing-pro:campaign-plan | Generate a multi-channel campaign plan with budget, timeline, KPIs |
/digital-marketing-pro:seo-audit | Comprehensive SEO audit — technical, on-page, content, E-E-A-T, AI visibility |
/digital-marketing-pro:content-engine | Draft blog, ad copy, emails, social, landing pages, video scripts |
/digital-marketing-pro:performance-report | Performance report with trends, anomaly detection, recommendations |
/digital-marketing-pro:competitor-analysis | Multi-dimensional competitive analysis (content, SEO, ads, social, pricing) |
/digital-marketing-pro:email-sequence | Complete email sequences (subject lines, copy, timing, segmentation) |
/digital-marketing-pro:check | Pre-publish quality gate (hallucination + brand voice + structure + claims) |
/digital-marketing-pro:status | Unified brand snapshot (profile, engagements, insights, compliance) |
/digital-marketing-pro:resume | Resume an interrupted long workflow from the last checkpoint |
/digital-marketing-pro:output-folder | Print + open the visible output folder for a brand |
/digital-marketing-pro:doctor | Per-action readiness diagnostic (which campaign-audit / launch-campaign actions are live vs need connector setup) |
/digital-marketing-pro:execute-action | Actually fire an action against its real API (stdlib urllib, no third-party deps). 8 verified connectors execute end-to-end; 28 OAuth-only or MCP-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-cluster |
Every other skill works the same way — :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.
Plugin works fully without Python — all marketing knowledge, frameworks, agent capabilities, and skills work out of the box via the 178 reference knowledge files.
| Mode | Size | Adds |
|---|---|---|
| Knowledge-only (default) | 0 MB | All 164 skills + 24 agents + 178 reference files |
Lite (python scripts/setup.py --install lite) | ~15 MB | Brand-voice scoring, content quality scoring, readability analysis |
Full (python -m pip install -r scripts/requirements.txt, exact pins) | ~50 MB | Competitor scraping, QR generation, AI visibility API checking, GEO tracking, C2PA signing |
Ready-to-copy entries in .mcp.json.connectors-reference: first-party servers such as Notion · Slack · Canva · Figma · HubSpot · Amplitude · Ahrefs · SimilarWeb · Klaviyo · Google Calendar · Gmail · Stripe · Asana · Webflow, plus official ad-platform, image and video, and aggregator MCPs. .mcp.json.example adds 3 vendor npx entries.
These are an opt-in catalog — no .mcp.json ships (it is gitignored), 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.
Connector setup offers only vendor-verified, version-pinned packages: .mcp.json.example has runnable npx entries only for packages the vendor itself publishes on npm (Pinecone, DataForSEO, DeepL), pinned to an exact version and checked weekly against the npm registry. Every other service uses the vendor's hosted HTTP server or is set up from the vendor's own docs; DMP prints no npx command for it. See CONNECTORS.md and Integrations Guide.
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/brands/{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; on Windows the script uses the Documents folder Explorer shows, including one OneDrive has moved). 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.
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:
| mode | what it means |
|---|---|
real | runs end-to-end with no external API (currently only arm-watchdog which writes a watchdog config to ~/.claude-marketing/brands/{brand}/watchdogs/) |
manifest_ready | a 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_unconfigured | no 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 36 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).
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):
| Connector | Env var | What it can fire |
|---|---|---|
| Slack | SLACK_BOT_TOKEN | POST chat.postMessage (with body.ok post-check) |
| HubSpot | HUBSPOT_PRIVATE_APP_TOKEN | GET /automation/v4/flows, POST /marketing/v3/campaigns |
| Klaviyo | KLAVIYO_PRIVATE_KEY | GET /api/flows, PATCH /api/flows/{id} (vnd.api+json) |
| SendGrid | SENDGRID_API_KEY | POST /v3/mail/send (202 success) |
| Brevo | BREVO_API_KEY | GET /v3/emailCampaigns (read only, lowercase api-key: header; sends go through the Brevo MCP) |
| Customer.io | CUSTOMERIO_APP_API_KEY | GET /v1/campaigns (read only; sends go through the Customer.io MCP) |
| Mailchimp | MAILCHIMP_API_KEY | GET /3.0/automations (Basic auth, dc from suffix) |
| Ahrefs | AHREFS_API_KEY | GET /v3/site-explorer/metrics |
Requires the MCP path (28 OAuth-only or MCP-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, plus the official ad-platform MCP servers Meta Ads AI Connectors, Google Ads MCP (read-only) and Amazon Ads MCP. 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 (updated in v3.35.0): read ops auto-execute with --execute; write ops need a matching approved, single-use approval record (--approval-id), see Safety and approvals; missing env vars block with setup_hint_credential; unresolved {VAR} placeholders block before the request fires. Every fired call logs to ~/.claude-marketing/brands/{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.
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 (every page; each key only in its provider's request header) and reports drift versus the registry (NEW models in the provider catalog, STALE models in the registry).latest-tts-* and latest-stt-* (OpenAI, ElevenLabs, Sarvam) can't be discovered, because no list endpoint tells a speech model from a chat model. Each entry carries pinned_on and pin_expires, and the weekly dated check fails once a pin expires.scripts/sync_model_registry.sh — copies the registry into the sibling plugins as a mirror: the canonical file minus the marketing-only model families. --check reports entries a copy is missing and entries upstream has dropped.scripts/model_router.py (first job: both legs of scripts/ai-visibility-checker.py) — picks the model from the provider's own live list instead of the registry: the newest current, generally available model in the job's line (Anthropic) or family (OpenAI, Google) from scripts/model_hints.json, at least 14 days old. A model asked for by name is kept if current, kept with a warning if deprecated, and refused if retired. One list call per provider per 7 days per key name; MODEL_ROUTER_OFFLINE=1 uses the registry aliases instead. The Google adapter has no DMP job yet; docs/MODEL-CURATOR.md explains why it ships here.The one script that calls a model provider itself, scripts/ai-visibility-checker.py, takes --openai-model / --anthropic-model to ask for a model by name; both are routed as above. 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-5-5
python scripts/resolve_model.py --check gpt-4o # -> deprecated (shutdown 2027-01-14; falls forward to gpt-6-luna)
python scripts/resolve_model.py --list --vendor anthropic --status current
python scripts/refresh_models.py # drift report (needs API keys)
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 (has applied since 2 August 2026; generative systems that existed before then have until 2 December 2026 to mark their output under Article 50(2)):
/digital-marketing-pro:c2pa-metadata (end-to-end tested against c2pa-python 0.32 — 75-byte test PNG → 42,818-byte signed PNG with manifest_embedded_and_verified=true)/digital-marketing-pro:check) treats missing C2PA on AI-flagged assets in EU campaigns as CRITICAL → BLOCKEDcompliance-rules.md §1.1b.i with six-row clarification table + five-point action listdocs/c2pa-production-cert-guide.md covers the four CAI-recognised authorities (Adobe Content Credentials, Truepic, Numbers Protocol, Microsoft Azure Confidential Ledger)Other regulatory updates baked in:
The search landscape pivoted hard in 2025–2026:
DM Pro's AEO/GEO skills (/digital-marketing-pro:aeo-audit, :geo-monitor, :entity-audit) reflect this:
/digital-marketing-pro:performance-reportskills/context-engine/platform-specs.md). Gmail and Yahoo require authentication (DMARC at least p=none), one-click unsubscribe for bulk senders, and a spam rate under 0.3% (0.1% recommended) (Gmail sender guidelines, support.google.com/a/answer/81126, and Yahoo's sender best practices, senders.yahooinc.com, read 2026-10-27); Gmail has ramped up enforcement since November 2025, with temporary and then permanent rejections. Outlook.com sends non-compliant mail from senders of over 5,000 a day to junk since 5 May 2025, with rejection announced. Honor unsubscribes within 2 days.attribution-model skill defaults to first-party + MMM + incrementality stack.| Guide | Description |
|---|---|
| Getting Started | Installation, first brand setup, first marketing task — with worked examples |
| Brand Guidelines | Importing voice guides, restrictions, channel styles, templates, agency SOPs |
| Multi-Brand & Agency Guide | Multi-brand corporations and agency multi-client workflows |
| Strategy & KPI Mapping | Business objectives → KPI frameworks → campaign strategy → measurement loop |
| Integrations Guide | MCP setup for GA4, HubSpot, Google Ads, Meta, and more |
| Engagement Methodology | Deep-dive on the 12-Part Strategy Flow |
| Competitor Intelligence | Setting up competitors, running analysis, responding to competitive moves |
| Claude Interfaces | What works in Claude Code, Cowork, Desktop, claude.ai |
| C2PA Production Cert Guide | Acquiring a CAI-recognised signing certificate for EU production deployment |
Two PDF references at the repo root: DM_Strategy_Complete_Learning_Guide.pdf (full methodology) and DM_Strategy_Flow_v3_2_Visualization_v1_23Apr26.pdf (one-page visual map).
Q: How does this compare to LangChain marketing templates / CrewAI marketing crews / general AI marketing tools? Those are frameworks. DM Pro is a packaged, opinionated methodology with explicit dependency rules between every output. You can build something like it in LangChain or CrewAI — at the cost of months of engineering. DM Pro ships it.
Q: Which Claude interface should I use?
| Claude Code | Claude Cowork | Claude Desktop (no Cowork) | claude.ai web | |
|---|---|---|---|---|
| Full plugin support | yes | yes | partial | no |
| Brand memory | yes | yes | no | no |
| MCP integrations | all | HTTP only | HTTP only | no |
| Document creation (Excel, PPT) | no | yes | no | no |
| Recommended for | Terminal workflows + scripting | Visual desktop workflows | Quick content | One-off questions |
Q: How much does a full engagement cost?
The plugin is free (MIT-licensed). A complete 12-part engagement writes ~50–60 documents, so it uses a lot of model tokens: on a subscription that counts against your plan's usage limits, and only pay-as-you-go API-key users are billed per token (What it costs). Track per-brand consumption via Claude Code v2.1.149+ /usage (now integrated into /digital-marketing-pro:agency-dashboard).
Q: Can I run multiple brands in parallel?
Yes. Each brand has its own ~/.claude-marketing/brands/<brand-slug>/ directory and Python script state. Switch with /digital-marketing-pro:switch-brand.
Q: What if I only want a campaign plan, not the full methodology?
Skip to /digital-marketing-pro:campaign-plan. Every individual surface (campaign / SEO / content / competitor / email / report) is independently runnable. The full engagement is the canonical path, not the only path.
Q: Will this work on Codex / Cursor / Copilot CLI / Antigravity? Yes — verified-real native manifests ship for all 9 surfaces (CC, Cowork, Codex, Cursor, Copilot CLI, Antigravity, Hermes Agent, OpenClaw, Grok). See Supported surfaces above for per-platform install commands.
Q: I run my team on Anthropic Cowork. Does brand state persist between sessions?
Yes — but you need to run /digital-marketing-pro:cowork-setup once per team first (v3.12.0). Cowork's per-session filesystem is ephemeral, and ${CLAUDE_PLUGIN_DATA} is too (open issue #51398). The setup wizard routes brand profiles + plans + reports through a Google Drive MCP so everything survives across sessions and is shared across the team. Multi-team isolation via per-team folder names.
Q: What happens when a new Claude / OpenAI / Google model ships? Do I need to update the plugin?
No — the plugin uses a shared model curator (scripts/resolve_model.py) that resolves aliases (latest-balanced-anthropic, latest-text-google, etc.) at call time. When a model is deprecated, the curator auto-falls-forward to the replacement. /digital-marketing-pro:doctor reports registry age and severity (ok <60d / warn 60-119d / urgent ≥120d); when stale it prints the exact python scripts/refresh_models.py invocation to poll the provider APIs for drift. Plus settings.json.example ships a fallbackModel chain so Claude Code transparently swaps models on overload.
Q: Is this an Anthropic product? No — independent open-source plugin built by Indranil Banerjee. MIT-licensed. Runs on Claude Code + Cowork.
Q: I found a compliance rule that looks out of date. File an issue with the citation. Privacy and AI law change quarterly — DM Pro is actively maintained against the May 2026 reality but enforcement actions and amendments keep coming.
Common install + first-run issues across all 9 supported platforms, with the fix.
Claude Code lists every installed skill in a budget of 1% of the context window. Digital Marketing Pro's 170 entries fit a 1M window in full, but on a 200k window only the names fit, so Claude can't see what each skill does. Add "skillListingBudgetFraction": 0.05 to your Claude Code settings.json. You can also start any skill by name, e.g. /digital-marketing-pro:seo-audit.
"/plugin isn't available in this environment"
You're in the standard Claude chat app (browser claude.ai or the Claude Desktop app). The /plugin slash command only works in Claude Code (the dev CLI/IDE at claude.com/code) and Anthropic Cowork. Everywhere else, plugins install via the UI: click the Plugins button at the bottom of the chat. See Updating for the full recovery procedure.
"Plugin installed but slash commands not showing"
Run /reload-plugins (Claude Code) or restart the Cowork chat session. If still missing, your Claude Code build may be too old for the plugin features DMP relies on — run claude --version and update via npm install -g @anthropic-ai/claude-code (DMP cannot enforce a minimum itself; see Supported surfaces).
"Brand profile vanishes between Cowork sessions"
Cowork's filesystem is per-session ephemeral — ~/.claude-marketing/ AND ${CLAUDE_PLUGIN_DATA} both reset at session end (open issue #51398). Fix: run /digital-marketing-pro:cowork-setup once per team — it routes brand state through a Google Drive MCP so profiles survive across sessions and your whole team sees them. See v3.12.0 release notes for the why-and-how.
"/digital-marketing-pro:doctor says urgent (model registry stale)"
The model registry hasn't been refreshed for 60+ days — frontier models shift every ~6 weeks so deprecated IDs may start 404-ing. Fix: ANTHROPIC_API_KEY=... OPENAI_API_KEY=... GEMINI_API_KEY=... EVOLINK_API_KEY=... python scripts/refresh_models.py. The script polls each provider's /v1/models endpoint and reports drift versus our registry.
"Skills install but commands not discovered"
These platforms read SKILL.md by description match — invoke via natural language ("Run a competitor analysis on stripe.com") rather than typing a slash command. Slash commands (/digital-marketing-pro:<name>) are a Claude Code convention; on other surfaces the agent picks up the skill from intent.
"Codex says skill name failed regex check"
Codex enforces [a-z0-9-]+ on skill names. All 164 DMP skill names pass this regex (verified in the test suite). If you see this error, it's likely a personal skill you added — rename it to lowercase + hyphens only.
"Cursor /add-plugin returns 'plugin not found'"
Use the full Git URL form: /add-plugin digital-marketing-pro@https://github.com/indranilbanerjee/digital-marketing-pro. Cursor's marketplace integration is fastest, but the Git URL form always works.
"hermes plugins install ... finishes but no skills appear"
The plugin needs to be enabled after install: hermes plugins enable digital-marketing-pro. Then verify with hermes plugins list. If the adapter's register() returned silently with no skills, run the audit: cd ~/.hermes/plugins/digital-marketing-pro && python __init__.py — it'll print the discovered skill count + the first five skills, confirming the clone got the full skills/ tree.
"register_skill error in Hermes logs"
Check Hermes version: this plugin targets v0.15.2+. Run hermes --version. Older builds may have a different ctx API surface — the adapter degrades gracefully (logs an error, doesn't crash) but won't register skills. Upgrade Hermes to the latest public preview.
"OpenClaw can't find the plugin manifest"
Use the git: install scheme: openclaw plugins install git:github.com/indranilbanerjee/digital-marketing-pro. If you used another scheme and it failed, the fallback is: cd ~/.openclaw/plugins && git clone https://github.com/indranilbanerjee/digital-marketing-pro && openclaw plugins enable digital-marketing-pro.
"OpenClaw uses Claude bundle but loses some features"
OpenClaw auto-detects our .claude-plugin/plugin.json as a Claude-compatible bundle, but the native openclaw.plugin.json gives first-class discoverability. Both load the same 164 skills from ./skills. Verify with openclaw plugins inspect digital-marketing-pro --runtime --json.
"grok plugin install can't find the plugin"
Use the direct repo form: grok plugin install indranilbanerjee/digital-marketing-pro — the native .grok-plugin/ manifest pair ships in-repo, so no separate marketplace is needed. Alternatively add the marketplace first: grok plugin marketplace add indranilbanerjee/neels-plugins then grok plugin install digital-marketing-pro. Append --trust to skip the install confirmation. Grok also reads the Claude Code manifests for compatibility, so even a pre-3.31.0 clone loads — the native pair is what gives first-class discoverability.
"Tests in tests/ fail when I git clone locally"
Run python tests/run_all.py from the repo root. All 1063 tests are stdlib-only — no pip install needed. If they fail, the most likely cause is a Python version mismatch (DMP supports Python 3.10+; scripts/setup.py recommends 3.11 or newer, and the floor moves to 3.11 once Claude's Cowork environment does) or a clone that omitted some skills/ subdirectories. Try git clone --depth=1 again.
"/digital-marketing-pro:doctor shows my action as stub_unconfigured"
That action needs an MCP connector configured. Run python scripts/connector-status.py --action setup-guide --name <connector-name> for the exact setup snippet. Add it to your .mcp.json under mcpServers, restart your agent, and the action becomes manifest_ready. See Connector-aware action resolver for the full readiness model.
"Where do my brand files actually go?"
Run /digital-marketing-pro:output-folder — it prints the active output directory and (on local Claude Code) opens it in your OS file manager. Default: ~/.claude-marketing/brands/<brand-slug>/ for working state + ~/Documents/DigitalMarketingPro/<brand>/ for finished deliverables. Both configurable via output-folder.
Still stuck? Open an issue with the exact error message + platform name + version. We respond within a few days.
If you see "/plugin isn't available in this environment" — you're in the standard Claude chat app (browser OR installed desktop app). The
/pluginslash command is only supported in two environments: Claude Code (the developer CLI / IDE at claude.com/code,npm install -g @anthropic-ai/claude-code) and Anthropic Cowork. Everywhere else —claude.aiweb chat, the Claude Desktop app, mobile — plugins are managed through the UI, not slash commands.The plugin IS installed (your DM Pro skills work); only the management command is unavailable. Fix:
- In the chat UI — click the Plugins button at the bottom of the chat → Manage plugins → find Digital Marketing Pro → look for Update / Refresh / Remove. If no Update button, Remove then Add plugin → re-install from
indranilbanerjee/neels-plugins. The re-pull fetches the latest version.- For slash-command management — switch to Claude Code (CLI or IDE) or Cowork. The plugin runs identically across every Anthropic surface; you're choosing where to type management commands.
Once you're in Claude Code or Cowork, the rest of this section applies.
/plugin marketplace update neels-plugins
/plugin uninstall digital-marketing-pro@neels-plugins
/plugin install digital-marketing-pro@neels-plugins
/reload-plugins
/plugin marketplace update only refreshes the catalog — the uninstall + reinstall is what actually pulls the new version. /reload-plugins applies the change without restart.
If a version stays the same but content changed (fast-iteration debugging): delete the folder ~/.claude/plugins/cache/neels-plugins (it holds only downloaded plugin copies), then:
/plugin install digital-marketing-pro@neels-plugins
/reload-plugins
DM Pro is part of a three-plugin suite by Indranil Banerjee — one marketplace, installed together, designed to chain (each plugin keeps its own brand setup):
| Plugin | What it does |
|---|---|
| Digital Marketing Pro (this plugin) | End-to-end engagement methodology — 12-Part Flow, Four Core Documents, Two-Views Model |
| ContentForge | Publication-ready content via 10-phase pipeline, fact-checker, 43-pattern humanizer, .docx export with C2PA signing |
| SocialForge | Social media calendar to on-brand creative: AI image and video through providers you connect, each paid generation quoted first, C2PA signing |
/plugin marketplace add indranilbanerjee/neels-plugins
/plugin install digital-marketing-pro@neels-plugins
/plugin install contentforge@neels-plugins
/plugin install socialforge@neels-plugins
On Claude Code 2.1.292 or newer, each is one terminal command: claude plugin install <name> --marketplace indranilbanerjee/neels-plugins.
If DM Pro saves your team time, ⭐ star the repo — it's the single most useful thing you can do to help other marketing teams discover it.
DM Pro is built and maintained by Indranil “Neel” Banerjee — a builder and systems thinker with roots in information security and a second act across growth marketing, enterprise digital operations, and AI transformation. This repository is one public implementation of a broader focus on trustworthy AI execution: preserve context, make evidence inspectable, and keep people at consequential decision points.
Why this plugin exists: Most AI marketing tools generate isolated outputs that don't compose. The 12-Part Strategy Flow encodes the canonical sequence a real engagement actually needs — Stone-vs-Opinion intake, Four Core Documents, Client Validation, Two-Views Model, Decision Matrix, Growth Plan + Yearly Planner, channel fan-out, execution artefacts, creative briefs, continuous improvement loop. Once it's a plugin, every engagement looks the same, handoffs work, and quality is auditable. That's the whole product.
If DM Pro saves your team time, ⭐ star the repo — it's the single most useful thing you can do to help other marketing teams discover it. Sharing it on LinkedIn or X helps people discover the work too.
PRs welcome — especially on compliance rules (privacy and AI law change fast), industry profiles, and channel-specific updates. See CONTRIBUTING.md for the contribution workflow, .github/PULL_REQUEST_TEMPLATE.md for the PR checklist, and TESTING-GUIDE.md for per-phase test checklists. All contributors are expected to follow the Code of Conduct. Security issues: please use Private Security Advisories per SECURITY.md — do not file public issues for vulnerabilities.
This plugin is MIT-licensed, free to use commercially, and collects no telemetry. What sponsorship pays for is the unglamorous half of keeping it accurate: platform-API updates when a vendor ships a breaking version, model-registry refreshes when a model is retired, compliance passes when regulatory guidance moves, and issue triage.
If it saves your team time, you can sponsor the work. Sponsors from $25/mo are listed in SPONSORS.md.
MIT — see LICENSE. Free to use commercially.
Every release, with what changed and why: CHANGELOG.md.
hermes 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 164 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-pro | openclaw.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 |
Copy the skill folders into .roo/skills/ (project) or ~/.roo/skills/ (global); .agents/skills/ works too · docs |
| Cline / Windsurf | open-source VS Code agents | Cline: copy into .cline/skills/ or ~/.cline/skills/ (docs). Windsurf: copy into .devin/skills/ (the legacy .windsurf/skills/ is still read) (docs) |
| Kiro | Kiro | Spec-driven dev with Agent Skills support |
| Amp | Sourcegraph | Copy the skill folders into .agents/skills/ (project) or ~/.config/agents/skills/ (this machine) · docs |
| Letta | Letta | Copy the skill folders into .agents/skills/ (project) or ~/.letta/skills/ (all agents on this machine) · docs |
| Mux | Coder | Browser-based parallel cloud agents |
| Factory | Factory | "Droid" agents read Agent Skills bundles |
| Workshop | Workshop | Multi-LLM cross-platform agent |
| Tabnine | Tabnine | Enterprise context-aware AI agent |
| Emdash | General Action | Parallel git-worktree agents |
| Superconductor | Superconductor | Multiplayer cloud agents |
| Ona | Ona | Background cloud-agent fleet |
| Mistral Vibe | Mistral AI | Copy the skill folders into .vibe/skills/ (project) or ~/.vibe/skills/; .agents/skills/ is read too · docs |
| VT Code | open-source | LLM-native code agent |
| Qodo | Qodo | Code integrity agent |
| Piebald | Piebald | Desktop agentic dev |
| Autohand Code CLI | Autohand | ReAct terminal agent |
| pi | open-source | Minimal terminal harness |
| Command Code | Command Code | Coding-taste-learning agent |
| TRAE | ByteDance | Adaptive AI IDE |
| Firebender | Firebender | Android-native agent |
| bub | Bub | Channel-native agent framework |
| fast-agent | evalstate | ACPX + Skills development |
| nanobot | HKUDS | Ultra-light personal agent (Slack / Discord / Telegram / WeChat) |
| Vita | Vita | Virtual-desktop autonomous workers |
| Snowflake Cortex Code | Snowflake | Data-platform agent |
| Databricks Genie Code | Databricks | Data-engineering agent |
| Laravel Boost | Laravel | Laravel-specific agent skills layer |
| Spring AI | Spring | Java/Spring AI applications |
| Agentman | Agentman | Healthcare revenue-cycle agents |
| Google AI Edge Gallery | On-device mobile LLM agent |
| Pillar + spokes content cluster from seed keywords with SERP-overlap clustering and 4-gate quality scorecard |
/digital-marketing-pro:backlink-gap | Competitor backlink gap audit with priority scoring (DR + overlap + traffic + topical) |
/digital-marketing-pro:seo-drift | Snapshot-vs-snapshot drift with auto-classification (growth/decline/reshuffle/stable/new/lost) |
| Architecture | Technical deep-dive for contributors and power users |
| Testing Guide | Per-phase test checklist for plugin contributors |