PAID ADS SKILL
Ad copy and creative
Ad copy and creative at volume, grounded in your winning ads, reviews and ad comments: four modes, platform character limits, an S-to-F format taxonomy, and a review page for approvals.
No key, no account needed
Claude Code
Cursor
CodexWindsurfany agent that reads SKILL.md
npx skills add addition-labs/skills --skill ad-creative
Run this in a terminal inside your project folder. Claude Code, Cursor and Codex then read the skill from where it lands.
- Step 01Open a terminal in your project folder
- Step 02Paste the command and press Enter
- Step 03Pick the agents to install to
- Step 04Ask the agent for the job; it reads the skill
ad-creativeaddition-labs/skillsMIT licencev2.8.2updated 2026-09-05
Four modes: generate from scratch, iterate from a performance export, scaled static batches from a grounded inputs corpus, and a creative strategy loop that decides which ads are worth making. Mode 3 refuses to run if the inputs folders are empty; ungrounded generation is named as the reason most AI ad copy fails.
The specs are concrete: RSA headlines 30 characters and up to 15 of them, descriptions 90 and up to 4, Meta primary text 125 visible, LinkedIn intro 150 recommended, and a validation step that trims anything over the limit and shows the trimmed alternative.
The references are where the depth is: a static template library with tiers and funnel roles, iOS-native reveal formats, faceless motion video, creator short-form specs with the 720 by 1200 text-safe band, and the generative-tools guide with costs for a hundred variations.
When to use it
The phrases that trigger it
Say any of these and an agent that has the skill installed will usually load it; you can also call it by name. The phrases are the skill’s own, from its description.
- ad copy variations
- generate headlines
- RSA headlines
- bulk ad copy
- creative testing
- static ads
- UGC ad
- creative roadmap
- which ad format to make
What’s inside
The playbook, section by section
Grounded inputs
winning-ads/ (10 to 20 screenshots), reviews/ (50 to 100), comments/ (objections and unprompted praise); every concept cites its source; nothing invented.
Angles before headlines
Three to five angles (pain, outcome, social proof, curiosity, comparison, urgency, identity, contrarian), then variations per angle by word choice, specificity, tone and structure.
Iteration from data
Analyse winners, analyse losers, double down, extend, test one or two new angles, log the round.
Format taxonomy
About 51 Meta formats ranked S to F on one question: does it scale cold net-new audiences or only convert mid-funnel.
Creative review page
A self-contained HTML mockup of each concept in-feed, with a required disclosure block for what is grounded in real assets.
Batch generation
Waves: core angles, extended variations on the top two, wild cards; then a quality filter for limits, duplicates and policy.
Reference files the agent loads on demand
11 files in the skill folder, read only when an instruction calls for one.
static-ad-templates.md- Layout templates for static ads, each a structure with slots for the brand’s own copy.
meta-creative-formats.md- About 51 Meta creative formats ranked S to F as a chooser for the next format to make.
hook-system.md- The first three seconds: hook types, why hook diversity earns learning, and how to write them.
creative-roadmap.md- Which ads are worth making, in what order, at what production cost, and the retro afterwards.
creative-review-page.md- A self-contained web page that presents generated concepts for a client to review and pick.
imessage-video-ads.md- 9:16 video formats that recreate an iOS surface (iMessage, Notes, AirDrop) and let the brand emerge inside it.
motion-video-ads.md- Faceless 15 to 45 second video from a concept: a styled still brought to life with image-to-video.
short-form-video-specs.md- The production constraints for TikTok, Reels and Shorts: safe zones, lengths, captions, creator formats.
generative-tools.md- Which image and video generators to use for ad visuals (Gemini, Flux, Ideogram; Veo, Kling, Runway, Sora, Seedance, Higgsfield) and when.
platform-specs.md- Character limits and format requirements for each ad platform.
assets/creative-review-template.html- The HTML template the review page is built from.
See it in action
One real run, in full
The request on the left went to the skill as installed. On the right is everything it returned, unedited; scroll inside the box to read it all.
Fetch https://addition-labs.com/services/seo and write Google responsive search ad copy for it targeting 'ecommerce seo agency': 15 headlines and 4 descriptions, organised by angle with character counts, validated against the limits. No claims the page does not make.
Google RSA copy: Addition, Ecommerce SEO service page
Platform / format: Google Ads, Responsive Search Ad Final URL: https://addition-labs.com/services/seo Target query theme: ecommerce seo agency (solution-aware searcher, comparing agencies) Mode: Generate from scratch (no performance data supplied) Grounding: every line below traces to text on the fetched page. Source is shown per line. Page title: "Ecommerce SEO Agency | Addition". The page carries no numbers (no client counts, no % lifts, no years in business), so no numeric proof appears in this copy.
Context not supplied and assumed (confirm before upload): brand voice doc or banned words (none given; copy mirrors the page's own plain register), mandatory elements (none given; one brand headline included, unpinned), compliance constraints (none apparent for an agency service).
Angles
| # | Angle | Why it fits the query |
|---|---|---|
| A | Keyword / intent match | The searcher typed "ecommerce seo agency"; the page title and schema say exactly that. |
| B | Outcome: buyers, not traffic | The page's core promise: "Ecommerce SEO that brings buyers, not just traffic." |
| C | Pain point: traffic up, revenue not | One of the three "sentences we hear before this work starts." |
| D | Social proof: who they run search for | "From official Apple retail to global travel platforms." No numbers exist on the page, so this is the only proof line available. |
| E | Differentiator: Google and AI read the page the same way; we ship the fix | "structured so Google and AI systems read them the same way" / "ship the fix ourselves." |
| F | CTA: free search and AI check | The page's own offer: "Free search and AI check" / "Send me AI & SEO Audit" / "Schedule a meeting." |
| G | Brand | One brand headline, per RSA mix guidance. |
Headlines (30 char max, 15 total)
Angle A: Keyword / intent match
- "Ecommerce SEO Agency" (20) source: page title
- "Ecommerce SEO for Shopify" (25) source: meta description "for Shopify stores"; FAQ schema "Most of the stores we grow are on Shopify"
- "Ecommerce SEO & AEO Agency" (26) source: "We cannot think of SEO & AEO apart, so we run them together for you"
Angle B: Outcome, buyers not traffic
- "Buyers, Not Just Traffic" (24) source: meta description
- "Searches That End in a Sale" (27) source: promise 1, "Find the searches that end in a sale"
- "Turn Visits Into Sales" (22) source: "Our partners turn searches into visits, and visits into sales"
- "Get Found Before the Click" (26) source: closing H2, "Get found before the click is bought"
Angle C: Pain point
- "Traffic Up but Revenue Not?" (27) source: "Traffic is up. Revenue is not."
Angle D: Social proof
- "From Apple Retail to Travel" (27) source: "From official Apple retail to global travel platforms, these are the stores we run search for"
Angle E: Differentiator
- "Built for Google and AI Search" (30) source: "structured so Google and AI systems read them the same way"; "Google reads your page. So does everything else."
- "We Ship the Fixes Ourselves" (27) source: promise 3, "ship the fix ourselves or hand it over production ready"
Angle F: CTA
- "Free Search and AI Check" (24) source: hero CTA label, verbatim
- "Get Your Free SEO & AI Audit" (28) source: hero form "Send me AI & SEO Audit" + "Free search and AI check"
- "Contact Our SEO Team" (20) source: "Contact our team" / "Our team will get in touch with you"
Angle G: Brand
- "Addition: Ecommerce SEO" (23) source: page title
Mix vs. the skill's RSA guidance: keyword 3 · benefit 4 · pain 1 · social proof 1 (guidance says 2 to 3; the page has no numbers or awards, so a second proof headline would be invented) · differentiator 2 · CTA 3 · brand 1.
Descriptions (90 char max, 4 total)
- Benefit + proof point
"SEO that brings buyers, not just traffic. Technical, content and authority for Shopify." (87) source: meta description
- Feature + outcome
"We read your store the way a search engine does and rank each fix by what it is worth." (86) source: closing block, "We start by reading your store the way a search engine reads it, and hand you the list of what is costing you rankings, ordered by what it is worth"
- Social proof + CTA
"From Apple retail to global travel platforms. Start with a free search and AI check." (84) source: case studies intro + hero CTA
- Offer + CTA
"One job per page: written for the buyer, readable by Google and AI. Schedule a meeting." (87) source: "Every page with one clear job" / promise 2 / footer CTA "Schedule a meeting"
No urgency description: the page offers no deadline, discount or limited slots, so none is written.
Validation
| Check | Result |
|---|---|
| Headlines ≤ 30 chars | 15 / 15 pass (longest: #10 at 30) |
| Descriptions ≤ 90 chars | 4 / 4 pass (longest: #1 and #4 at 87) |
| Duplicates / near-duplicates | none |
| Each headline stands alone | yes; none depends on a neighbour |
| At least one keyword, one benefit, one CTA headline | yes (3 / 4 / 3) |
| Exclamation marks in headlines (Google policy) | none |
| Em or en dashes | none |
| Claims not on the page | none; every line cites its source above |
| Numbers | none used; the page publishes none |
Combination spot-check (any 3 headlines, any 2 descriptions):
- "Ecommerce SEO Agency | Buyers, Not Just Traffic | Free Search and AI Check" reads cleanly.
- "Traffic Up but Revenue Not? | We Ship the Fixes Ourselves | Contact Our SEO Team" reads cleanly.
- Two CTA headlines together ("Free Search and AI Check | Get Your Free SEO & AI Audit") repeat the offer. If that combination shows in preview, pin #12 to position 3 and leave #13 unpinned; otherwise leave everything unpinned.
Pinning: none recommended. If brand must appear, pin #15 to position 1 only.
Display paths (15 chars each): services (8) / seo (3), mirroring the final URL.
Upload-ready
headline_1,headline_2,headline_3,headline_4,headline_5,headline_6,headline_7,headline_8,headline_9,headline_10,headline_11,headline_12,headline_13,headline_14,headline_15,description_1,description_2,description_3,description_4,path_1,path_2,final_url,platform
"Ecommerce SEO Agency","Ecommerce SEO for Shopify","Ecommerce SEO & AEO Agency","Buyers, Not Just Traffic","Searches That End in a Sale","Turn Visits Into Sales","Get Found Before the Click","Traffic Up but Revenue Not?","From Apple Retail to Travel","Built for Google and AI Search","We Ship the Fixes Ourselves","Free Search and AI Check","Get Your Free SEO & AI Audit","Contact Our SEO Team","Addition: Ecommerce SEO","SEO that brings buyers, not just traffic. Technical, content and authority for Shopify.","We read your store the way a search engine does and rank each fix by what it is worth.","From Apple retail to global travel platforms. Start with a free search and AI check.","One job per page: written for the buyer, readable by Google and AI. Schedule a meeting.","services","seo","https://addition-labs.com/services/seo","google_ads"
Left out on purpose
- "60 to 90 days for early signals" and "no link farms, no private networks": these exist only in the page's FAQ structured data (JSON-LD), not in visible body text. Usable if you confirm the FAQ is meant as public copy; not used here.
- Client names (Furmind, Lacoart, Megapass, Sumboard, Visard and others appear as logo alt text): naming clients in ads needs their permission; not used.
- Any % lift, client count, or "trusted by" figure: the page publishes none.
Next step
Run the ad for 1,000+ impressions, then bring back headline and description asset performance (Google's asset report: impressions, CTR, conversion rate, "Best / Good / Low" ratings) and this skill's Mode 2 will iterate: keep the winning angle, retire the flat one, and add one or two new angles for the next test.
What this run could not do
No performance data was supplied, so the data-driven iteration mode did not run. No brand-voice or banned-words document existed, so those are stated as assumptions. The page carries no numbers, awards or counts, so only one social-proof headline could be written, and the gap is named. There is no offer deadline, so no urgency line.
Method behind it
Where we would differ, and why
Our Shopping ads guide covers the half of ecommerce paid media this skill does not: product feeds, where the creative is the product data. Use ad-creative for Search and Meta copy; use the guide for the feed.
The urgency angle ("Limited time: get X free") and the description advice to add urgency "when genuine" sit inside a skill that otherwise forbids invented claims. Our copy rules ban manufactured urgency outright; we would strike that angle from the list for a store.
The 1,000-impression floor before judging a creative is a reasonable default; on Meta it is a smaller sample than the learning phase asks for (about 50 optimisation events in seven days), so a judgement at 1,000 impressions is usually a judgement on noise.

SKILL.md
The file the agent reads
Written by Corey Haines and published under the MIT licence. Read the full file (3,252 words) on GitHub, at the commit we reviewed: coreyhaines31/marketingskills/skills/ad-creative/SKILL.md. The reference files are in the same folder.
Questions
Questions people ask before installing
Does it make the images?
It writes the brief and the image prompt per concept. Rendering goes through whatever image tool you have connected; without one you get the copy, the visual description and the prompt.
What is the minimum input for Mode 3?
Populated winning-ads/ and reviews/ folders. If either is empty the skill stops and asks you to fill it rather than generating ungrounded concepts.
Can a client approve from it?
Yes, that is the review page: one HTML file, no build, hostable anywhere, with headline and copy toggles and a frame-by-frame carousel storyboard.



