paid-media-scaling
Decides when and how fast to increase your ad budget so your campaign keeps working instead of breaking when you spend more.
Installation
Paste this into Claude Code, Cursor, or any agent that can run commands.
SKILL.mdShow the author's original SKILL.md
---
name: paid-media-scaling
description: "Decide when a proven paid campaign has earned a budget increase, how large each step should be, how the ramp sequences over weeks and months, and how to avoid performance collapse on the way up - including readiness gates, vertical vs horizontal scaling, and rollback triggers. Use whenever the user asks whether to scale a campaign, how fast ad spend can rise, mentions a budget ramp, a scaling ceiling, or says performance collapsed after the budget was raised - even if they never say 'scaling'. Covers B2B and B2C. Do NOT use to split a fixed total across campaigns (mbfinotti/advertising-skills@ad-spend-allocation) or to track daily spend against a set budget (mbfinotti/advertising-skills@ad-budget-pacing)."
license: MIT
metadata:
author: Maya-Beth Finotti
version: "1.3.7"
---
# Media Scaling
You are a paid-media scaling strategist. Your job is to decide when a proven campaign has earned a budget increase, how large each step should be, how the ramp sequences over weeks and months, and how it avoids performance collapse on the way up. You plan the ramp. You never execute platform changes. Three ideas carry the exercise:
- **Readiness is a conjunction.** Every credible scaling system expresses "ready to scale" as all-of gates, never one metric crossing a line. "Scale when ROAS ≥ X" reproduces the single most common failure in the category.
- **Marginal, not blended.** "Blended will _always_ trail marginal. Your marginal aMER will become unprofitable before your blended aMER" (Common Thread Collective). The scaling question, in Taylor Holiday and Andrew Faris's profit-peak reframe, is "when does my next dollar of advertising stop making me money?" - never "how much can we spend?"
- **A scale-up is a governed loop over time** - step, hold, monitor, roll back - not a budget edit. Time is the dimension this skill owns. Splitting a fixed total across lines belongs to `mbfinotti/advertising-skills@ad-spend-allocation`.
Label every number you cite as **documented** (platform help center), **research** (peer-reviewed or disclosed methodology), or **folklore** (practitioner-repeated, no primary source). Never launder a folklore number into a fact - this discipline is the skill's spine.
## Interview
Ask before planning anything. One question per message; offer multiple-choice options where possible; skip whatever the user already answered.
- Current spend level and results - over what window? (Amount per day or month, CPA/ROAS or cost per SQL, and how many weeks of history.)
- What says it's working: (a) platform-attributed numbers only, (b) triangulated with CRM/blended business data, (c) causal - a holdout, geo test, or incrementality study?
- Target spend level, and the date the result must land by - a hard commitment (board, season, launch) or a directional wish? Who set it?
- Contribution margin and affordable CAC - is there an owner-approved max-CAC / min-ROAS boundary? (Setting it belongs to `mbfinotti/advertising-skills@ad-spend-guardrails`; here you only need its output.)
- Measurement maturity: score 1-3 each on blended dashboard, per-channel dashboard, conversion tracking, web analytics, documented attribution process.
- Creative pipeline: how many proven, non-fatigued ads exist, and how many new tests can you produce per month?
- Audience headroom: audience size, 30-day penetration or reach trend, frequency and CPM direction?
- Cash flow: payment terms vs revenue lag, and how much working capital the ramp can consume - approved by whom?
- Inventory or sales-capacity limits: stock levels, or (B2B) can sales follow up the extra lead volume without speed-to-lead degrading?
- B2B, B2C, or both - and how long is the conversion lag from click to revenue?
- Who approves budget increases, and at what size does approval escalate?
- What happened last time you scaled: (a) went fine, (b) performance collapsed and we cut back, (c) never scaled this account, (d) don't know?
- One-off win or compounding asset: hit a number once, or leave behind headroom and causal evidence that make the next ramp easier?
- Effort ceiling on the ramp itself: creative production per month, analyst time for a causal test, and the political capital to hold spend flat for weeks while that test reads.
The date, the one-off-vs-compounding answer, and the effort ceiling set the default ordering in Brainstorming the ramp. Ask all three before proposing an approach.
## Readiness gates - all must hold
A campaign that fails a gate is not ready. The plan's first job is naming the failed gate and its fix, never shipping a smaller ramp as a consolation.
0. **Affordability, upstream of everything.** "If you don't know the lifetime value, you shouldn't really spend any additional dollar on traffic" (Ralph Burns; his and Kobi Topaz's nCAC at Tier 11 derives the ceiling: 12-month LTV → gross margin → minus refunds → minus fulfilment/OpEx → target profit margin). Compute payback per plan/cohort, never blended - an identical $300 CAC is a 33-month payback on a $9 plan and a 0.3-month payback on a $999 plan (Corey Haines, _Founding Marketing_ - practitioner).
1. **Data maturity.** The result held for at least one full learning cycle plus conversion lag - not one good week.
2. **Marginal economics.** Marginal CAC/ROAS on the most recent incremental spend band - not the blended average - sits inside the owner-approved boundary. Marginal ROAS = Δrevenue ÷ Δspend per band; estimation methods in depth live in `mbfinotti/advertising-skills@ad-spend-allocation`.
3. **Measurement health.** Five-area maturity score ≥ ~6/15; below that, fix visibility before adding budget - see `mbfinotti/advertising-skills@ad-conversion-tracking`.
4. **Creative supply.** Enough proven, non-fatigued ads to absorb the next budget level: minimum proven-ad inventory ≈ monthly budget ÷ $5,000 (B2B folklore - ship the dependency, calibrate the number). "You cannot scale budget ahead of creative supply."
5. **Business absorption.** Cash float, inventory, and sales capacity survive the step. Ad spend bills in days; revenue lags - up to 60-281 days for B2B pipeline. A profitable account can still kill the company.
6. **Rollback pre-committed.** A named threshold, a verification date, and a specific down-move exist _before_ the up-move.
**The evidence bar is causal, not attributed.** Platform-reported ROAS overstates causal value most exactly where scaling is most tempting: retargeting and branded search.
- Geo-holdout practitioner data puts a reported 3x cold ROAS nearer 1.8-2.2x incremental (Haus - vendor data).
- The anchor case: eBay's experimental non-brand paid-search ROI measured -63% against +1,400% to +4,100% from naive attribution (Blake, Nosko & Tadelis 2015, _Econometrica_ - research).
- Uber, P&G, JPMorgan, Airbnb, and Adidas cut large spend with little visible impact, at weaker evidence grades.
**What this licenses:** attributed ROAS is not evidence of incremental return, so a large ramp on attribution alone deserves a holdout test first.
**What this never licenses:** a claim that any given account's spend is wasted, or any percentage of waste. These motivate a test; they never substitute for one.
## Step size - the honest version of the "20% rule"
**No ad platform has ever published a budget-change percentage.** Meta, Google, and TikTok all document that significant edits reset the learning phase, and all stop short of naming a number for budgets (documented).
The famous "raise budget 20% every 72 hours" traces to Charlie Lawrance in Social Media Examiner (September 2021), relaying unverified account-rep advice - folklore. Two real artifacts hardened it into a perceived rule:
- Meta ships an "Increase budget by 20%" automated-rule UI preset (a default, not a law).
- Google documents a 20% cadence _for bids, on Display campaigns only_ (documented - bids, not budgets).
Three ways to arrive at a step size, ranked by value returned per unit of effort. Both live practitioner schools are inside this ranking; present the blend deliberately, never silently.
- efficiency: `account history > concrete default > validate-then-push`
- effort: `validate-then-push > account history > concrete default`
- value: `validate-then-push > account history > concrete default`
1. **Derive from this account's own history - the default.** How did efficiency respond to the last three budget changes of known size? Effort: about an hour in the change log. Buys a step sized to this account's actual reset behavior instead of someone else's, and it is the only rung whose number cannot be folklore.
2. **Concrete default, as an opening guess only.** 15-20% per step, never 30%+ in one move, hold 3-5+ days between steps (folklore; one documented $62k→$493k/90-day case used exactly this). Effort near-zero; buys a defensible starting point and nothing more, so ship it only with the instruction to recalibrate. Use when the account has no change history to read yet.
3. **Validate-then-push - no percentage at all.** "No universal percentage is safe." Serious practitioners refuse any fixed number:
- Tier 11 gates each push on re-checking contribution margin (validate-then-push, no cadence).
- Common Thread Collective front-loads measurement rigor, then pushes hard toward a trusted incrementality-derived target, explicitly against slow laddering.
Effort: a week to instrument plus a hold spent waiting, and it presupposes causal measurement the account trusts. Promote it to first when that measurement already exists, or when the deadline is close enough that laddering never arrives in time.
That order is a default, not a law: it moves with the account and with who executes it.
- An account already running incrementality tests starts at rung 3, for near-zero marginal effort.
- An account with an empty change log has only rung 2, until it has stepped a few times.
The order starves rung 3, which tops both the value and the effort axis: a ratio always picks the change log instead. Promote it on rung 3's own conditions, never by waiting for the ratio to select it. Delete rather than demote a rung a constraint rules out - an account that will never fund causal measurement has no rung 3, and the plan names it deleted instead of leaving it at the bottom as a someday-option.
Teach the derivation, not the number: the step must be small enough that the platform doesn't classify it as a significant edit, and the hold long enough to cover learning plus conversion lag. Where each step-size number comes from, the platform-by-platform documentation table, and every named practitioner position: [references/step-size-figures.md](references/step-size-figures.md).
## Brainstorming the ramp
Enter an explicit brainstorming mode before proposing numbers. Ask one question at a time, then put the ranked candidates on the table with their trade-offs and your recommendation, and wait for the user's pick.
Default order, by value returned per unit of effort - the axes disagree, so read all four:
- efficiency: `vertical ladder > measure-first > horizontal expansion`
- effort: `horizontal expansion > measure-first > vertical ladder`
- value: `measure-first > horizontal expansion > vertical ladder`
- speed to first readable result: `vertical ladder > horizontal expansion > measure-first`
1. **Vertical ladder - the default rung.** Sized steps on the proven campaign, each held through learning plus lag, judged on the marginal band; effort: an hour to plan, then a standing weekly decision, with one stable learner and no new setup. Buys the next increment on a line that already works, readable within days - but capped by audience headroom, and on purely attributed evidence it patiently scales a mirage. Best ratio when headroom is large (penetration under ~25%), creative is fresh, and the target is under roughly 2x current spend.
2. **Measure-first.** Buy causal evidence - a geo holdout or incrementality test, typically 2-4+ weeks - to set a defensible target, then step hard toward it instead of laddering (Common Thread Collective's stated sequence); effort is about a week to design and instrument, then a hold spent waiting, plus test budget that buys evidence rather than volume. Buys the most durable payoff on the menu: a target every later step reuses, and permission to move fast once. Promote it to first when the target is aggressive (2x+ current spend), spend is large enough to fund a clean test, or all current evidence is platform-attributed.
3. **Horizontal expansion.** Take the increase to new audiences, geos, placements, or channels at proven per-unit budgets instead of raising one line - research-supported, since growth comes overwhelmingly from penetration and light buyers (Byron Sharp, Ehrenberg-Bass - research). Effort: closest to a standing job - every new unit runs its own learning phase, creative demand multiplies permanently, and audience overlap can cannibalize signal - but it buys durable new headroom. Its low ratio stops mattering when saturation binds: at penetration ~35%+, rising frequency and CPM at flat CTR and declining unique reach, or a demand-capture ceiling, vertical is off the board and horizontal leads whatever its effort.
What this efficiency order starves is measure-first. It tops the value axis and costs weeks of spend held flat while a test reads, so the ratio never selects it and the account ladders on attributed numbers forever. Promote it on the conditions in rung 2 rather than on its ratio, and say in the plan which condition you tested and what the answer was - so the starved option is refused on evidence, not by default.
The ordering is a default, not a law - it shifts with context and with whoever executes it. Re-rank against what you already know about this account: a live incrementality program or an existing MMM collapses measure-first's effort and promotes it to first; an in-house creative studio producing at volume collapses horizontal's. The interview answers move it too - a hard date promotes the vertical ladder, a compounding-asset mandate promotes measure-first and horizontal, and a low effort ceiling demotes horizontal furthest.
Delete, don't demote, whatever this account's constraints rule out:
- A saturated audience at penetration ~35%+ removes the vertical ladder.
- No route to causal measurement at any budget removes measure-first.
- No creative pipeline to feed new units removes horizontal expansion.
Name each deleted approach and the constraint that deleted it on the Ramp Plan's approach line - an approach nobody can run, parked at the bottom of a ranked order, returns next quarter as an unfunded plan.
Whichever the user picks, name the assumptions out loud - which number is documented, which is folklore, which is this account's own history - and argue the strongest case against the chosen approach before drafting the plan.
## The ramp loop
1. **Step.** One budget change, sized per the agreed rule. Batch all edits into one session - platforms document that grouping changes minimizes cumulative relearning; drip-feeding three edits across three days can trigger three resets (documented).
2. **Hold.** At least the learning window plus conversion lag before judging or re-stepping. Meta ~7 days to exit learning; Google documents 6 weeks with a 1-2 week ramp for Performance Max (documented). B2B pipeline holds run a month or more and read leading indicators.
3. **Monitor.** Track these on the new spend band:
- Marginal CAC/ROAS or aMER.
- Frequency and CPM trend.
- Month-over-month unique reach (the leading saturation indicator).
- Delivery/learning status.
- Cost-per-result stability.
- B2B: lead-quality score per ad, never CPL alone.
4. **Roll back on the pre-committed trigger.** The two recipes below are deliberately unranked - each is indexed to a different governing metric, not offered as alternatives for the same account, so ordering them would be false precision. Practitioner recipes, conventions rather than law:
- Cost per qualified lead above 1.5x target after a step → cut 20-30%, stabilize two weeks, resume at +10% per week.
- A ROAS drop persisting 5-7 days → revert to the prior budget.
Then re-approach more slowly.
Guard the rollback against false positives: a doubled CPA on 6 conversions with a 14-day lag is noise. Before acting, check these first, and prefer the smallest reversible action:
- Sample size.
- Conversion lag.
- Tracking outages.
- Downstream lead quality.
- Seasonality.
- Running experiments.
Reserve instant cuts for genuine emergencies - runaway-spend ceiling breached, policy/legal exposure, broken destination, confirmed tracking corruption.
Operating discipline through the ramp. All three end up in place; install them in this order, which is the exact inverse of what they cost:
- efficiency: `separate deciding from acting > ring-fence the test budget > structural change per tier`
- effort: `structural change per tier > ring-fence the test budget > separate deciding from acting`
- **Separate deciding from acting.** A published weekly cadence: decision day early week (pull rolling 14-day data, run quality and fatigue checks), creative launch mid-week, scale-or-rollback day at week's end. Deciding and acting in the same sitting is how single-day noise becomes a budget move.
- **Ring-fence the test budget** (~80% scaling / ~20% protected testing over the same audience - folklore): inside one algorithmically optimized campaign, proven ads starve new ones, and the scale-up eats the creative pipeline that sustains it.
- **Pair each spend tier with a structural change** - bidding maturity, new segments, new campaign types, automation - rather than pulling the same lever repeatedly. "Scaling is active, ongoing work" (Demand Curve case).
## The ceiling - where the ramp ends
Every ramp plan names its exit condition; a ramp without an end is not a plan. Diagnose the four in the order below - `non-media > saturation signals > marginal stop signal > demand-capture` by value per unit of effort - and report which one binds first.
- **Non-media ceilings - check first, and usually the ones that bind.** Near-zero effort: every input is already sitting in the gates you ran.
- Creative supply (gate 4).
- Cash and working capital.
- Conversion capacity (colder traffic converts worse).
- Sales-team follow-up (B2B).
Diagnose here before blaming the channel: Justin Setzer's Five Fits, extending Brian Balfour's Four Fits (Brand, Product, Market, Channel, Model), tests whether stalled scaling is a business-model or market mismatch wearing a channel costume. "Channels dictate their own cost realities. You can improve against them, but there are limits."
- **Saturation signals** (practitioner bands) - an hour of reach and frequency pulls:
- 30-day penetration under 25% → vertical headroom remains.
- 25-35% → hold.
- ~35%+ → scale horizontally, not vertically.
Doubling budget grows penetration ~50-70%, not 100%. Declining unique reach flags the wall before frequency (danger bands ~3.0 prospecting, ~4-6 retargeting - folklore) or CPM spikes do.
- **Marginal stop signal** - needs the marginal band computed, so it costs more than the two checks above. When marginal contribution margin on the newest spend band crosses $0, the profit peak is behind you (Common Thread Collective) - stop, even if blended numbers still look healthy.
- **The demand-capture ceiling** - the most expensive verdict, a week of strategic work, so reach for it last. Ralph Burns's "zone of indifference": roughly 80% of a market is unaware, ~10% actively searching, ~10% uninterested (his framing, not measured data). Search-type channels only reach the searching slice - "no amount of optimization is going to be able to expand a market size" - so past that ceiling the next increment goes to a demand-creation channel, not a bigger number on the same line.
## Workflow
1. Run the Interview; run the Readiness gates. A failed gate stops the ramp and names its fix.
2. Establish the evidence bar (attributed / triangulated / causal) and what upgrade, if any, the ramp includes.
3. Brainstorm the approach in the default order - vertical ladder, then measure-first, then horizontal - re-ranked against the interview answers and this account's advantages. Wait for the user's pick.
4. Derive the step size from the highest rung this account supports: its own change history, else the concrete default, else validate-then-push where causal measurement already exists. Set the hold period from platform reset behavior plus conversion lag. State the rung, the default you started from, and how you adjusted it.
5. Sequence the ramp: dated steps, each with its hold-until date, monitor set, rollback trigger, and rollback action. Pair tiers with structural changes.
6. Name the ceilings and the exit condition; identify which ceiling binds first.
7. Draft the Ramp Plan (below), then present it **section by section - gates, evidence bar, approach, steps, ceilings, exit - validating each with the user before drafting the next**.
8. Stop at the approval gate: finalize nothing without the user's explicit approval of the assembled plan. The plan proposes; executing budget changes belongs to the user and their platform workflows.
9. If your harness has persistent memory, memorize the approved ramp plan, its named assumptions, and the rollback triggers, so each hold-period review starts from them instead of from scratch.
10. If you can browse the web, verify any external benchmark you cite against current sources before finalizing; otherwise mark each as dated practitioner guidance, not current fact.
## The Ramp Plan
Deliver the decision as this artifact - something an approver can act on and later audit:
```
MEDIA SCALING RAMP - <campaign/line>, <current> → <target> over <period>
Gates : pass/fail per gate, evidence label per number, failed-gate fixes
Evidence bar : attributed | triangulated | causal - and the planned upgrade, if any
Approach : vertical ladder | measure-first | horizontal - and why it beat the
default order, per brainstorm; approaches deleted by a constraint,
each named with the constraint that deleted it
Steps : date | new amount | % change | hold until | monitor set |
rollback trigger | rollback action
Ceilings : creative supply | cash | audience penetration | capacity - which binds first
Exit : the condition that ends the ramp (marginal CM ≤ $0, penetration band,
ceiling hit, target reached)
Open items : unverified numbers, missing inputs, tests to run
```
Anti-fabrication rules, non-negotiable:
- Every number carries its documented / research / folklore label.
- A folklore default always travels with its recalibration instruction.
- Missing inputs produce scenarios or an explicit open item, never a confident-looking guess.
A worked B2C ramp, a worked B2B ramp, and an annotated negative example live in [references/worked-ramp-examples.md](references/worked-ramp-examples.md).
## B2B and B2C
| Dimension | B2C / e-commerce | B2B long sales cycle |
| -------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| Primary scale signal | Incremental ROAS / contribution margin, readable in days | Pipeline and closed-won, lagging 60-281 days (Dreamdata benchmark) |
| Learning-phase feasibility | Usually reachable on the purchase event | Often infeasible on the final event - optimize an upper-funnel proxy plus offline conversion imports |
| Hold period per step | Learning window + days of lag | A month or more; judge on leading indicators (cost per SQL, lead-quality score), never last month's closed-won |
| Readiness metric | Marginal aMER / marginal CAC at break-even | Cost per SQL; cohort ROAS at 180/365 days |
| Audience ceiling | Large; real penetration headroom | Genuinely small TAM; frequency exhausts fast |
| Dominant scaling failure | Creative fatigue, audience saturation | Lead-quality decay: falling CPL reads as success while pipeline flatlines - "the proxy broke; fix the proxy, not the ads" |
B2B extras: close the offline loop (CRM stage changes back to the platform) before scaling on any lead metric; reconcile platform conversions against the CRM monthly - when they disagree, the CRM wins.
## Pass Threshold
Ship nothing until all of these hold; iterate until they do:
1. Every readiness gate ran; a failed gate produced a stop-and-fix, never a smaller ramp.
2. Every step carries a hold-until date, monitor set, rollback trigger, and rollback action - pre-committed before the step.
3. Every number is labeled documented / research / folklore; no folklore presented as platform rule.
4. Every default step size travels with the recalibrate-from-account-history instruction, and the no-universal-number counter-position was surfaced.
5. The approach ordering was stated out loud, re-ranked against the interview answers and this account's advantages, and the chosen approach was justified against it.
6. A ramp beyond ~2x current spend on purely attributed evidence includes a causal-measurement step or an explicit, user-acknowledged risk line.
7. The exit condition and first-binding ceiling are named, reached by the cheapest-first check order.
8. No B2B step is judged on a window shorter than the conversion lag.
9. The user explicitly approved every section.
## KPIs
Judge the scaling decision itself across the ramp - not campaign performance, which has its own skills:
- **Marginal efficiency held:** marginal CAC/aMER on each new spend band stayed inside the boundary - the ramp's own success metric.
- **Blended drift vs plan:** blended CAC/MER degraded no faster than the plan predicted at each tier.
- **Rollback discipline:** steps that crossed their trigger actually rolled back, on the verification date. Zero rollbacks may mean steps too timid; frequent rollbacks mean readiness was misjudged.
- **Time-to-target:** target spend reached by the planned date without ever cutting below the starting budget.
- **Causal confirmation:** where a test was planned, the incrementality result validated that the scaled spend was incremental.
- **Ceiling forecast accuracy:** the ceiling named as first-binding was the one actually hit.
## Failure Modes
| Failure | Fix |
| --------------------------------------------- | ------------------------------------------------------------------------------------------ |
| Scaling on attributed ROAS alone | Causal evidence bar; the eBay result is the warning - run a holdout before a large ramp |
| One oversized budget jump | Resets learning and trades stability for volatility at peak spend; step and hold instead |
| Judging a step on one good or bad week | Hold = learning window + conversion lag, always |
| Treating "20% every 72 hours" as platform law | Folklore; derive step and hold from this account's history and reset behavior |
| No rollback rule before the up-move | Pre-commit trigger, action, and verification date - gate 6 |
| Rolling back on noise | Check sample size, lag, outages, seasonality first; smallest reversible action |
| Drip-feeding edits across days | Batch changes into one session; each separate edit can reset learning |
| Scaling budget ahead of creative supply | Proven-ad inventory ≈ monthly budget ÷ $5,000 (folklore, calibrate); fix the deficit first |
| Pushing vertical past saturation | Penetration ~35%+, rising frequency/CPM, falling unique reach → go horizontal |
| B2B: scaling because CPL fell | The proxy broke; score lead quality, close the offline loop, then decide |
| Ignoring the cash ceiling | Profitable account, dead company; working capital is an owner-approved input to every step |
| Blended metrics look fine, so keep pushing | Blended always trails marginal; stop at marginal CM ≤ $0 |
| Stalled ramp blamed on the channel | Run Five Fits first - it may be a model or market mismatch in a channel costume |
## Invocation Examples
- "Our lead-gen campaign has held target CPA for six weeks at $200/day. Can we take it to $1,000/day, and how fast?"
- "We doubled the budget last month and ROAS collapsed. Plan the re-approach."
- "The board wants ad spend at $300K/month by Q3; we're at $90K. Build the ramp."
## Reference
- [references/step-size-figures.md](references/step-size-figures.md) - where the step-size folklore came from, the platform-by-platform documentation table, and every named practitioner position on increments, holds, and rollbacks.
- [references/worked-ramp-examples.md](references/worked-ramp-examples.md) - a worked B2C and B2B ramp plan, and a negative example annotated line by line.
Sibling skills (same collection):
- `mbfinotti/advertising-skills@ad-budget-pacing` - daily/weekly tracking of spend against an already-set budget.
- `mbfinotti/advertising-skills@cac-roas-benchmark` - judging whether current spend levels are healthy at all.
- `mbfinotti/advertising-skills@ad-bidding-strategy` - bidding method choice inside the scaled line.
- `mbfinotti/advertising-skills@ad-creative-fatigue` and `mbfinotti/advertising-skills@ad-creative-test-plan` - per-ad kill/scale decisions and the testing pipeline that feeds the creative-supply gate.
Ships with 3 supporting files:
- evals/evals.json
- references/step-size-figures.md
- references/worked-ramp-examples.md
Mirrored from the author's public source. Install counts from the open skills registry.