Good ads rarely come from one person writing one good sentence. A planner reframes the brief, a creative director reviews it, several creative teams write a lot of lines, the CD cuts them down more than once, and the client picks. This Claude Code skill runs that workflow with one AI agent per role and hands you a headline, two alternates and a record of how they got there.
/plugin marketplace add 5hyuns/ad-copy-agency-skill
/plugin install copy-masters@ad-copy-agency-skill
Line counts from one English run on a fictional US smart dog bowl. The round 2 pool adds rewritten lines, defended lines and approved customer quotes to the 13 survivors. It writes English copy for the US market and Korean copy for the Korean market.
Roles never see each other's reasoning, only the files the previous step left behind. Teams never pick their own lines, and the CD judges lines with the team names hidden. In Turnbull & Wheeler's study of London agencies, only two of 24 steps produced ideas; the rest were about agreeing on the problem and checking the work. This skill spends most of its steps the same way.
The inputs, written down as given, with no interpretation.
Product facts, what real people wrote, and competitor copy, collected verbatim with sources.
Reframes the task as "what this ad must say" by changing the audience, changing the kind of problem, or finding the empty spot competitors leave. Points to the one scene or quote the reframe rests on.
The CD reviews the brief before any team sees it. If it goes back, the planner revises once.
Each team opens 3 to 5 routes and writes 33 lines. Later teams are told which routes are already taken and look elsewhere.
Criteria first, then a keep or kill on every line, with a short reason for each kill. 3 to 5 routes survive with feedback.
Teams rewrite their surviving routes and may defend one killed line. Approved customer quotes enter the pool verbatim.
Rules on each defense and shortlists about five lines for the client.
Fact and advertising-law check first, then one final line and two alternates. Unverified facts are flagged for the client to confirm.
The path each chosen line took, and a table checking that every step ran as the agency workflow expects.
Real verdicts from the English run. The CD does not pick by taste or by counting pros and cons; it checks each line against criteria written down before reading. Length is never a reason.
Install it as a plugin from this repository. Start a new session (or run /reload-plugins) and the skill is /copy-masters:copy-masters. Update with /plugin marketplace update ad-copy-agency-skill.
/plugin marketplace add 5hyuns/ad-copy-agency-skill
/plugin install copy-masters@ad-copy-agency-skill
Put it in your user skills folder to use it everywhere, or in a project's .claude/skills/ to use it there only. Keep the folder name copy-masters; the skill is then /copy-masters and you update with git pull.
git clone https://github.com/5hyuns/ad-copy-agency-skill.git ~/.claude/skills/copy-masters
git clone https://github.com/5hyuns/ad-copy-agency-skill.git "$HOME\.claude\skills\copy-masters"
git clone https://github.com/5hyuns/ad-copy-agency-skill.git .claude/skills/copy-masters
Requires Claude Code and Python 3 (the helper scripts use only the standard library). Raw material collection uses a web search tool when one is available and falls back to your own material. Start a new session and copy-masters appears in the skill list.
Call it with the slash command or just ask for ad copy or headlines. If a required input is missing it asks first; it never guesses the mode, channel or target. Set Copy language: en for English copy (the default is Korean); the market then defaults to us, so the client checks against US channel specs and FTC rules.
/copy-masters:copy-masters Subject: SlowBowl, a smart dog bowl that releases kibble in small portions when it notices a dog gulping Business goal: more first orders from Instagram ads Target: US dog owners, 25 to 45, whose dog eats too fast Mode: performance Channel: social feed Brand: Tumbleweed Pets Must-haves: not a veterinary medical device; no health claims Your material: ./material.md Copy language: en
| Input | Required | Value |
|---|---|---|
| Subject | yes | What is being advertised |
| Business goal | yes | One short line |
| Target | yes | Who the ad speaks to |
| Mode | yes | performance (clicks, conversions) or brand (memory, attitude) |
| Channel | yes | social feed, search ads, landing page or video script |
| Brand | yes | Names the output folder and learning log |
| Product truth | no | What the company itself says is the core of the product |
| Must-haves | no | What must or must not appear, tone rules |
| Industry | no | Adds industry-specific regulation checks |
| Your material | no | Decks, reviews, interviews. Approved customer quotes reach the shortlist verbatim |
| Copy language | no | en for English copy; Korean if not set |
| Market | no | us or kr: whose channel specs and ad law the client checks against. Follows the copy language if not set |
One file per step under copy-runs/<brand>/<date>-<topic>/ in your working directory. At the end you get the final line and two alternates, the planner's reframe, line counts per step, any lines the fact check caught, and the facts the client still needs to confirm.
The Korean demo run used 13 sub-agents and took about 20 minutes, about 1.04M sub-agent tokens in total. It suits work where you want to follow the process or where fact checking matters more than speed.
The planner changed the kind of problem: owners already know to slow their dog down, and every bowl they know does it with an obstacle in a full bowl. The evidence was one review from an owner still listening for chewing at dinner. The CD sent the first brief back once. Three teams wrote 99 lines from 15 routes. A full line-by-line record exists for a Korean run.
Open the Korean run record