Passed 18 of 23 test cases with the skill, and 6 of 23 without it.
Without skill28%
With skill80%
Checks it passed that the model alone missed
The appendix is included by default for QBR reports.
The command uses format-email as the action parameter.
The command uses format-slack as the action parameter.
and 11 more in the full report
14 fixed6 passed either way4 still failing1 broke
Pass-rate lift
+52 pp
Tokens
+63%
Agent turns
0%
Response time
-54%
Model gemini-3.6-flashMeasured 8/17/2026v1 · latest is v220 of 25 cases passed with skill · 23 comparable
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
See it in action
One of 14 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 14
Prompt
When formatting the report JSON data for email distribution to client contacts, which action flag is supplied to report-generator.py?
What was checked, without and with the skill
Checked
Without skill
With skill
The command uses format-email as the action parameter.
Missed
Passed
case-09 · gemini-3.6-flash · 8/17/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md65 linessingle file
/digital-marketing-pro:client-report
Script location. If your host does not set ${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin's scripts/ folder, next to skills/. Run them with Python 3.10 or newer: python, or python3 where python is not found (macOS, many Linux systems).
Purpose
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.
Input Required
The user must provide (or will be prompted for):
Brand slug: The brand this report covers — must match a configured brand in ~/.claude-marketing/brands/
Report type: One of:
Weekly pulse: Quick KPI snapshot with 3-5 key metrics and brief commentary
Monthly review: Full performance analysis with channel breakdowns and recommendations
QBR: Quarterly deep-dive with strategic roadmap and forward plan
Date range: Specific start and end dates for the reporting period — defines what data is pulled and analyzed
Delivery channel: Where the report should be sent — slack, email, google-sheets, or markdown-only (no external delivery, just generate the artifact)
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
Comparison period: What to compare against — prior period, same period last year, plan/target, or all three simultaneously
Recipient list (optional): Specific client contacts who should receive the report if delivering via email or Slack — names and handles/addresses
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
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
White-label settings (optional): Agency logo placement, color scheme, and disclaimer text — pulled from agency profile if configured, otherwise uses clean defaults
Process
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.
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
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
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
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
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
Analyze underperformance with root causes: For any KPI that missed target, identify root causes:
Corrective actions: what was already done and what is recommended for next period
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 opportunities to explore
Write report in agency voice: Draft the full report using professional, third-person agency voice — NOT the brand's personality. Focus on clarity, data-backed insights, actionable next steps, and a confident but honest tone that builds client trust