How to Use Claude as an Ad Copywriter: The Leo Skill Guide

Updated
Skill · .md

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

Do not write any ad copy yet. Here is my product and what I know about the buyer: [PASTE] Build a CLAIM INVENTORY. Each entry is one thing we could credibly promise, written as a plain sentence, plus: - the evidence I have for it, or [PROOF NEEDED: what] if I have given you none - who it is most true for, and who it is not true for - whether a competitor could make the same claim honestly. If yes, mark it GENERIC. Then sort them: - Claims that are specific to us AND evidenced: these are the ones worth testing - Claims that are evidenced but generic - Claims that are specific but unevidenced: I need to get evidence or drop them Invent no statistic, percentage, customer name or testimonial. Not one, at any point in this conversation. Finally: name the claim you think is strongest and say plainly why, and name the one I seem attached to that the evidence does not support.

Prompt 2 - write to the edge

Write ad copy for [PLATFORM AND PLACEMENT]. HARD LIMITS, which I am giving you because you do not know them and must not guess: - [FIELD]: [N] characters, maximum, including spaces - [FIELD]: [N] characters Do not exceed these under any circumstances. Do not tell me a limit. Do not correct the ones I have given you. Write [N] lines for each field. For every line: - Print the character count in brackets after it - Build the line AT that width. Do not write a longer line and trim it. If an idea does not fit at this width, drop the idea rather than truncating the sentence. Each line must make ONE claim from the inventory below, and name which one. No line may combine two claims. Ban: transform, elevate, unlock, seamless, effortless, revolutionary, game-changing, and every intensifier that does not change the meaning. Then flag: any line where you are unsure of the count, and any line whose claim is not in my inventory. There should be none of the second kind. CLAIM INVENTORY: [PASTE]
Skill spotlight
Leo - Ad Copywriter AI Skill
Leo - Ad Copywriter AI Skill
$19 · one payment

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

Give me [3] variants of this ad. Each must test a DIFFERENT claim, not a different phrasing of the same one. Use a different lead for each and name it above the variant: - the outcome they get - the problem they stop having - the objection answered head-on - the moment in their day when they notice the problem - the cost of carrying on as they are For each variant: - State the hypothesis in one sentence: what winning would prove - State what result would tell me the CLAIM is wrong rather than the wording - Name the audience it is best for and the one it will lose - Same character limits, counts printed Rules: - If two variants make the same argument in different words, replace one and tell me you did. - No new claims. Everything comes from the inventory. - Say which one you would run first, and why that one.

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.

Review this ad copy as a reviewer looking for reasons to reject it. Do not rewrite it. Quote the exact words that create each risk. Flag separately: - Superlatives and absolute claims: best, number one, fastest, guaranteed, the only - Comparative claims naming or implying a competitor - Any number, percentage or "up to" figure, and whether I supplied it or you did. Anything you supplied is a problem - say so in capitals. - Anything that reads as a testimonial or an endorsement - Copy that asserts or implies something about the reader personally: their health, finances, age, beliefs, or circumstances. Second-person copy is where this hides. - Claims touching health, money, employment, housing, credit or dating, which carry extra rules almost everywhere - Anything promising an outcome the product cannot control For each flag: what the risk is, and the narrowest change that removes it while keeping the line's job. Then tell me which flags I should check against the specific platform's own published policy rather than take from you, because you do not know their current rules.

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.

Here are the results: [VARIANTS, WITH SPEND, IMPRESSIONS, CLICKS AND CONVERSIONS FOR EACH] Rules first: - Use only these numbers. Invent no benchmark, no industry average, no typical rate. - Before interpreting anything, tell me whether each comparison has enough volume to mean something, or whether the difference is inside the noise. If it is noise, say so and stop there rather than explaining a result that is not real. Then, only for the differences that are real: - Which CLAIM won, as distinct from which wording won - What that tells me about the buyer that I did not know before - Which claim from my inventory is now disproved and should not be retried - What the next test should isolate Update my claim inventory: mark what is now evidenced by results, what is disproved, and what is still untested. Keep a short log of what was tested and when, so I stop re-running angles that already lost.

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:

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.

Skill · .md · Works with Claude & ChatGPT

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.

$19
Get the Leo skill →

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

Frequently asked questions

Does Claude know the character limits for ad platforms?+

It will tell you a number confidently, and that is the problem. Limits differ by field, by placement and by ad type, they change, and they are not what you expect in every language. Google publishes that a responsive search ad headline supports up to 30 characters and a description up to 90, but also that in a double-width language such as Korean, Japanese or Chinese every character counts as two - so the same headline field is effectively 15. Supply the limit in your prompt and forbid the model from stating or correcting one.

Can AI count characters accurately?+

Not reliably. Text is broken into tokens before the model ever sees individual letters, so character counting is something these tools are structurally bad at. Have it print a count next to every line, because that is a useful sorting aid, then verify the counts yourself in a spreadsheet or a text editor. Three seconds of checking prevents an ad that truncates mid-word or gets rejected on submission.

What is the difference between writing to a limit and trimming to one?+

They produce completely different lines. Ask for a headline and then cut it to 30 characters and you get a mutilated sentence: it was built with a different rhythm and you have amputated the end. Set the width as the constraint before a single word exists and the line is conceived at that width. Compression is not editing. If an idea does not fit, the instruction should be to drop the idea rather than truncate the sentence.

How many ad variations should I generate?+

Far fewer than the model can produce, and the number is set by your budget rather than by its capacity. Every variant splits the same impressions, so beyond a handful none accumulates enough data to separate a real difference from noise, and the winner is whichever variant got lucky first. Two or three genuinely different claims tested properly beats fifteen phrasings tested badly. Use the model to find angles you had not considered, then throw most of them away before spending anything.

Why do my A/B tests never teach me anything?+

Usually because the variants differ on wording rather than on the claim. Save time on invoices and spend less time on invoices are the same promise, and running both costs money to learn what you already knew. Make each variant test a different claim: a different promise, a different objection answered, a different moment in the buyer's day, a different fear named. Then attach a hypothesis to each one and state in advance what result would prove the claim wrong rather than the phrasing.

Will AI write ad copy that gets rejected?+

It can, and it will not warn you. It reaches for superlatives, comparative claims, guarantees and second-person copy that asserts something about the reader, all of which are common rejection triggers. Run a disapproval pass before the copy reaches an ad account: ask it to review as a reviewer looking for reasons to reject, quoting the exact words, and to flag every superlative, every number and whether you or it supplied that number, and anything implying knowledge of the reader's health, finances, age or circumstances.

Can I ask the model what a platform's ad policy says?+

No, and this is the single most confidently wrong answer you will get from it. Platform policies change without announcement and the model answers from whatever version it last saw. Meta publishes a standard covering privacy violations and personal attributes within its advertising standards, Google has its own set, and each network differs. Use the model to flag where a line is risky. Read the current policy on the platform to decide whether it actually is.

How do I install the Leo skill?+

The download is a ZIP with SKILL.md at the root of the archive rather than inside a nested folder, which is the usual reason an upload fails. In the Claude desktop app open Customize, then Skills, upload the ZIP and toggle it on. Skills need code execution enabled, under Settings then 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 then Capabilities for your own account rather than trusting either page. In ChatGPT or Gemini there is no upload step, so open SKILL.md, copy the contents and paste them into custom instructions.

~/get-started

Skills that work. No fluff.

Browse every skill, prompt pack, and agent in the store.

Browse all skills →Or try the free tools