status
Show a unified status snapshot of the active brand: profile, active engagements with current part, recent insights, recent compliance violations, Python dependency mode.
What this skill does
# /digital-marketing-pro:status — Unified Status Snapshot
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 `${CLAUDE_PLUGIN_DATA}/<brand>/` before opening files. On re-invocation mid-session, skip files already in context.
In v3.0 and earlier, the SessionStart hook ran `setup.py` automatically at every Claude Code session start to print a 15-line brand summary banner. v3.1 removed that hook because it fired globally across every project regardless of whether the user was doing marketing work. v3.2 introduces `/digital-marketing-pro:status` as the explicit replacement — a richer view, on demand.
## What it shows
The status snapshot has 5 sections:
| Section | Contents |
|---|---|
| **Brand** | Name, slug, industry (with regulated flag), business model, voice dimensions, traits, channels, languages, markets, competitors, primary goal, auto-save-insights flag |
| **Engagements** | All engagements for the brand with: current part, completed/in-progress/blocked counts, days since last update, pending re-run decisions, versioned doc count |
| **Recent Insights** | Last 5 captured insights with type, summary, days since last save |
| **Recent Compliance Violations** | Last 5 violations with rule, category, severity; total count in last 30 days |
| **Python Dependencies** | Python 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 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` — crRelated in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".