- Most ads lose, and that's normal. You find winning ads by testing more real ideas, killing losers fast and never paying twice for a hook that already failed.
- This setup runs that loop every week with Claude Opus 5.5: decide what a winner is first, write the brief once with the claims you must never make, mine the Meta Ad Library, write six distinct angles, generate hooks against a hook log, lock one creator, QC every ad against the brief, launch paused, and refresh every Monday.
- It works in Claude alone, or connected to Meta's ads connector and the Intempt MCP. Publishing, budget changes and claims stay with a person.
Most ads you launch will lose. If you want more winning ads, that's the place to start.
That's not a creative problem. It's how paid social works. You don't find the winner by writing one clever ad. You find it by testing more real ideas, killing the losers fast, and never paying twice for a hook that already failed.
The teams that win at this aren't more creative. They run a tighter loop.

Two things changed this year that make the loop cheap to run. Meta opened its ads AI connectors in April, so an AI agent can read your account and build campaigns in plain language. And Opus 5.5 came out on September 22. Anthropic's launch post says it "puts the most important information up front," which is exactly what you want from something reading your ad account every Monday.
So this is a setup for launching more winners by running the loop every week instead of once a quarter.
Quick note: I run Intempt, agentic GTM software behind the brand kit and avatars below, and I'll use our tools in this setup. Every prompt below works on its own in Claude. Intempt is the part that holds your brand, your creators and the ad skills, so Claude doesn't start from zero every time.
Here's what we'll cover:
- the setup, lazy version and connected version
- eight steps from a blank brief to a Monday refresh
- which effort level to use for each step
- the three things you should never let it do on its own
The one rule
Decide what a winner is before you write a single ad.
Pick one number. Cost per booked call, cost per purchase, cost per trial. Then pick the kill rule: how much an ad has to spend, and how many people have to see it, before you're allowed to turn it off.
If you skip this, you'll pick winners by which ad you like. Every prompt below points at the number you chose here.
Here's a real set of rules from Prajwal Tomar's agency build that's worth copying: the winner has to be at least 20% cheaper on the main number to count, and an ad only gets switched off after it has spent at least $30 and been shown 1,000 times.
The setup
There are two ways to run this loop. The lazy version is Claude plus a browser tab. The connected version lets Claude read your ad account and your brand without you pasting anything.
Lazy version: Claude plus a browser
Open Claude, pick Opus 5.5, and keep the Meta Ad Library open in another tab. You paste things in, Claude does the thinking, you copy things out. It works for one brand and a few ads a week.

Connected version: let Claude read and build
Past one brand or a handful of ads, pasting falls apart. You lose track of which hooks you already tried. The brief drifts. Someone forgets the banned claims.
The connected version has three pieces:
Meta's ads MCP server, so Claude can read results and build campaigns in your ad account. Meta's developer docs list it at mcp.facebook.com/ads. In Claude, you add it under Customize, then Connectors, then Add.
The Intempt MCP server, so Claude can read your brand kit and your saved creators instead of you pasting them. It's one command:
$claude mcp add intempt -- npx -y @intempt-technologies/mcpThe Performance Marketer skills, a set of free Claude skills that do each step below the same way every time. Install the whole set with one line:
$npx skills add sidchaudhary/gtm-skills/skills/performance-marketerYou can browse what each one does on the skills page before you install anything.
Step 1: write the brief once
Most bad ads trace back to a brief that lived in someone's head. The offer, who it's for, what they're scared of, and the claims you're not allowed to make.
Write a one-page ad brief I can reuse for every ad this quarter.
Include:
1. The offer in one sentence, in the customer's words, not ours.
2. Who it's for: job title or life situation, and what they're doing the moment before they'd buy.
3. The three pains they'd actually say out loud.
4. The three objections that stop them, and what we say back.
5. Claims we can prove, each with the proof next to it.
6. Claims we must never make. Anything we can't prove goes here.
7. The one action the ad should drive, and the number that decides a winner.
If anything is missing from what I give you, list it as a question instead of guessing.
Here's what I have:
[paste your site copy, sales notes, reviews]Rule 6 is the one that saves you. Claude writes confident copy, and confident copy makes claims. The brief is where you tell it which ones get you in trouble.
Connected: Intempt's brand kit already holds these fields: offer, audience, pain points, objections, competitors, banned words and CTAs. Replace the last line with "Using the Intempt MCP, read my brand kit" and Claude works from the saved version. If you're starting from nothing, the Brand Kit Reader skill reads a live website into one.

