/doctor
Per-action readiness diagnostic. Shows which campaign-audit and launch-campaign actions are live (manifest-ready) vs blocked (stub-unconfigured) in the current environment, with one-step setup hints for the blocked ones. Now includes model-registry freshness + Cowork+Drive
$ npx -y skills add indranilbanerjee/digital-marketing-pro --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/doctor
Context preview
What this command does when you run it.
Per-action readiness diagnostic. Shows which campaign-audit and launch-campaign actions are live (manifest-ready) vs blocked (stub-unconfigured) in the current environment, with one-step setup hints for the blocked ones. Now includes model-registry freshness + Cowork+Drive
Command definition
doctor.mddescription: "Per-action readiness diagnostic. Shows which campaign-audit and launch-campaign actions are live (manifest-ready) vs blocked (stub-unconfigured) in the current environment, with one-step setup hints for the blocked ones. Now includes model-registry freshness + Cowork+Drive routing status."
argument-hint: "[--brand <slug>] [--action <id>] [--channel <name>] [--json] [--summary]"
allowed-tools: Bash Read
/digital-marketing-pro:doctor — Per-Action Readiness Check
Resolves every action in the campaign-audit and launch-campaign skill surfaces against the currently configured connectors and reports which mode each one is in:
| Mode | What it means | |------|---------------| | `real` | Action runs end-to-end with no external API. Always available. | | `manifest_ready` | A matching connector is configured; the action returns the exact HTTP request manifest for the orchestrator (Claude via MCP) to execute. | | `stub_unconfigured` | No matching connector is configured; the action returns a structured stub plus a copy-paste setup hint. |
Quick examples
/digital-marketing-pro:doctor # full readiness map for default brand
/digital-marketing-pro:doctor --brand acme # for a named brand
/digital-marketing-pro:doctor --action inventory --channel google_ads
/digital-marketing-pro:doctor --summary # one-line counts
/digital-marketing-pro:doctor --json # machine-readable
What it does NOT do
- It does not execute write/launch actions. For that, run the action through the orchestrator (`/digital-marketing-pro:launch-campaign`) which respects approval gates.
- It does not make any network call. It probes `.mcp.json` membership and env-var presence only — credentials are never read or echoed.
Output sections
1. **Summary line** — count of actions in each of the three modes 2. **Per-action table** — action name, mode, operation type, configured connector or list of candidate connectors 3. **Unlock guide** — for any stub-unconfigured action, the exact next step 4. **Environment block** — detected surface (`claude-code-windows` / `claude-code-mac` / `claude-code-linux` / `cowork-sandbox`) 5. **Model curator block** — registry age + severity (`ok` <60d, `warn` 60-119d, `urgent` >=120d), with the exact `refresh_models.py` command when stale 6. **Cowork+Drive routing block** — only meaningful in Cowork. Shows whether `/digital-marketing-pro:cowork-setup` has been run; flags `urgent` when Cowork is detected but routing is missing (brand state would vanish at session end)
See also
- [scripts/action-doctor.py](../scripts/action-doctor.py) — the underlying script
- [scripts/connector_resolver.py](../scripts/connector_resolver.py) — the resolver and ACTION_SPECS table
- [scripts/connector-status.py](../scripts/connector-status.py) — the broader connector dashboard (categories, setup guides)
- [/digital-marketing-pro:check](check.md) — pre-publish quality gate
- [/digital-marketing-pro:status](status.md) — brand snapshot
Run
python "${CLAUDE_PLUGIN_ROOT}/scripts/action-doctor.py" "$@"Read more
description: "Per-action readiness diagnostic. Shows which campaign-audit and launch-campaign actions are live (manifest-ready) vs blocked (stub-unconfigured) in the current environment, with one-step setup hints for the blocked ones. Now includes model-registry freshness + Cowork+Drive routing status." argument-hint: "[--brand <slug>] [--action <id>] [--channel <name>] [--json] [--summary]" allowed-tools: Bash Read
/digital-marketing-pro:doctor — Per-Action Readiness Check
Resolves every action in the campaign-audit and launch-campaign skill surfaces against the currently configured connectors and reports which mode each one is in:
| Mode | What it means | |------|---------------| | `real` | Action runs end-to-end with no external API. Always available. | | `manifest_ready` | A matching connector is configured; the action returns the exact HTTP request manifest for the orchestrator (Claude via MCP) to execute. | | `stub_unconfigured` | No matching connector is configured; the action returns a structured stub plus a copy-paste setup hint. |
Quick examples
/digital-marketing-pro:doctor # full readiness map for default brand /digital-marketing-pro:doctor --brand acme # for a named brand /digital-marketing-pro:doctor --action inventory --channel google_ads /digital-marketing-pro:doctor --summary # one-line counts /digital-marketing-pro:doctor --json # machine-readable
What it does NOT do
- It does not execute write/launch actions. For that, run the action through the orchestrator (`/digital-marketing-pro:launch-campaign`) which respects approval gates.
- It does not make any network call. It probes `.mcp.json` membership and env-var presence only — credentials are never read or echoed.
Output sections
1. **Summary line** — count of actions in each of the three modes 2. **Per-action table** — action name, mode, operation type, configured connector or list of candidate connectors 3. **Unlock guide** — for any stub-unconfigured action, the exact next step 4. **Environment block** — detected surface (`claude-code-windows` / `claude-code-mac` / `claude-code-linux` / `cowork-sandbox`) 5. **Model curator block** — registry age + severity (`ok` <60d, `warn` 60-119d, `urgent` >=120d), with the exact `refresh_models.py` command when stale 6. **Cowork+Drive routing block** — only meaningful in Cowork. Shows whether `/digital-marketing-pro:cowork-setup` has been run; flags `urgent` when Cowork is detected but routing is missing (brand state would vanish at session end)
See also
- [scripts/action-doctor.py](../scripts/action-doctor.py) — the underlying script
- [scripts/connector_resolver.py](../scripts/connector_resolver.py) — the resolver and ACTION_SPECS table
- [scripts/connector-status.py](../scripts/connector-status.py) — the broader connector dashboard (categories, setup guides)
- [/digital-marketing-pro:check](check.md) — pre-publish quality gate
- [/digital-marketing-pro:status](status.md) — brand snapshot
Run
python "${CLAUDE_PLUGIN_ROOT}/scripts/action-doctor.py" "$@"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?
Other commands on digital-marketing-pro.
- /backlink-gap
Find domains linking to your competitors but not to you, ranked by priority score (DR + link-overlap + traffic + topical relevance) with a four-gate quality scorecard
Open command - /brand-setup
Set up a new brand profile with voice, audience, competitors, guidelines, and compliance rules
Open command - /campaign-plan
Generate a full multi-channel campaign plan with objectives, audience, channel mix, budget, timeline, and KPIs
Open command - /check
Run the unified pre-publish quality gate on marketing content (hallucination + brand voice + structure + claims). Use before publishing any marketing copy.
Open command - /competitor-analysis
Multi-dimensional competitive analysis — content, SEO, paid ads, social, AI visibility, pricing, and positioning
Open command - /content-engine
Draft blog posts, ad copy, emails, social media, landing pages, and video scripts with brand voice and SEO
Open command

