← ClaudeAtlas

ads-creativelisted

Write and validate ad copy for OpenAI Ads — headline 3-50 characters, description up to 100, counted by visible characters rather than code points. Use this skill for ad copy, headline, description, creative, ad variants, or when copy is too long and needs shortening.
devaimani/openai-ads-mcp · ★ 0 · AI & Automation · score 76
Install: claude install-skill devaimani/openai-ads-mcp
# Ad copy ## Limits | Field | Limit | |---|---| | `title` | **3–50 characters** | | `body` | **up to 100 characters** | The figures 35 and 67 that circulate are wrong. They come from a repository without a source and contradict the OpenAPI spec. Check every draft: ```bash uv run python scripts/validate_creative.py \ --title "..." --body "..." --brand "YourBrand" ``` The validator counts visible characters, not code points. With composed characters — German umlauts in NFD form, emoji, flags — `len()` miscounts and rejects valid copy. ## The reading situation The ad appears mid-conversation as a small card. The reader is not searching; they are occupied with something else. The logo is displayed automatically. Three consequences: 1. **The brand name does not belong in the headline.** The logo already carries it. Spend those six to ten characters on substance. 2. **The first clause carries the ad.** What follows a comma often goes unread. 3. **Concrete beats general.** "In 4 weeks" works; "fast" does not. ## What works **Contrast.** Makes the difference visible in few characters. "Automation without an IT department" (35) **Proof.** A number, a name, a deadline. "Prototype in 4 weeks" (20) **Imperative.** Verb first, reads quickly. "Get a quote in 48 hours" (23) **Compressed promise.** Subject, verb, outcome. No filler. "Invoices that file themselves" (29) **Question.** Works when it names a pain the reader recognises. "Still writing quotes by hand?" (29) #