Turn 'we should run ads' into a plan with a kill rule.
The audiences, the offer per audience, the creative angles, the budget split, and the metric that calls it a win.
Inside: The audiences, the offers, the budget split, and a pre-written stop-loss.
Install it in one line, or paste it in.
~/.claude/skills/ and runs automatically when it is relevant.Connect your context. Set it to your motion.
it reads spend, impressions, clicks, and cost per result across your live campaigns, so the budget split and targets start from history, not guesses.
closes the loop from click to signup or pipeline, so you optimize to the metric that pays, not the one that is easy.
ties ad-sourced leads to real opportunities, so cost per lead becomes cost per qualified lead.
This was built for a B2B team running paid social and search to a demo or trial. Set these to your stack:
The metrics below are illustrative placeholders, not benchmarks. Replace them with your own targets.
| Set this | What it is | Default / Example |
|---|---|---|
| CHANNELS | where you buy | paid searchpaid socialretargeting |
| PRIMARY_GOAL | what the campaign is for | demo requeststrial startsMQLs |
| WIN_METRIC | the number that means it worked | cost per qualified leadpipeline per dollar |
| GUARDRAIL_METRIC | the number that caps waste | max CPLmin CTRmin landing conversion |
| BUDGET | total or monthly spend | your figure |
| KILL_WINDOW | how long a line runs before you judge it | 7 to 14 daysor a minimum spend |
| ATTRIBUTION | how you credit the click | last-touchfirst-touchyour model |
Everything the skill does, in full.
Takes a campaign goal and a budget and turns it into a plan a media buyer can execute: who you are targeting, what you put in front of each audience, the angles the creative should test, how the money splits, the one number that means it worked, and the rule that tells you when to shut a line off. It plans the campaign. It does not spend the money for you.
- 1Audiences (start narrow)
List the distinct audiences worth separate money: by segment, by intent, by stage. Cold prospecting, warm retargeting, and existing-list expansion are different buyers and should never share a budget line or a target. Name each one and why it is a real audience, not a slice you invented.
- 2Offer per audience
Each audience gets one offer matched to its temperature. Cold traffic rarely buys a demo on the first touch, so cold usually gets a low-friction offer (a guide, a teardown, a tool). Warm retargeting gets the direct ask. Never run the same offer to a stranger and to someone who already visited your pricing page.
- 3Creative angles (test the message, not just the image)
For each audience, name 2 to 4 angles to test: the pain, the outcome, the proof, the contrarian take. Angles are hypotheses about what the buyer cares about. You are buying data on which one is true. Hold the offer steady and let the angle be the variable.
- 4Budget split
Split the budget across audiences and angles with a bias: most of the money to the audience most likely to convert, a fixed slice reserved for testing new angles. Write the split as percentages that sum to 100, and note the reasoning so a buyer can defend it.
- 5Win metric and guardrail
Pick one WIN_METRIC the whole campaign is judged on, tied as close to revenue as your tools allow. Pick one GUARDRAIL_METRIC that caps waste. Clicks and impressions are diagnostics, not wins. If the only number you can see is a vanity number, say so and name the tool that would fix it.
- 6Kill rule
Write the rule before you launch, so you kill on evidence, not on feelings. A line dies when it passes KILL_WINDOW and misses the guardrail with enough spend to trust the read. Winners get more budget, losers get cut, and the test slice refills with new angles.
- Every audience has its own offer. No shared line between cold and warm.
- The win metric is the closest thing to revenue your tools can see, and the skill names what it cannot yet see.
- The kill rule is written before launch, with a spend floor so you are not reading noise.
- Any number shown as a target is labeled illustrative unless it came from your connected data.
PAID-ADS PLAN · Q3 demo push · $18K/mo (illustrative) Audience Offer Angles Split Win metric Cold, paid social Teardown guide Pain / Outcome / Proof 40% CPL under target Cold, paid search Demo (high intent) Outcome / Contrarian 30% Cost per qualified lead Retargeting Book a demo Proof / Urgency 20% Demo booked Test reserve rotating new angles 10% signal only Kill rule: any line past 10 days and 1.5x target CPL with >$500 spend gets cut. Reallocate to the top performer, refill the test reserve with a fresh angle. Next move: connect the ad platform so the split starts from your real cost-per-result, not these placeholders.
Where an operator takes this next.
A plan on paper is the easy half. Here's where it becomes a system that spends the budget for you, inside guardrails you set.
Plan the campaign once. Let the connectors keep it honest every day after.
Connect the ad platform so cost-per-result updates the plan automatically, and the win metric stops being a guess.
Wire in a web-analytics tool and the CRM so cost per lead becomes cost per qualified pipeline dollar, the number that actually matters to a buyer of this plan.
A scheduled Claude task checks every line against the guardrail daily and posts to Slack the moment a line crosses 1.5x target CPL, instead of waiting for the weekly review to notice.
One skill is the on-ramp.
A single skill does one job. Chained into a playbook, or run as a full build, it becomes a system. Here is where this one plugs in.