Ad hooks

Claude writes the hooks. Codex reads them the way an ad reviewer would.

Getting a model to write a pile of hooks is the easy part. The slow part is picking the ones that won't get the ad rejected or the account flagged. So Claude writes the variations, and Codex goes through every one against the platform rules you saved in a file, marking which pass, which need a rewrite, and which rule each one broke.

Free and open sourceRuns on Mac and LinuxYour own Claude and Codex logins
My messages in Overvibe, searched for codex: the brief handed to a Codex helper and the report it sent back, in one list
My messages keeps every brief and report between sessions, so you can find last week's verdicts again.

The hook that pulls hardest is often the one that gets flagged

Direct-response hooks work by promising something specific, and that's what ad reviewers look for: health and income claims, before and after, "you" aimed at a condition. Ask a model for punchy hooks and it will happily write all of them.

One model writes and judges
  • The writer judges its own hooks
  • Rules applied from memory, if at all
  • Flags show up after you upload
A writer and a rules reader
  • Codex reads each hook against your rules file
  • Each verdict names the rule behind it
  • Rewrites go back to Claude before anything ships

Write, check,rewrite

You type

Write 20 hooks for the offer in brief.md, then have Codex check each one against rules/meta.md and rewrite the ones that fail.

  1. 1Claude writes the batch

    Hooks and variations from your brief, into hooks.md.

  2. 2Codex reads each one

    Against the rules file you keep for that platform. Pass, rewrite or drop, with the rule.

  3. 3The flagged ones get rewritten

    Claude rewrites them and sends them back to the same Codex session for another read.

  4. 4You get one list

    The hooks both models are happy with, and a note on what changed in each rewrite.

Behind it, one checker kept open. The checker stays open between rounds, so the second read starts from the rules it already read. Read the CLI reference

$ overvibe new --attach --tool codex --cwd . --name "ads: compliance" \
    --prompt "Check each hook in hooks.md against rules/meta.md. Mark pass, rewrite or drop, and name the rule. Do not edit. When done, run: overvibe send \"$OVERVIBE_SESSION\" \"<verdicts>\""
$ overvibe send "ads: compliance" "The rewrites are in hooks.md. Read the flagged ones again."

A second model isn't worth it for

a brainstorm you'll filter yourself, or hooks for a product with nothing regulated about it. Bring the second read in for health, money, weight loss and anything with a before and after.

Questions

Where do the rules come from?

From you. Save the policy pages you care about and your own past rejections in a file, and Codex checks against that file.

Does this replace the platform's review?

No. The platform still decides. This is a careful read before upload, against rules you wrote down.

Can the same setup do the landing page?

Yes. The landing pages use case builds the page with the ElasticFunnels skill and checks its claims, and copywriting covers long-form copy.

Other ways to pair agents up

Run your next batch of hooks past a second model

Install Overvibe, put your rules in a file, and ask Claude for hooks with Codex as the checker.

The Overvibe app: a coordinator with its Codex and Gemini (agy) helpers in the sidebar, each with its status, and one session waiting on you