Step 2: borrow the data
If you've never run an ad, you're guessing. So don't. Your competitors have already paid to find out what works, and the Ad Library shows you.
Here are the live ads from [3 competitors] in the Meta Ad Library.
For each ad, note: the hook in the first line, the format, the offer, and how long it has been running.
Then:
1. Group the ads by message, not by brand.
2. Rank the messages by two signals: how many different ads carry the same message, and how long the oldest one has been running. A message someone keeps paying for is working.
3. List the messages nobody is running. That's the white space.
4. For each of our top 3 opportunities, say which pain from our brief it matches.
Ads:
[paste, or describe what you see]Two signals, not likes. Likes on an ad tell you almost nothing. An advertiser running eight versions of the same message for three months is telling you it pays.
Connected: the ad-library-miner skill runs exactly this against the public Ad Library, and it needs no ad account to do it.
Step 3: angles, not ads
Most "ad testing" is one message wearing six outfits. Same buyer, same pain, different headline. Meta can't learn much from that.
Using the brief and the ad research above, write 6 advertising angles for this one offer.
Each angle must name a different:
- buyer (who exactly)
- pain (what they'd say out loud)
- promised outcome (what changes for them)
For each, add one line on why this buyer would stop scrolling, and flag any angle that relies on a claim from the "never make" list.
Then pick the 3 you'd test first and say why.Run this one on high effort. One strong angle can carry fifty ads, so this is where thinking harder pays for itself. The Angle Spread skill does the same job with a stricter check that the six are actually different.
Step 4: hooks and copy in bulk, with a hook log
This is where cheap effort is fine. You don't need deep thinking to write variation twelve of a hook you already like.
For each of the 3 chosen angles, write:
- 5 hooks for the first line or first 2 seconds of video
- 1 primary text under 125 characters
- 1 headline under 40 characters
Before you write, read the hook log below. Don't repeat any hook in it, or any hook that says the same thing in different words.
Hook log:
[paste every hook you've already run, with its result]The hook log is what keeps this working for months. Without it, by week six Claude is handing you the same openings in slightly different words, and you're paying to test them again. Once you have an ad that works, the ad variants recipe turns it into six more, each changing one thing you pick.
Step 5: lock the creator
If you run UGC-style ads, the face is part of the brand. The moment the person, the room or the lighting changes between ads, viewers feel it.
Both of the best AI UGC write-ups I've read this month (Dan's is the clearest) say the same thing: write a creator bible once and put it in front of every request. Name, look, room, lighting, how they talk, and reference images of the same face.
Here is the creator bible for our ads. Read it before every script.
[paste the creator bible]
For each hook from step 4, write a 20-second script:
1. The hook, in the first 2 seconds
2. The problem, in the buyer's words
3. The moment they found the product
4. The proof, shown not told
5. A soft close with the one action from the brief
Then give me a shot list per script: framing, what's on screen, what they say.Connected: in Intempt Design, each avatar is a saved creator bible: identity, look, expressions, posing, wardrobe and voice, and there's an avatar.md tab that exports it as a file Claude can read. Pick one of the built-in UGC creators or make your own. The same avatar is meant to carry across image and video, which is the whole point of locking it.
Step 6: the QC gate
Before anything costs money, every ad gets checked against the brief. You only look at the failures.
Check each script and ad below against the brief.
For each one, return Pass or Fail, and for every Fail:
- the exact line that broke the rule
- which rule: a "never make" claim, a banned word, the wrong action, a hook from the log, or off-creator
- a fixed version
Don't rewrite anything that passes.
Brief:
[paste or read from the brand kit]
Ads:
[paste]Slip one bad ad in on purpose the first time you run this. If the gate doesn't catch a claim you know is wrong, it won't catch the one you don't.
One honest limit: this checks words. It can't tell you an ad looks fake or a face glitches. Watch every video before it goes anywhere.
Step 7: launch it paused
This used to need a media buyer. With Meta's connector in Claude, it's one prompt.
Using the Meta ads connector, build one campaign for [offer]:
- Objective: [the one action from the brief]
- One ad set, broad targeting, [small daily budget]
- One ad per approved angle, using the approved scripts and creatives
- Everything created PAUSED. Do not publish anything.
Before you build, confirm the conversion event for [the action] is firing. If it isn't, stop and tell me.
When you're done, list what you created with its status.That second-to-last instruction matters more than it looks. A campaign on broken tracking learns nothing, and you won't find out until the budget's gone. The campaign-drafter skill blocks entirely if the conversion event isn't verified, and builds the rest as a paused draft for review.

Then a person opens Ads Manager, checks it, and turns it on. Then you leave it alone for a few days. Meta needs time to work out who to show each ad to, and every big edit makes it start over.
Step 8: the Monday refresh
This is the part that turns one launch into a system.
Every Monday, using the Meta ads connector:
1. Pull last week's results for every live ad: spend, impressions, and [the winner number].
2. Apply our rules:
- The winner is the ad with the best [winner number], and it has to be at least 20% better than the next one to count.
- Pause an ad only after it has spent at least $[X] and reached [N] impressions. Never pause the last running ad.
3. Write 2 new ads: one keeps the winner's angle with a brand-new hook, one tests an angle we haven't run yet.
4. Check both against the hook log and run them through the QC gate.
5. Add this week's results to the hook log.
Then stop. Show me a table of results, the winner and why, the two new ads, and any ad you want to pause. Change nothing until I say yes.The last line is the whole safety model. Claude proposes, you approve, then it acts.
Connected: the Angle Scoreboard skill reads the account by angle, not by ad, which is the view you actually decide from. When a winner has earned more budget, the Scale Pacer skill drafts the budget rules, small steps of about 20% no more than once a day, so you scale without resetting what Meta learned. It proposes those rules and never applies them.
Set the effort level
Effort is the dial most people never touch. Opus 5.5 runs at low, medium, high, xhigh or max, and the Claude app calls xhigh Extra. Higher settings think longer before answering, and every thinking token costs the same $20 per million as output, so match the setting to the step.

- Step 1, brief: medium. It needs to read everything you give it, but it's writing a summary.
- Step 2, research: medium. Lots of reading, simple judgments.
- Step 3, angles: high. One strong angle carries fifty ads. Pay for the thinking here.
- Step 4, hooks and copy: low. Volume work. You'll pick from it anyway.
- Step 5, scripts: low or medium. The creator bible does the heavy lifting.
- Step 6, QC gate: high. The edge case is the point. A missed claim is the expensive mistake.
- Step 7, launch: medium. Mostly following instructions, but it must stop if tracking is broken.
- Step 8, Monday refresh: high. It's making the calls that move money.
What not to automate
Publishing. Keep every campaign paused until a person has looked at it. Claude will build exactly what you asked for, including the thing you asked for by mistake.
Budget changes. Let it propose them with the numbers. Don't let it move money on its own. Paid ads automation stops at the edge of one ad account for the same reason: budget is where a confident mistake gets expensive. One wrong change on a Friday afternoon costs you the weekend.
Claims. The QC gate catches the claims you wrote down. It can't catch the ones you forgot. Anything health, money or results-related gets a human read, every time.
More on AI for marketing
Two posts that set up the ideas behind this loop, and two that take it further.
- Agentic AI in marketing: what an agent actually is, and where the approval gate belongs before it spends budget.
- The best Claude skills for paid ads: nine skills for PPC and performance marketing, including the ones used above.
- How to use Claude for marketing: fifteen workflows beyond ads, from research to reporting.
- How to close more deals with Opus 5.5: the same setup on the sales side, with six prompts for the gaps between calls.
The whole thing on one screen
Here's the whole loop in nine lines, in the order you'd run it.
- Pick the winner number and the kill rule before anything else
- Write the brief once, with the claims you must never make
- Borrow data from the Ad Library: how many versions, how long running
- Six real angles, high effort, test three
- Hooks and copy in bulk, low effort, checked against the hook log
- One creator, one bible, every ad
- QC gate on every ad before it costs money
- Launch paused, a human turns it on
- Every Monday: results, rules, two new ads, your yes
You don't launch more winning ads by writing better ads one at a time. You launch more winning ads by testing more real ideas and never paying for the same loser twice.
Frequently asked questions.Answered.
- By testing more distinct ideas, not by asking for one clever ad. Pick the number that decides a winner and the kill rule first, then have AI write several angles that each name a different buyer, pain and outcome. Test three, cut the losers once they have spent enough to judge, and keep a log so you never pay to test the same hook twice.






