$npx -y skills add indranilbanerjee/digital-marketing-pro --skill client-reportGenerate client-facing reports. Use when: white-labeled performance report with KPIs, trends, strategic recommendations.
| 1 | # /digital-marketing-pro:client-report |
| 2 | |
| 3 | ## Purpose |
| 4 | |
| 5 | Generate a professional, white-labeled client report for a specific brand. Uses agency voice (not brand voice), includes KPI performance, channel breakdowns, strategic recommendations, and next steps. Designed for external client delivery via Slack, email, Google Sheets, or markdown — with approval gating before any external send to prevent accidental disclosure or premature delivery of draft findings. |
| 6 | |
| 7 | ## Input Required |
| 8 | |
| 9 | The user must provide (or will be prompted for): |
| 10 | |
| 11 | - **Brand slug**: The brand this report covers — must match a configured brand in `~/.claude-marketing/brands/` |
| 12 | - **Report type**: One of: |
| 13 | - Weekly pulse: Quick KPI snapshot with 3-5 key metrics and brief commentary |
| 14 | - Monthly review: Full performance analysis with channel breakdowns and recommendations |
| 15 | - QBR: Quarterly deep-dive with strategic roadmap and forward plan |
| 16 | - **Date range**: Specific start and end dates for the reporting period — defines what data is pulled and analyzed |
| 17 | - **Delivery channel**: Where the report should be sent — slack, email, google-sheets, or markdown-only (no external delivery, just generate the artifact) |
| 18 | - **Custom sections (optional)**: Any additional sections the client has requested — competitive update, creative performance breakdown, audience insights, attribution deep-dive, or ad-hoc investigation topic |
| 19 | - **Comparison period**: What to compare against — prior period, same period last year, plan/target, or all three simultaneously |
| 20 | - **Recipient list (optional)**: Specific client contacts who should receive the report if delivering via email or Slack — names and handles/addresses |
| 21 | - **Narrative emphasis (optional)**: What the client cares most about this period — growth, efficiency, brand awareness, pipeline generation, or revenue — influences which metrics are highlighted first and how insights are framed |
| 22 | - **Include appendix**: Whether to attach raw data tables and campaign-level detail as an appendix — defaults to yes for monthly and QBR, no for weekly pulse |
| 23 | - **White-label settings (optional)**: Agency logo placement, color scheme, and disclaimer text — pulled from agency profile if configured, otherwise uses clean defaults |
| 24 | |
| 25 | ## Process |
| 26 | |
| 27 | 1. **Load brand context**: Read `~/.claude-marketing/brands/_active-brand.json` for the active slug, then load `~/.claude-marketing/brands/{slug}/profile.json`. Apply brand voice, compliance rules for target markets (`skills/context-engine/compliance-rules.md`), and industry context. Also check for guidelines at `~/.claude-marketing/brands/{slug}/guidelines/_manifest.json` — if present, load restrictions. Check for agency SOPs at `~/.claude-marketing/sops/`. If no brand exists, ask: "Set up a brand first (/digital-marketing-pro:brand-setup)?" — or proceed with defaults. |
| 28 | 2. **Pull all metrics for the brand**: Query connected MCP servers and run `python "${CLAUDE_PLUGIN_ROOT}/scripts/campaign-tracker.py" --brand {slug} --action list-campaigns` (then `--action get-campaign --id {id}` per campaign) to gather performance data across all active channels; filter to the specified date range during analysis |
| 29 | 3. **Gather campaign history and execution log**: Run `python "${CLAUDE_PLUGIN_ROOT}/scripts/execution-tracker.py" --brand {slug} --action get-history` to compile all deliverables completed, campaigns launched, optimizations made, and tests concluded, then filter to the reporting period during analysis |
| 30 | 4. **Calculate KPIs vs targets and vs comparison period**: Compute actuals against the brand's stated KPI targets from `profile.json` and against the selected comparison period — calculate deltas, percentage changes, trend direction, and statistical significance where sample sizes allow |
| 31 | 5. **Break down performance by channel**: Segment metrics by channel (paid search, paid social, organic search, email, display, video, affiliate, etc.) with per-channel KPIs, spend, efficiency metrics (CPC, CPA, ROAS, CTR), and contribution percentage to overall goals |
| 32 | 6. **Identify top wins and attribution**: Select the 3-5 best-performing campaigns or initiatives from the period — document what was done, what drove the result, audience and creative insights, and how it connects to business outcomes |
| 33 | 7. **Analyze underperformance with root causes**: For any KPI that missed target, identify root causes: |
| 34 | - External factors: market shifts, seasonality, competitive moves, platform algorithm changes |
| 35 | - Internal factors: budget constraints, creative fatigue, audience saturation, timing misalignment |
| 36 | - Corrective actions: what was already done and what is recommended for next period |
| 37 | 8. **Generate strategic recommendations**: Based on performance data, formulate 3-5 actionable recommendations — what to scale, what to pause, what to test next, where budget should shift, and what new |