Generates Meta ad copy matched to the visual and to the account's proven winners — each variant hits a different psychological angle, reinforces the image…
Copy rotation always generates variants for ONE OR MORE specific source ads (the ones being rotated), not for an abstract "ad idea". Before §1 and §2:
/copy-rotation @AdX)/fatigue-detector runIf the user is rotating multiple source ads at once (still within the 1–3 cap), treat each ad's variants as its own pack — variants for ad A use ad A's image, variants for ad B use ad B's image.
Copy reinforces the image. It never repeats it. Each visual gets its own psychology, opener, and voice — driven by what the image shows (notes app, receipt, chart, tweet, product shot) and where it sits in the funnel. If the copy and image would read the same out loud, the copy is wrong.
Before writing a single word, pull the account's top‑converting ads and extract the pattern signature they share. Match the signature — don't invent a new one.
Extract from winners:
| Dimension | What to capture |
| :--- | :--- |
| **Headline shape** | Avg char length · questions vs. statements vs. numbers vs. commands |
| **Body opener** | Pain · data · question · story |
| **Social proof** | Customer counts, % lifts, revenue figures that actually appear |
| **Reading level** | Short‑punchy vs. narrative |
| **Winning CTA** | "Learn More" vs. "Get Started" vs. "Book Demo" |
Report the signature back before generating copy:
Your top 3 ads all open with a specific number and close with social proof. Average headline: 32 chars. Winning CTA: "Book Demo". I'll match that pattern.
Then every variant generated in §6 must be cross‑checked against this signature.
Every variant must hit exactly one Horseman. Across a variant pack, cover at least three different ones.
| Horseman | Trigger | Opening Pattern | Best‑Fit Visuals |
| :------------ | :------------------------------- | :----------------------------------- | :------------------------------------ |
| **💰 Money** | Revenue or cost savings | "Every [thing] you miss is worth $X" | Receipts, pricing cards, calculators |
| **⏱ Time** | Wasted hours, efficiency | "Your [person] isn't a [wrong role]" | Slack / notes app, calendars, timers |
| **👑 Status** | Peer comparison | "X+ [peers] already [did thing]" | Charts, leaderboards, logo walls |
| **⚠️ Fear** | Loss aversion, being left behind | "The [competitor] already has this" | Tweets, news‑style, red/alert visuals |
| Element | Spec | Why |
| :------------- | :-------------------------------------------- | :-------------------------------------------- |
| **Headline** | 25–40 chars (max 50) | Mobile truncation caps CTR above 50. |
| **Body** | 50–120 words | Enough to persuade, short enough to scan. |
| **Paragraphs** | 2–3, each 1–2 sentences | Mobile scannability. |
| **Numbers** | ≥ 1 specific number per variant ($, %, count) | Specificity beats adjectives for credibility. |
| **Opener** | Pain, stat, or claim | Never the brand name or "Introducing". |
| **Closer** | Social proof + soft CTA | "X+ made the switch" beats "Buy now". |
| Stage | Objective | Copy Focus | CTA | Proof Level | Body Length |
| :------- | :-------------------- | :---------------------------- | :--------------------------- | :--------------------------- | :----------- |
| **ToFu** | Awareness / traffic | Problem framing, curiosity | Learn More | Light — "X+ use this" | 50–80 words |
| **MoFu** | Consideration / leads | Solution proof, features | Get Free Audit / See Demo | Medium — case‑study snippets | 80–120 words |
| **BoFu** | Conversion / sales | Urgency, risk reversal, price | Start Free Trial / Book Demo | Heavy — ROI, testimonials | 60–100 words |
Banned vocabulary (default): revolutionary, game‑changer, cutting‑edge, innovative solution, transform your business, unlock potential, unleash, harness power, leverage, next‑level, best‑in‑class, world‑class, seamless, robust, synergy.
Anti‑patterns:
Account signature (§2): top 3 ads open with a specific number, close with social proof. Avg headline: 32 chars. Winning CTA: Book Demo.
Creative:
IMG_554— Notes‑app screenshot: "Things my agency does that my CFO hates" · Stage: MoFu · Assigned Horsemen: Money · Time · StatusHeadlines
Your CFO is not a spreadsheet.— 28 chars · ⏱ Time$40K in ad spend, 0 reports.— 28 chars · 💰 Money217 agencies switched last quarter.— 35 chars · 👑 StatusBody variants
- 💰 Money (86 words) — Opens on wasted spend ($40K / 0 reports), closes on "217 agencies made the switch → See a 2‑min demo".
- ⏱ Time (74 words) — Opens on CFOs pasting CSVs at 11pm, closes on "Free yourself from Monday exports → Get a free audit".
- 👑 Status (92 words) — Opens on peer benchmark ("The top 10% of agencies report in minutes, not days"), closes on case‑study snippet + "Book a demo".
Automates the Stop/Scale cycle by identifying ads burning budget (Bleeders) and ads ready for aggressive scaling (Winners), surfacing their copy (headline…
View skill Creative · FreeDetects 'Creative Decay' early using consecutive signal tracking. Always outputs the full active‑ad inventory with per‑ad copy context (headline, body, CTA)…
View skill Creative · FreeAd‑set‑level audience diagnostic: frequency across the ad set, reach saturation, and audience overlap between active ad sets. Tells you when to refresh…
View skill