creative-health
Skill873 starsChanged 9 months agoMITView on GitHub
Score ad creative fatigue against baseline, predict days left, brief refreshes. \"are our ads fatiguing\"
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 40
Creative health dashboard: All active creatives scored and classified — showing creative name or ID, channel, health score (0-100), risk …
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/digital-marketing-pro:creative-health
Script location. If your host does not set
${CLAUDE_PLUGIN_ROOT}, the scripts are in this plugin'sscripts/folder, next toskills/. Run them with Python 3.10 or newer:python, orpython3wherepythonis not found (macOS, many Linux systems).
Purpose
Monitor creative health across all active advertising. Score each creative for fatigue risk, predict when fatigue will impact performance, generate refresh recommendations with specific change suggestions, and create A/B test plans for fatiguing creatives. Creative fatigue is one of the fastest ways to waste ad spend — a high-performing ad that ran too long silently bleeds money as CTR drops, CPM rises, and engagement fades. This command catches fatigue before it costs you, tells you exactly what to change, and gives you a structured test plan to validate the refresh. It covers the full creative lifecycle from launch through maturity to decline, so you always know which creatives are earning their spend and which need attention.
Input Required
The user must provide (or will be prompted for):
- Active creatives with performance data: A list of currently running creatives, each with: creative ID or name, channel (paid social, display, search, email, video), current performance metrics (impressions served, frequency or average times shown per user, current CTR, current CPM or CPC, current engagement rate), baseline metrics from the creative's first 7-14 days (baseline CTR, baseline CPM, baseline engagement rate), days running since launch, audience size the creative is serving, and current daily or weekly spend. Can be provided as exported data or pulled from connected ad platform MCPs
- Channel context: Which advertising channels the creatives run on — Meta Ads, Google Ads, TikTok Ads, LinkedIn Ads, display networks, programmatic, or email. Each channel has different fatigue dynamics (social fatigues faster than search, video fatigues differently than static)
- Refresh constraints (optional): Any constraints on creative refreshes — brand guidelines that limit visual changes, approval processes that add lead time, production capacity (how many new creatives can be produced per week), or budget for creative production. These constraints shape the refresh recommendations to be actionable within real-world limits
- Performance thresholds (optional): Brand-specific thresholds for when a creative is considered "fatigued" — e.g., "CTR drops 30% from baseline" or "CPM increases 25% from baseline." If not provided, industry-standard thresholds are applied per channel
Process
- Load brand context: Read
~/.claude-marketing/brands/_active-brand.jsonfor the active slug, then load~/.claude-marketing/brands/{slug}/profile.json. Apply brand creative guidelines, historical creative performance benchmarks, known fatigue patterns from past campaigns, and production capacity constraints. Also check for guidelines at~/.claude-marketing/brands/{slug}/guidelines/_manifest.json— if present, load visual identity restrictions and messaging guardrails that constrain refresh options. 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 industry defaults. - Score each creative's health: Execute
creative-fatigue-predictor.pywith the performance data for each creative. The scoring model evaluates five fatigue signals — CTR ratio (current vs baseline, weighted 30%), CPM ratio (current vs baseline, weighted 20%), engagement ratio (current vs baseline, weighted 20%), frequency or impression saturation (weighted 20%), and time running relative to channel norms (weighted 10%). Each creative receives a health score from 0-100 where 100 is peak health and 0 is fully fatigued, plus a risk-level classification: Healthy (75-100), Watch (50-74), Fatiguing (25-49), or Critical (0-24). - Predict fatigue timeline: For each creative not yet at Critical risk that has a dated daily or weekly history, run:
Give at least 3 rows, one per date, in any order.python "${CLAUDE_PLUGIN_ROOT}/scripts/creative-fatigue-predictor.py" --action predict-fatigue --creative-id {id} --performance-history '[{"date":"2026-01-01","ctr":0.025,"cpm":9.0},{"date":"2026-01-08","ctr":0.022,"cpm":9.6},{"date":"2026-01-15","ctr":0.019,"cpm":10.4}]'dateis YYYY-MM-DD (an ISO timestamp's date part is used),ctris required andcpmis optional: leave it out for email or for search bought on CPC, and the forecast uses CTR alone (signals_usedsays which signals it used). The script fits a straight-line trend over calendar days and reportsdays_remainingfrom the latest row to the first threshold crossing (CTR 30% below, or CPM 30% above, the earliest row).0means a threshold is already crossed;nullmeans the trend never crosses it, which is not proof the creative is healthy.confidenceis a label from the number of rows, not a statistical range. Adjust the reading for audience size (smaller audiences fatigue faster), frequency and channel dynamics (social fatigues faster than search) as stated judgment, separate from the script's number. Without a dated history, report the health score only and say that no timeline was projected. - Generate refresh briefs for fatiguing creatives: For each creative at Fatiguing or Critical risk, produce a specific refresh brief — what to keep (elements that drove initial performance: hook, value proposition, social proof, CTA that still resonates), what to change (elements contributing to fatigue: visual treatment, headline angle, color scheme, format, opening hook for video), and what to test (new angles or approaches worth experimenting with based on competitor creative trends and brand positioning). Ensure all refresh suggestions comply with brand guidelines.
- Create A/B test plan for each creative needing refresh: For each refresh brief, generate a structured A/B test plan — control (current creative), variant(s) with the recommended changes, hypothesis for why the variant should outperform, primary metric to evaluate (CTR, CPC, conversion rate depending on campaign objective), minimum sample size for statistical significance, expected test duration, and decision criteria for declaring a winner. Include a test naming convention for organized tracking.
- Prioritize by spend and impact: Rank all creatives needing attention by the combination of daily spend (higher spend = more waste if fatigued) and fatigue severity (more fatigued = more urgency). Creatives burning large budgets while deeply fatigued rank highest. Calculate the estimated spend waste — the incremental cost of running a fatigued creative versus a fresh one at baseline performance — to quantify the cost of inaction.
Output
A creative health report containing:
- Creative health dashboard: All active creatives scored and classified — showing creative name or ID, channel, health score (0-100), risk level (Healthy/Watch/Fatiguing/Critical), key metrics versus baseline (CTR ratio, CPM ratio, engagement ratio), frequency, days running, and daily spend
- Fatigue predictions: For each non-critical creative with a dated history, the script's
days_remainingand predicted date, the signals it used, its sample-count confidence label, and, as your judgment, the primary driver of projected fatigue (frequency saturation, audience exhaustion, or creative wear-out) - Refresh priority list: Creatives ranked by urgency — combining fatigue severity with spend level to show which refreshes will save the most budget, with estimated daily spend waste for each fatigued creative
- Refresh briefs per creative: Specific, actionable refresh recommendations for each fatiguing or fatigued creative — what to keep, what to change, what to test, and why, all within brand guidelines and production constraints
- A/B test plans: Structured test plans for each creative refresh — control and variant definitions, hypothesis, primary metric, sample size requirement, test duration estimate, and success criteria with statistical confidence threshold
- Creative lifecycle timeline: A timeline view showing when each active creative was launched, its current lifecycle stage, and projected transition dates — enabling proactive production planning so fresh creatives are ready before current ones fatigue out
- Estimated performance recovery: Projected improvement in CTR, CPM, and engagement if fatigued creatives are refreshed — quantifying the expected return on creative production investment
Agents Used
- content-creator — Creative refresh ideation including new visual angles, headline variations, hook alternatives, and format experiments grounded in brand voice and positioning, refresh brief generation with specific keep/change/test recommendations, and A/B test variant design with clear hypotheses tied to fatigue diagnosis
- media-buyer — Performance analysis across channels with fatigue-adjusted benchmarking, spend waste calculation for fatigued creatives, budget impact prioritization ranking refreshes by cost of inaction, and channel-specific fatigue threshold calibration based on platform dynamics and audience behavior
- performance-monitor-agent — Fatigue signal detection from performance metric trends, health score calculation using weighted multi-signal composite model, fatigue timeline projection based on decay rate analysis, and creative lifecycle stage classification with transition monitoring
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 1
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository164 other files it gives its agents.
- AGENTS.mdAGENTS.md
- ab-test-planSkill
- ad-creativeSkill
- add-integrationSkill
- aeo-auditSkill
- aeo-geoSkill
- agency-dashboardSkill
- agent-readiness-auditSkill
- analytics-insightsSkill
- anomaly-scanSkill
- attribution-modelSkill
- attribution-reportSkill
- audience-intelligenceSkill
- audience-profileSkill
- autopilot-statusSkill
- backlink-gapSkill
- brand-setupSkill
- budget-optimizerSkill
- budget-trackerSkill
- c2pa-metadataSkill
- campaign-auditSkill
- campaign-orchestratorSkill
- campaign-planSkill
- campaign-statusSkill
- case-study-planSkill
- checkSkill
- churn-riskSkill
- client-onboardingSkill
- client-proposalSkill
- client-reportSkill
- client-validation-documentSkill
- cohort-analysisSkill
- competitor-alertsSkill
- competitor-analysisSkill
- competitor-monitorSkill
- competitor-pagesSkill
- connectSkill
- content-briefSkill
- content-calendarSkill
- content-decay-scanSkill
- content-engineSkill
- content-repurposeSkill
- context-engineSkill
- continuous-improvement-loopSkill
- counter-narrativeSkill
- cowork-setupSkill
- creative-testing-frameworkSkill
- credential-switchSkill
- crisis-responseSkill
- crm-syncSkill
- croSkill
- dark-funnelSkill
- data-exportSkill
- data-importSkill
- digital-prSkill
- email-sequenceSkill
- emerging-channelsSkill
- engagement-workflowSkill
- entity-auditSkill
- eval-configSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

