Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when the user needs the next period's ads plan built from the last period's data: read the report and audit, keep and scale winners, stop or fix losers, set new test hypotheses, split budget, and plan three budget scenarios. Trigger on 'next month ads plan', 'next ads plan', 'plan ads for next period', 'plan from the ads report', 'what should we run next month', or 'Q4 ads plan'.
.claude/skills/minhnv0807-57-next-ads-plan-global/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-18 | ✗→✓ | ▲ Improved | 199% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 14% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 29% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 176% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 106% | 0% |
A plan without last period's data is guesswork, and guesswork is expensive. The order never changes: read the data, scale the winners, fix or stop the losers, then test something new. This is the last skill in the performance chain and the first skill of the next cycle.
Before writing a single line of plan, you need:
07-marketing-report-global or the tracking dashboard: spend, CPA, ROAS, leads, orders, broken out by channel, campaign, creative, and market.21-ads-audit-global or 03-performance-eval-global if the previous period had problems.10-reverse-kpi-global.Missing the report means stop and either request the data or run 07-marketing-report-global first. If only part is missing, write the assumption explicitly into the plan.
references/benchmarks-global.md, Q4 CPM runs about 26% above Q1, November peaks around 27% above average, and January is the cheapest month at roughly 21% below. A flat month-over-month plan across a seasonal boundary is already wrong.| Worked (KEEP) | Did not work (STOP/FIX) | Untested (ADD) | |---------------|-------------------------|----------------| | winning creative/audience/channel with numbers] | losing ad set with numbers and cause] | new hypothesis from observation] |
Extract the winning patterns:
references/benchmarks-global.md, never against the blended account average.| Period | Total budget | Objective | KPI target | New offer or campaign | |--------|-------------|-----------|-----------|-----------------------| | month/quarter] | amount] | lead/conversion] | CPA x] / ROAS x] / volume x] | if any] |
If the target changed, or the offer, price, or market changed, recalculate with 10-reverse-kpi-global before continuing.
| Winner | Previous CPA/ROAS | How it multiplies | What changes | New budget | Channel | |--------|-------------------|-------------------|--------------|-----------|---------| | Creative A] | numbers] | Keep as is, +20-30% budget | Nothing | amount] | x] | | Audience B] | numbers] | Duplicate with new creative | 2 new variants | amount] | x] | | Hook C] | numbers] | Port to a new channel | Format change | amount] | x] | | Market D] | numbers] | Expand to an adjacent market | New geo, same creative | amount] | x] |
Apply the 55-scaling-ads-global rules: +20-30% per step, never double, do not edit the winning ad set.
| Campaign / ad set | Problem (with numbers) | Decision | If fixing: what changes | |-------------------|------------------------|----------|-------------------------| | name] | CPA above 2x target for 3 days | STOP | — | | name] | CTR far below the median band | FIX | New creative and hook, keep the audience | | name] | Frequency 3.5+, CTR down 30% | FIX | Refresh creative, widen the audience | | name] | Good CTR, poor CVR | FIX | Landing page or offer, not the ad |
Use the diagnostic order from references/benchmarks-global.md: weak CTR is a creative problem; good CTR with weak CVR is a landing page or offer problem; good CVR with weak ROAS is a margin or AOV problem. Every stopped item gets a logged reason so nobody retests the same thing next period.
| Campaign | Purpose | Daily budget | % of total | |----------|---------|-------------|-----------| | Scale winners | Maintain and grow | amount] | 50% | | Testing (new hypotheses) | Find the next winner | amount] | 30% | | Retargeting | Convert warm and hot | amount] | 15% | | Lookalike | Open new pools from fresh seeds | amount] | 5% | | Total | | | 100% |
| Scenario | Assumption | Budget | Expected volume | Action if it happens | |----------|-----------|--------|-----------------|----------------------| | Downside | CPA up 30% (seasonal peak, creative fatigue, auction pressure) | amount] | number] | Cut testing to 20%, concentrate on winners and retargeting | | Base | CPA holds at last period | amount] | number] | Run this plan as written | | Upside | CPA down 20% (a new winner lands) | amount] | number] | Push scaling +20% per 72h, open a new channel or market |
If the new period crosses into Q4, build the downside scenario as the default assumption rather than the exception — the seasonal CPM lift is documented, not speculative. Commit to the base scenario with stakeholders; keep prepared actions for the other two so nobody is caught flat-footed.
| # | Hypothesis ("If X then Y because Z") | Variable | Platform | Metric | Timeline | |---|--------------------------------------|----------|----------|--------|----------| | 1 | If we use UGC testimonial creative, CPA drops because trust is higher | Creative format | x] | CPA | 7 days | | 2 | If we open a 3% lookalike, volume rises while CPA holds | Audience | x] | CPA, volume | 7 days | | 3 | If we test a second market, blended CPA improves | Geo | x] | CPA by market | 14 days |
Set up and conclude these according to 19-ab-test-setup-global: one variable at a time, at least 7 days, enough conversions to decide.
| Creative needed | Type | Hook | Channel | Deadline | Used for | |-----------------|------|------|---------|---------|---------| | name] | Video | Pain | Meta | date] | Testing | | name] | Static | Social proof | Meta | date] | MOFU / retargeting | | name] | UGC | Testimonial | TikTok | date] | Scaling |
Have 2-3 reserve creatives ready before the period starts. Do not wait for fatigue to brief.
| Week | Focus | Action | Cumulative % of period KPI | |------|-------|--------|---------------------------:| | 1 | Launch winner clones | Build, launch, verify tracking green | 20% | | 2 | Launch tests | Run hypotheses, read day-3 signal | 45% | | 3 | Optimize | Scale winners, pause losers | 70% | | 4 | Review and prepare | Pull data, write the report, draft the next plan | 100% |
At the end of each week, compare cumulative actual against the threshold. A shortfall above 15% triggers the downside scenario immediately — do not wait for the period to end.
File name: next-ads-plan-[product]-[YYYYMMDD].md — nine sections matching the nine steps above: review, direction, multiply winners, stop losers, budget split, three scenarios, hypotheses, creative pipeline, weekly schedule.
07-marketing-report-global: the primary data source — run it first.21-ads-audit-global and 03-performance-eval-global: audit before planning if the previous period had problems.10-reverse-kpi-global: recalculate whenever the target, budget, offer, or market changes.54-media-plan-global: when the new period involves a major change (new channel, new offer, new market), build a full media plan instead of an increment.19-ab-test-setup-global: how to set up and conclude each hypothesis.52-account-structure-global: build and launch the campaigns this plan defines.| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-18 | fail→pass | 16,217 | 33,136 | +104% | 1 | 1 | 0% | 2,958 | 8,859 | +199% | 0 | 0 | — |
case-01 | fail→pass | 49,405 | 41,937 | -15% | 1 | 1 | 0% | 8,367 | 9,520 | +14% | 0 | 0 | — |
case-02 | fail→fail | 48,134 | 46,731 | -3% | 1 | 1 | 0% | 8,357 | 9,978 | +19% | 0 | 0 | — |
case-03 | fail→pass | 45,323 | 48,302 | +7% | 1 | 1 | 0% | 8,371 | 10,830 | +29% | 0 | 0 | — |
case-04 | pass→pass | 22,732 | 29,434 | +29% | 1 | 1 | 0% | 3,451 | 7,385 | +114% | 0 | 0 | — |
case-05 | pass→pass | 13,269 | 17,914 | +35% | 1 | 1 | 0% | 2,906 | 6,504 | +124% | 0 | 0 | — |
case-06 | pass→pass | 11,923 | 12,811 | +7% | 1 | 1 | 0% | 2,411 | 4,923 | +104% | 0 | 0 | — |
case-07 | fail→pass | 8,327 | 9,886 | +19% | 1 | 1 | 0% | 1,578 | 4,360 | +176% | 0 | 0 | — |
case-08 | fail→pass | 15,258 | 14,321 | -6% | 1 | 1 | 0% | 2,476 | 5,106 | +106% | 0 | 0 | — |
case-09 | fail→pass | 17,106 | 13,861 | -19% | 1 | 1 | 0% | 3,077 | 4,839 | +57% | 0 | 0 | — |
case-10 | fail→fail | 22,901 | 31,513 | +38% | 1 | 1 | 0% | 4,055 | 8,126 | +100% | 0 | 0 | — |
case-11 | pass→pass | 14,628 | 28,089 | +92% | 1 | 1 | 0% | 2,104 | 7,388 | +251% | 0 | 0 | — |
case-12 | fail→pass | 13,496 | 10,535 | -22% | 1 | 1 | 0% | 2,283 | 4,317 | +89% | 0 | 0 | — |
case-13 | fail→fail | 12,352 | 28,515 | +131% | 1 | 1 | 0% | 1,894 | 7,535 | +298% | 0 | 0 | — |
case-14 | pass→pass | 10,559 | 8,064 | -24% | 1 | 1 | 0% | 1,660 | 3,871 | +133% | 0 | 0 | — |
case-15 | fail→pass | 17,100 | 14,123 | -17% | 1 | 1 | 0% | 2,722 | 4,504 | +65% | 0 | 0 | — |
case-16 | fail→pass | 13,397 | 15,307 | +14% | 1 | 1 | 0% | 2,321 | 5,061 | +118% | 0 | 0 | — |
case-17 | pass→pass | 15,707 | 14,081 | -10% | 1 | 1 | 0% | 2,617 | 5,031 | +92% | 0 | 0 | — |
case-19 | pass→pass | 11,973 | 9,097 | -24% | 1 | 1 | 0% | 1,688 | 3,959 | +135% | 0 | 0 | — |
case-20 | fail→pass | 22,609 | 28,764 | +27% | 1 | 1 | 0% | 2,986 | 7,500 | +151% | 0 | 0 | — |
case-21 | fail→pass | 6,348 | 8,082 | +27% | 1 | 1 | 0% | 1,197 | 3,707 | +210% | 0 | 0 | — |
case-22 | fail→pass | 7,133 | 8,222 | +15% | 1 | 1 | 0% | 1,164 | 3,831 | +229% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +55 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.