Design structured ad creative tests with A/B test plans, multivariate creative strategies, sample size calculations, and iteration cadences.
SkillScore86Maintained
Automatic
◆Marketing & Content pack
Last verified 8/17/2026
What it changes
Passed 19 of 22 test cases with the skill, and 10 of 22 without it.
Without skill45%
With skill86%
Checks it passed that the model alone missed
Sets a 90% confidence threshold for directional decisions.
Sets a 95% confidence threshold for major creative shifts.
States that Advantage+ Leads becomes available globally in May 2026.
and 7 more in the full report
9 fixed10 passed either way3 still failing0 broke
Pass-rate lift
+41 pp
Tokens
+82%
Agent turns
0%
Response time
-1%
Model gemini-3.6-flashMeasured 8/17/2026v1 · latest is v219 of 22 cases passed with skill
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 9 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 9
Prompt
When starting a creative testing project, where should the system first check to determine the active brand slug before loading guidelines or SOPs?
What was checked, without and with the skill
Checked
Without skill
With skill
Identifies ~/.claude-marketing/brands/_active-brand.json as the file path to check for active brand slug.
Missed
Passed
case-14 · 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.md60 linessingle file
/digital-marketing-pro:creative-testing-framework
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
Design a systematic creative testing framework that maximizes learning velocity while maintaining statistical rigor across advertising platforms. Produces a complete testing playbook with variable prioritization, sample size requirements, iteration cadence, and documentation standards for continuous creative optimization.
Input Required
The user must provide (or will be prompted for):
Ad platform(s): Where ads are running — Google Ads, Meta Ads, LinkedIn Ads, TikTok Ads, programmatic DSPs, Pinterest, X/Twitter, or multi-platform
Creative types available: What formats can be produced — static image, video (short-form/long-form), carousel, text-only, responsive display, HTML5, playable, or collection ads
Monthly ad budget allocated to testing: How much budget is available specifically for creative experimentation vs. proven performers
Current top-performing creative: Description or reference to the best-performing ads currently running, including their key metrics
Learning goals: Which creative elements need optimization — headlines, imagery, CTA copy, video hooks, color palette, offer framing, social proof, format type, or ad copy length
Audience segments for testing: The audience groups available for testing — prospecting, retargeting, lookalike, interest-based, demographic, or custom segments
Campaign objectives: What the ads are optimized for — awareness (impressions/reach), consideration (clicks/video views), or conversion (leads/purchases/ROAS)
Historical creative performance data: Optional — past test results, creative fatigue patterns, seasonal performance variations, and known winners/losers
Brand guidelines constraints: Visual identity rules, messaging restrictions, mandatory disclaimers, or approval bottlenecks that affect creative production speed
Testing timeline: How long the testing program should run — single sprint (2-4 weeks), quarterly roadmap, or ongoing evergreen program
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 and relevant category files. Check for custom templates at ~/.claude-marketing/brands/{slug}/templates/. 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.
Define testing variables: Catalog all testable creative elements — headline copy, body copy length, CTA text and color, hero image subject, image style (photo vs. illustration vs. UGC), video hook (first 3 seconds), video length, ad format (static vs. carousel vs. video), color palette, offer framing (discount vs. value vs. urgency), social proof type (testimonial vs. stat vs. badge), and layout composition.
Prioritize variables by expected impact and ease: Score each variable on a 2x2 matrix of expected performance impact (high/low) and production effort (high/low). Rank variables so the team tests high-impact, low-effort elements first. Use historical data and platform benchmarks to inform impact estimates where available.
Design testing matrix: Build the variable-by-variant grid — for each priority variable, define 2-4 variants to test against the current control. Ensure tests are isolated (one variable per test) unless running deliberate multivariate experiments. Map each test to the appropriate audience segment and platform.
Calculate sample size per variant and minimum budget: Compute the required conversions per variant with python "${CLAUDE_PLUGIN_ROOT}/scripts/sample-size-calculator.py" --baseline-rate {rate} --mde {mde} --mde-type relative --significance 0.95 --power 0.80 (a "10-20% relative lift" is --mde 0.10-0.20 with --mde-type relative; use --mde-type absolute if the target is stated in percentage points — the two differ by ~40× at a 5% baseline). Translate sample size into minimum budget per test based on current CPM/CPC rates.
Define holdout control structure: Design the control framework — allocate 10-20% of testing budget to an unchanging control creative that serves as a stable benchmark. Define when the control should be refreshed (quarterly or when performance degrades below threshold) and how new winners graduate to become the new control.
Set statistical significance thresholds: Define the confidence level required to declare a winner (90% for directional decisions, 95% for major creative shifts). Specify whether to use frequentist (p-value) or Bayesian (probability to be best) methodology. Document the minimum observation period (7+ days to account for day-of-week variation) and anti-peeking protocols.
Create iteration cadence: Design the testing rhythm — weekly creative refreshes for high-volume accounts, bi-weekly for mid-volume, monthly for lower-volume. Define the pipeline: brief (day 1), production (days 2-3), review and approval (day 4), launch (day 5), monitor (days 6-14), analyze and iterate (day 15). Align cadence with brand approval workflows.
Build winner selection criteria: Define how winners are determined — primary metric (CTR, conversion rate, ROAS, or CPA depending on objective), minimum confidence level, minimum sample size reached, and guardrail metrics that must not degrade (e.g., a headline that lifts CTR but tanks conversion rate is not a winner). Confirm a candidate winner is statistically real with python "${CLAUDE_PLUGIN_ROOT}/scripts/significance-tester.py" --control-visitors {n} --control-conversions {n} --variant-visitors {n} --variant-conversions {n} --confidence 0.95 before declaring it. Include rules for ties and inconclusive results.
Create documentation template for results and learnings: Design a standardized test card template capturing: hypothesis, variable tested, variants, audience, platform, date range, sample size, primary metric results, secondary metrics, statistical significance, winner declaration, key learning, and next test recommendation. This builds the creative knowledge base over time.
Output
A structured creative testing framework containing: