/digital-marketing-pro:status — Unified Status Snapshot

SkillDev tools

Print a read-only status snapshot of the active brand via scripts/dm-status.py: profile summary, engagements with current part and update age, last five insights, recent compliance violations, and Python dependency mode — with --quiet, --json, --section, and --brand variants. Triggers on \"/digital-marketing-pro:status\", \"what's my DMP status\", \"what brand am I on\", \"show engagement status\", \"status snapshot\". Never modifies state: switching brands is /digital-marketing-pro:switch-brand, advancing engagements is /digital-marketing-pro:engagement, connector status is /digital-marketing-pro:integrations, and content checks are /digital-marketing-pro:check.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the /digital-marketing-pro:status — Unified Status Snapshot skill

What this skill tells your AI

The instructions your AI receives, as published by indranilbanerjee/digital-marketing-pro in skills/status/SKILL.md and read by ahel’s review.

This skill prints a complete status snapshot for the active Digital Marketing Pro brand: profile summary, all engagements with their current part and update age, recent insights, recent compliance violations, and Python dependency mode.

Context efficiency

Heavy skill. Grep before Read any referenced file, then Read only matched ranges with offset + limit. List the brand's workspace at ~/.claude-marketing/brands/{slug}/ (or $CLAUDE_PLUGIN_DATA/digital-marketing-pro/brands/{slug}/ when that env var is set) before opening files. On re-invocation mid-session, skip files already in context.

An earlier version ran a SessionStart hook that executed setup.py at every Claude Code session start to print a 15-line brand summary banner. That hook was removed because it fired globally across every project regardless of whether the user was doing marketing work. /digital-marketing-pro:status is the explicit on-demand replacement — a richer view, when you ask for it.

What it shows

The status snapshot has 5 sections:

SectionContents
BrandName, slug, industry (with regulated flag), business model, voice dimensions, traits, channels, languages, markets, competitors, primary goal, auto-save-insights flag
EngagementsAll engagements for the brand with: current part, completed/in-progress/blocked counts, days since last update, pending re-run decisions, versioned doc count
Recent InsightsLast 5 captured insights with type, summary, days since last save
Recent Compliance ViolationsLast 5 violations with rule, category, severity; total count in last 30 days
Python DependenciesPython version, mode (knowledge-only / lite / full), available + missing packages

Subcommands and modes

Default

/digital-marketing-pro:status

Full snapshot for the active brand. Reads from ~/.claude-marketing/brands/_active-brand.json to find the active slug.

Specific brand

/digital-marketing-pro:status --brand acme-corp

Snapshot for a named brand (does not change the active brand pointer).

Compact one-liner

/digital-marketing-pro:status --quiet

Output:

DMP STATUS | Acme Corp | engagements: 2 active / 3 total | deps: lite

JSON output

/digital-marketing-pro:status --json

Machine-readable JSON for downstream skill consumption or scripting.

Single section

/digital-marketing-pro:status --section brand
/digital-marketing-pro:status --section engagements
/digital-marketing-pro:status --section insights
/digital-marketing-pro:status --section compliance
/digital-marketing-pro:status --section deps

Print only the requested section. Useful when you only need one piece of state.

How the skill operates

  1. Resolve target brand. If --brand provided, use it. Otherwise read ~/.claude-marketing/brands/_active-brand.json for the active slug. If no active brand, instruct the user to run /digital-marketing-pro:brand-setup first.

  2. Execute the script.

    python ${CLAUDE_PLUGIN_ROOT}/scripts/dm-status.py [--brand <slug>] [--json] [--quiet] [--section <name>]
    
  3. Pass through the formatted output to the user. The script does the heavy lifting; the skill is a thin orchestration layer.

  4. For JSON output, parse and surface key health indicators in the response (e.g., highlight engagements that have not been updated in 14+ days, or that have pending re-run decisions awaiting action).

Examples

Example 1: Default snapshot

User: /digital-marketing-pro:status

Skill runs: python "${CLAUDE_PLUGIN_ROOT}/scripts/dm-status.py"
Output:

============================================================
  DIGITAL MARKETING PRO — STATUS SNAPSHOT
  Generated: 2026-05-03T08:30:00Z
============================================================

