Creative Performance
Creative decisions for ecommerce teams: separate fatigue from a weak concept, set each asset live, retire or refresh, then brief the variants worth producing.
When an ad's performance drops, two entirely different things could have happened and the metric looks identical. The concept may be fine and the audience may have seen it too many times, in which case the answer is a variant on the same idea. Or the concept may be weak and early performance was novelty, in which case producing five variants of it wastes a month. Teams usually guess, and guessing wrong is expensive in both directions. This skill separates fatigue from a weak concept, sets each asset live, retire or refresh, and briefs the variants worth producing.
What It Does
- Reads frequency and first-time impressions to identify genuine fatigue.
- Separates a declining concept from a concept the audience has exhausted.
- Ranks creatives on contribution rather than on click-through rate.
- Identifies which element of a winning asset is doing the work.
- Sets each creative to live, retire, or refresh with the evidence.
- Briefs the variants worth producing, with what to keep and what to change.
Use Cases
- Stop producing variants of a concept that never worked.
- Refresh an asset that is fatigued rather than replacing a format that works.
- Rank creatives on what they earn instead of on what they get clicked.
- Give the creative team a brief that names the element to keep.
Example Session
Which ads are tired, which are actually bad, and what should we make next?
Two are fatigued and one was never working. They need opposite responses.
- Creative | Frequency | CTR trend | Contribution | Diagnosis | Action
- UGC unboxing, v3 | 6.4 | Down 38% | $14,200 | Fatigued | Refresh, same concept
- Founder to camera | 5.9 | Down 31% | $9,800 | Fatigued | Refresh, new hook
- Studio product spin | 1.8 | Down 12% | -$400 | Weak concept | Retire
- Before and after | 2.1 | Flat | $21,600 | Working | Keep live, scale
The unboxing and the founder ad are both at frequency near six with declining click-through, which is exhaustion rather than failure: keep the concept and change the execution. The studio spin has been seen 1.8 times and is already negative, so no variant fixes it. Before and after is the concept to build the next three assets from.
Why This Beats Prompting It Yourself
A Declining Metric vs The Reason It Is Declining: The Hidden Risk
A generic prompt sees performance falling and recommends new creative, which is right half the time and wrong in a specific and costly way the other half. Replacing a fatigued concept throws away something that works. Producing variants of a weak concept spends a production cycle proving the original point. The metric looks the same in both cases.
When You Still Need To Know Which Element Is Working
A brief that says make more like this one is not a brief. This skill names what is carrying the asset, the first three seconds, the claim, the format, so the next version keeps the part that earns and changes the part the audience has worn out. Without that, a refresh is a coin flip performed at production cost.
Known Limitations
Fatigue detection needs frequency data at the creative level, which some placements report imprecisely, and the output says when frequency is inferred rather than measured. Element-level attribution is directional: it names the likely driver from performance patterns across your assets, not from an isolated test of each element. It briefs the variants and does not produce them.
Install It
- Download the ZIP.
It is free and there is no account to create. - Unzip it into your agent's skills folder.
Claude Code reads ~/.claude/skills/, which is hidden by default: the command in the folder block opens it. Other agents scan their own directory, so drop the same folder there instead. - Ask your agent to use it.
Restart the agent if it was already running, then it picks the skill up with no config.
skills folder
Copy
~/.claude/skills/creative-performance/
SKILL.md
references/fatigue-model.md
briefs/
# one brief per variant, with what to keep
# macOS: create the folder and open it in Finder
mkdir -p ~/.claude/skills && open ~/.claude/skills
# Windows: paste in the Explorer address bar
%USERPROFILE%\.claude\skills\Frequently asked questions
How is this different from looking at frequency in the ad platform?
Frequency alone does not distinguish a tired winner from a weak concept, because a bad ad also accumulates frequency. This reads frequency against first-time impressions and contribution together, which is what separates exhaustion from failure.
Which agents does the skill run in?
Any agent that supports the open SKILL.md format: Claude Code, Cursor, Codex CLI, GitHub Copilot, Gemini CLI, Manus, Grok and others load it unmodified. The format is portable, the location is not. Each agent scans its own skills directory, so you drop the same folder into whichever one yours uses. There is no config file to edit and no API key to provision.
What does it need connected to work?
Creative-level spend, impressions, frequency and revenue, plus product margin so ranking runs on contribution. Without margin it ranks on revenue and labels the ranking as pre-margin.
Why rank on contribution rather than click-through rate?
Because the creative with the best click-through is frequently the one selling your cheapest product, and click-through has no view of what the sale earns. Ranking on contribution changes the order for most accounts, and changes which concept the team builds on next.
Can it tell me which part of the ad is working?
Directionally. It names the likely driver from patterns across your assets, which is enough to write a useful brief. It is not a controlled test of each element, and the output is explicit that the attribution is inferred.
What is included with the skill?
The skill itself, the fatigue model reference, the variant brief format, and the contribution ranking inputs. It is free and security scanned. We re-publish the ZIP when the model changes, so download it again if your diagnoses start shifting.
Creative status should follow margin, not thumb-stop rate.
Polar carries spend, revenue and contribution margin per asset on one definition, so scaling or cutting an ad is grounded in what it returned.
<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"How is this different from looking at frequency in the ad platform?","acceptedAnswer":{"@type":"Answer","text":"Frequency alone does not distinguish a tired winner from a weak concept, because a bad ad also accumulates frequency. This reads frequency against first-time impressions and contribution together, which is what separates exhaustion from failure."}},{"@type":"Question","name":"Which agents does the skill run in?","acceptedAnswer":{"@type":"Answer","text":"Any agent that supports the open SKILL.md format: Claude Code, Cursor, Codex CLI, GitHub Copilot, Gemini CLI, Manus, Grok and others load it unmodified. The format is portable, the location is not. Each agent scans its own skills directory, so you drop the same folder into whichever one yours uses. There is no config file to edit and no API key to provision."}},{"@type":"Question","name":"What does it need connected to work?","acceptedAnswer":{"@type":"Answer","text":"Creative-level spend, impressions, frequency and revenue, plus product margin so ranking runs on contribution. Without margin it ranks on revenue and labels the ranking as pre-margin."}},{"@type":"Question","name":"Why rank on contribution rather than click-through rate?","acceptedAnswer":{"@type":"Answer","text":"Because the creative with the best click-through is frequently the one selling your cheapest product, and click-through has no view of what the sale earns. Ranking on contribution changes the order for most accounts, and changes which concept the team builds on next."}},{"@type":"Question","name":"Can it tell me which part of the ad is working?","acceptedAnswer":{"@type":"Answer","text":"Directionally. It names the likely driver from patterns across your assets, which is enough to write a useful brief. It is not a controlled test of each element, and the output is explicit that the attribution is inferred."}},{"@type":"Question","name":"What is included with the skill?","acceptedAnswer":{"@type":"Answer","text":"The skill itself, the fatigue model reference, the variant brief format, and the contribution ranking inputs. It is free and security scanned. We re-publish the ZIP when the model changes, so download it again if your diagnoses start shifting."}}]}</script>
