← Optimize skills

Scale the Winners

Sort campaigns into scale, hold and pause on real return, then move money to winners in safe 20% steps.

Free skill · Runs on your ad account via TalkToAds · Works in Claude, Claude Code and ChatGPT

From Sanskar's ad account

On 20 Oct 2026 Meta reported 6.6x on the course campaign. Real ROAS from Razorpay was 3.4x for the day and 1.6x for the week. The budget went from ₹1,000 to ₹1,200 a day (+20%), with a rule written down in advance: real ROAS ≥ 2x for 3 days → ₹1,500, below 1.3x → back to ₹1,000.

The goal was never to spend less. It's about whether ₹10,000 a day of spend brings back ₹50,000. If it does, spend it.

Install

Run this once in your terminal. Claude Code picks the skill up in your next session, in every project.

Terminalmkdir -p ~/.claude/skills/scale-the-winners && curl -fsSL https://talktoads.com/skills/scale-the-winners/SKILL.md -o ~/.claude/skills/scale-the-winners/SKILL.md

For one project only, use .claude/skills/scale-the-winners inside the project instead.

Then ask

Which of my campaigns should I scale, hold or pause this week?

The skill

What the agent follows, from the SKILL.md you download.

Most people review ads to cut spend. The goal is profit, so every review should end with more money on what works, not just less on what doesn't.

Needs the TalkToAds connector (Meta). Works best after the real-roas-check skill, because scaling on Meta's ROAS alone can scale a loser.

Steps

  1. Get 3+ days of data. Call get_performance for the ad account with level: "campaign", date_preset: "last_7d", time_increment: "1". A campaign with fewer than 3 full days isn't ready to judge.

  2. Use real ROAS. If the user has run real-roas-check, use those numbers. If not, ask for revenue per campaign from the payment gateway, or say clearly that you're using Meta's ROAS and it may be inflated.

  3. Sort into three groups.

    • Scale: real ROAS ≥ 2x for 3 days in a row
    • Hold: 1x–2x, or fewer than 3 days of data
    • Pause: below 1x for 3 days, or spending with zero sales for 3 days at more than one sale's price per day
  4. Check the ad sets. For each Scale campaign call list_ad_sets. Skip anything still in learning (learning_stage_info). A budget change resets learning.

  5. Propose the moves.

    • Scale: +20% daily budget per step (update_budget). If it has been 2x+ for a week, +30% is okay.
    • Pause: pause the campaign. Its budget goes to the winners.
    • Show a table: campaign, current budget → new budget, reason. Show the total daily spend before and after.
  6. Wait for a yes, then apply the changes. Read each one back with list_campaigns or list_ad_sets to confirm.

  7. Set the next review. 3 days later, same skill. Don't touch winners in between.

Rules

  • Never double a budget in one step. Meta treats a big jump like a new campaign and it re-enters learning.
  • Don't scale on a single great day. 3 days minimum.
  • If a spend cap is set (set_spend_cap), a scale-up may be refused. Tell the user to raise it.
  • Before a big scale-up, remind the user to check the account spending limit and prepaid balance in Billing.
  • Pausing everything is not a strategy. If nothing is a winner, the fix is the offer or the creative, not the budget.