BRAND
------------------------------------------------------------
  Name:         Acme Corp (acme-corp)
  Tagline:      Build better, ship faster
  Industry:     B2B SaaS (regulated: no)
  Model:        B2B_SaaS | Revenue: subscription
  Voice:        Formality 6/10 | Energy 7/10 | Humor 4/10 | Authority 8/10
  Traits:       confident, precise, technical
  Channels:     linkedin, google_search, email
  Primary:      linkedin
  Languages:    en (+ es, fr)
  Markets:      3 configured
  Competitors:  CompetitorX, CompetitorY, CompetitorZ
  Primary goal: Grow MRR by 40% in Q2
  Auto-save:    insights = enabled

ENGAGEMENTS
------------------------------------------------------------
  2026-q2
    Part 9: Channel Strategy Fan-out
    Completed: 8 / 12 | In progress: 9
    Updated 2d ago | 2 doc(s) versioned

  2026-rebrand
    Part 5: Client Validation Document
    Completed: 4 / 12 | Awaiting input: 5
    Updated 14d ago | 1 pending re-run decision(s)

RECENT INSIGHTS
------------------------------------------------------------
  Total: 23 insights
  Last saved: 1d ago
    · [session_learning] LinkedIn Document Ads outperform Sponsored Content...
    · [campaign_outcome] Q1 retargeting CPL dropped 30% after creative refresh
    · [audience_finding] Tier-2 city audience converts 2x at lower CPL
    · [competitive] CompetitorX launched freemium tier on 2026-04-15
    · [voice_drift] Recent blog posts trending more formal than profile target

RECENT COMPLIANCE VIOLATIONS
------------------------------------------------------------
  Total: 4 | Last 30 days: 1
    · [warning] missing_unsubscribe (email)
    · [info] superlative_unsubstantiated (ad_copy)
    ...

PYTHON DEPENDENCIES
------------------------------------------------------------
  Python:       3.11.9
  Mode:         full
  Available:    nltk, textstat, requests, beautifulsoup4, qrcode, Pillow

============================================================
Tip: /digital-marketing-pro:status --json for machine-readable output
Tip: /digital-marketing-pro:status --quiet for one-line summary
============================================================

Skill highlights:
- 2026-rebrand has a pending re-run decision awaiting action
- 2026-rebrand has not been updated in 14d — recommend a status check

Example 2: Quick check during a session

User: /digital-marketing-pro:status --quiet

Output: DMP STATUS | Acme Corp | engagements: 2 active / 2 total | deps: full

Example 3: JSON for scripting

User: /digital-marketing-pro:status --json

Output: {valid JSON snapshot — pipeable to jq, parseable by other skills}

Example 4: When no brand is set up

User: /digital-marketing-pro:status

Output:
No active brand found.
Pass --brand <slug> explicitly, or run /digital-marketing-pro:brand-setup to create one.
Workspace: ~/.claude-marketing      # or $CLAUDE_PLUGIN_DATA/digital-marketing-pro if set

Behaviour rules

  1. Never modify state. Read-only operation. Never write to brand profile, engagement state, or any persistent file.
  2. Never error silently. If a brand profile is missing or corrupt, the script reports the specific error in the output.
  3. Surface health indicators after the snapshot. If JSON output is requested or if the skill is parsing for downstream use, highlight: engagements with no update in 14+ days, pending re-run decisions, recent compliance violations, missing Python deps.
  4. Respect CLAUDE_PLUGIN_DATA. When the env var is set, the script reads from $CLAUDE_PLUGIN_DATA/digital-marketing-pro/... instead of ~/.claude-marketing/....
  5. Fast. The script reads only state files; never invokes other scripts; never makes network calls.

What this skill does NOT do

  • Does not modify brand profile, engagement state, or any persistent file
  • Does not save insights, compliance violations, or any data
  • Does not trigger eval scripts (use /digital-marketing-pro:check for that)
  • Does not advance engagement parts (use /digital-marketing-pro:engagement next for that)
  • Does not switch active brand (use /digital-marketing-pro:switch-brand for that)

Related skills + commands

  • /digital-marketing-pro:brand-setup — create or update a brand profile
  • /digital-marketing-pro:switch-brand — change the active brand
  • /digital-marketing-pro:engagement status — engagement-specific deep status
  • /digital-marketing-pro:check — pre-publish quality gate on content
  • /digital-marketing-pro:integrations — connector status (separate from /digital-marketing-pro:status)

Related references

  • scripts/dm-status.py — the underlying script
  • docs/getting-started.md — context on what was lost when the SessionStart hook was removed and why /digital-marketing-pro:status replaced it

Signals

GitHub stars
814
Forks
134
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
status-indranilbanerjee
Source
github.com/indranilbanerjee/digital-marketing-pro