The skill behind this guide: Leo - Ad Copywriter AI Skill. Holds your product, your claim inventory and the lines that already won, so the next batch builds on evidence instead of starting from the internet's idea of an advert - $19, one payment, yours permanently.
View the Leo skill →An advert is a sentence with a hard edge on it. The edge is a number the platform sets, it differs by field and placement, it changes, and it is the single fact a model will state confidently and get wrong. Ask one how long a Google headline can be and it will say thirty characters. That is right for a Latin-script campaign and wrong by half for a Japanese one. The character limit is an input to the prompt, never an output from it - and that turns out to be the whole method.
Write to the edge, do not trim to it
There are two ways to produce a thirty-character headline and they give completely different results.
The first is to ask for a headline, get a good one, and cut it down. What you get is a mutilated sentence: the line was built with a different rhythm in mind and you have amputated the end of it. Everyone can tell.
The second is to set the width as the generative constraint before a single word exists. "Write a line that lands in 30 characters" is a different instruction from "write a line, then shorten it", and the second one is what most people do without noticing. Compression is not editing. The line has to be conceived at that width.
So the prompt carries the number, and it carries it as a hard rule rather than a preference. Then one more step that people skip: make it print the character count next to every line, and then count them yourself. Models are notoriously poor at counting characters, because of how text is tokenised before they ever see it. The count it gives you is a useful sorting aid and not a guarantee. A spreadsheet or three seconds in a text editor settles it.
The numbers, and why this page gives you only one of them
Google publishes its text limits plainly. For a responsive search ad, the headline fields support up to 30 characters (three to fifteen headlines), the description fields up to 90 characters each (two to four), and the path fields up to 15. Google also states that in a double-width language such as Korean, Japanese or Chinese, every character counts as two - which is exactly the kind of detail a model will not volunteer and will not be asked for. Verified at source on 17 September 2026: Google Ads Help.
Meta's equivalents are not quoted here on purpose. Its specification pages differ by placement and objective, change without announcement, and are not readable outside its own business tools, so any number printed on a blog is a number waiting to go stale. Get them from the ads manager you are actually building in, on the day you build. That is not a dodge - it is the same rule the prompts below enforce on the model.
You are not testing wording. You are testing claims.
The old advice is that good ad copy is found rather than written: you run ten lines and two win. True, and it has a consequence almost nobody follows through on.
If the copy is found by testing, then the model's job is not to produce the best line. It is to produce a spread that tests something. Ask for fifteen variations without further instruction and you get one claim phrased fifteen ways. You will spend real money discovering that "save time on invoices" and "spend less time on invoices" perform about the same, which you already knew.
Variants have to differ on the claim: the promise, the objection they answer, the moment in the buyer's day they describe, the fear they name. Then each one is a hypothesis with a result attached, and a losing variant teaches you something rather than costing you impressions.
The arithmetic nobody puts in the pitch
Here is the honest counterweight to "generate dozens of variations". You cannot test dozens on a small budget.
Every variant splits the same impressions. Beyond a handful, none of them accumulates enough data to separate a real difference from noise, and you end up picking a winner that is just the variant that got lucky first. The number of variants you should generate is set by your budget and your conversion volume, not by how many the model can produce - and it can produce an unlimited number, which is precisely the trap.
Two or three genuinely different claims, tested properly, beats fifteen phrasings tested badly. Use the model for the part it is good at: finding angles you had not considered. Then throw most of them away before spending anything.
Prompt 1 - the claim inventory, before any copy exists
Prompt 2 - write to the edge
Keeps the claim inventory, the banned words and the lines that actually won between sessions, and writes to a limit you supply rather than one it remembers. The persistence is the point in ad work specifically: a fresh chat has no idea which of your claims already lost, so it will cheerfully hand you the angle you disproved in March.
View Leo - Ad Copywriter AI Skill →Prompt 3 - variants that differ on the claim
Prompt 4 - the disapproval pass
Run this before the ad goes anywhere near an ad account. It is cheap and it saves the two-day round trip of a rejected ad and an appeal.
Two sets of rules, and the platform's bites first
Advertising sits under consumer-protection law - in the United States, for example, the FTC's endorsement and testimonial rules (16 CFR 255) and its rule on consumer reviews and testimonials (16 CFR 465, effective October 2024), which makes fabricating a testimonial prohibited conduct outright.
But the rule that stops your campaign first is the platform's own. Ad networks run content policies on top of the law and reject copy before any regulator is involved. Meta, for instance, publishes a standard covering privacy violations and personal attributes within its advertising standards. Read the current version yourself, on the platform you are running on - do not ask a model what a platform's policy says, because it will answer confidently from whatever version it last saw.
Prompt 5 - the post-test debrief
The only prompt here that makes the next campaign better rather than this one. Most people never run it, which is why their copy does not improve across a year of testing.
Where it fails
| Failure | What happens | What to do about it |
|---|---|---|
| Stated limits | Confident character counts that are right for one field, one placement, one script | Supply the limit. Forbid it from stating or correcting one |
| Counting | It miscounts characters, because text is tokenised before it ever sees letters | Have it print counts as a sorting aid, then verify them yourself |
| Trimming, not compressing | A longer line amputated to fit, with the rhythm of a sentence that was going somewhere else | Set the width before the idea exists. Drop the idea rather than the ending |
| Synonym variants | Fifteen phrasings of one claim, tested with real money | Force each variant onto a different claim, with a hypothesis attached |
| Volume as a virtue | More variants than your budget can separate, so the winner is whoever got lucky first | Let budget and conversion volume set the count, not the model's capacity |
| Invented proof | Percentages and testimonials in an advert, which is the worst possible place for them | Ban them outright in the claim inventory and again in the drafting prompt |
| Policy from memory | It tells you what a platform allows, from whatever version it last saw | Read the current policy on the platform. Use the model to flag risk, not to rule on it |
| No memory of losses | A fresh chat cheerfully suggests the angle you disproved in March | Keep the claim inventory and the test log where the next session can read them |
How do you install the Leo skill?
The download is a ZIP with SKILL.md at the root of the archive, not inside a nested folder - that folder structure is the usual reason an upload fails. In the Claude desktop app, open Customize → Skills, upload the ZIP and toggle it on.
Skills need code execution enabled, under Settings → Capabilities. Anthropic's help centre currently lists Skills on Free, Pro, Max, Team and Enterprise, while its Academy tutorial lists Pro, Max, Team and Enterprise - so if you are on the free plan, check Settings → Capabilities for your own account rather than taking either page's word for it. The full walkthrough is in the skill installation guide.
In ChatGPT or Gemini there is no upload step: open SKILL.md, copy the contents, and paste them into custom instructions. You lose automatic triggering and keep the method.
Who is this for?
Performance marketers producing copy at volume, founders running their own paid accounts, and freelancers who need a spread of real angles rather than a single line they are attached to. It works in Claude, ChatGPT or any AI chat.
The advertising jobs are split rather than bundled, each $19 and a one-time download:
- Faye - Ad Creative Strategist - the angle and the test plan, before the words
- Jake - Conversion Copywriter - the page the click lands on, which decides whether the ad paid
- Max - Google Ads Specialist - the account itself: structure, match types, bidding
- Mia - Meta & Facebook Ads Specialist - a different platform with different rules and a different reader
- Kai - TikTok Ads Specialist - where the copy is spoken rather than read
- Nina - LinkedIn Ads Specialist - the most expensive clicks, so the fewest wasted variants
The wider set is the sales, marketing & growth skills and the creative, content & design skills.
In summary:
Give the model the character limit rather than asking for it, because that number differs by field and placement, it changes, and in a double-width language it halves. Build the line at that width instead of writing longer and trimming, and verify the counts yourself, because counting characters is something these tools are structurally bad at. Make variants differ on the claim rather than the wording, with a hypothesis attached to each, and generate only as many as your budget can actually separate - two or three real claims tested properly beats fifteen phrasings tested badly. Run a disapproval pass before the copy reaches an ad account, and read the platform's own policy rather than asking the model what it says. Then debrief the results into a claim inventory, so the next campaign starts from what is now evidenced. For that inventory and the winning lines held between sessions, Leo - Ad Copywriter AI Skill ($19); for the surrounding campaign work, the Sales & Marketing Prompt Library ($9). Both work in Claude, ChatGPT and any AI chat, with a 30-day money-back guarantee.
Leo - Ad Copywriter AI Skill
Builds a claim inventory before it writes a word, works to a limit you supply instead of one it invents, makes variants differ on the claim rather than the phrasing, and remembers which angles already lost. No subscription. Yours permanently.
KissMySkills is a marketplace of 1,900+ AI skills, 60+ prompt packs, 90+ agents & free tools for Claude, ChatGPT & any AI chat.
Related Skill Guides
- How to Use Claude for Ad Creative: The Faye Skill Guide
- How to Use Claude for Conversion Copywriting: The Jake Skill Guide
- How to Use Claude for Google Ads: The Max Skill Guide
- How to Use Claude as a Copywriter: The Olivia Skill Guide
- How to Use Claude for Content Marketing: The Lena Skill Guide
- How to Install a Claude Skill (Step by Step, 2026)


