Creative Blueprint
BlueprintWorked exampleBefore / AfterSam batch — finalAll adsSkillsLessonsProtocols
2 Claude Code skills

The Static Ad System

Everything learned making 162 validated Wildhorn ads, in two skills.

static-ads

= everything to make perfect ads

For any brand. Understand the product and the customer, clone ads that already win, check every image, review by Loom, learn from every comment. You bring the brand kit (voice, facts, offer, product photo).

See static-ads
wildhorn-static-ads

= the same, with Wildhorn already loaded

Exactly the same skill, plus the Wildhorn brand kit, Adrien's taste, every winner and every failure. You only bring the templates.

See wildhorn-static-ads
Results

Before the system vs with it

0 %71 %
validated on the first try
87 %
after one fix · 100 % in the end
30 %62 %
of generations became a validated ad
2.51.4
review rounds per ad
MetricRun 1 — 79 ads, before the systemSam batch — 83 ads, with the system
Validated on the first try0 %71 %
Validated after one fix—87 %
Validated in the end100 %100 %
Generations that became a validated ad30 %62 %
Average review rounds per ad2.51.4

Same product, same reviewer. The only difference is the method now written into these skills. All 162 ads: /all-ads.

How it works

The 6 steps

Same steps for every brand. Then repeat from step 3 with the next 10 ads.

  1. Brand kit
    Fill the brand's voice, facts, offer, proof, avatar, banned words, product photo. Never invent a fact: unknown = [MISSING], ask.
    Open: BRAND-KIT.md brand.json
  2. Understand
    Product → mechanisms → angles. Who buys (avatar). Find ads that win (research). Decode each template: what it says, its visual trick, how it was made.
    Open: 1-understand/
  3. Make
    One spec per template (what to KEEP, what to SWAP). The checker blocks bad specs. Generate, paste the real product + exact text by script, check every ad at full size.
    Open: 2-make/
  4. Review
    10 ads per batch on a review page. The founder records a Loom. Transcribe it, write each verdict.
    Open: 2-make/review-and-pages.md
  5. Improve
    Every comment becomes a permanent rule (and an automatic check when possible). Fix the misses, keep the wins frozen.
    Open: 3-improve/
  6. Measure
    First-try rate, after-one-fix rate, final rate, rounds per ad. Compare with the last batch.
    Open: 3-improve/stats.md
The core

The 12 golden rules

Everything else is detail. The full rulebook (with the case each rule came from): 3-improve/rules.md.

  1. Clone a winner: same skeleton, new flesh. Change the minimum. The template already works.
  2. Read the template as OUR customer would. If a line already works for us, copy it word for word.
  3. Copy the visual trick, and how it was made. A photo with a pasted product → edit that photo and swap only the product. Keep the format (9:16 stays 9:16).
  4. The product is always the real one. The real cutout and the exact text are pasted by script; an AI never draws the label or the text alone.
  5. Every line carries the brand's core problem in plain words (Wildhorn: "beer belly", never just "belly"). Simplest words win.
  6. Real facts only. Price, offer, stats, guarantee come from brand.json. Never invent a number.
  7. Our customer, not theirs. Our avatar's age and look; remove every prop of their brand.
  8. The picture must act out the line. Before/after stays before/after; if she initiates, she leads.
  9. Logo outside the label = the icon only. AI misspells brand names.
  10. A validated version is frozen. Redo only what was criticized. The founder's latest verdict wins.
  11. "OK" means a new file exists on disk. Check the template path, check the output, then QC at full size.
  12. Every review comment becomes a rule. Rules are only added, never deleted. The checker blocks repeats.
Inside

The folder map

At the root of each skill: SKILL.md (the front page), BRAND-KIT.md + brand.json (the brand). Then:

FolderWhat is in it
1-understand/
Understand
Product → mechanism → angle, who buys, which winning ads to clone, how to decode a template. Step 2.
WORKFLOWS.md ad-dna.md avatar-angle-system.md competitor-case-studies.md copy-analysis.md frameworks-evolve-crafter.md new-brand-worksheet.md product-mechanism-angle.md research-playbook.md template-reading.md
2-make/
Make
Spec → automatic check → generate → paste the real product and exact text → full-size QC → review page. Steps 3–4.
PIPELINE.md composite.md engines.md first-batch.md qc-checklist.md review-and-pages.md spec-format.md
3-improve/
Improve
Loom → verdicts → every comment becomes a rule → stats. Steps 5–6.
feedback-loop.md rules.md rules.md.bak-20261008-1946 rules.md.bak-loomo2-20261009-0628 stats.md
wildhorn/
Wildhorn layer
Only in wildhorn-static-ads: brand bible, angles, Adrien's taste, 162 winners, every failure, paths.
PLAYBOOK.md adrien-feedback.md angles.md brand.md failures-catalogue.md lessons-wildhorn.md paths-and-commands.md winners-catalogue.md
scripts/
Scripts
The tools that do the mechanical work (same in both skills). Brand settings come from brand.json.
README.md adformat.py brief2spec.py build_all.py build_lessons.py build_sam.py build_samfinal.py build_validated.py composite.py ingest_loom.sh jarswap.py kie6.py kie_gen.py lint.py lint.py.bak-loomo2-20261009-0624 pages_common.py remix.py sac_config.py srun.py stats.py

1-understand, 2-make, 3-improve and scripts are identical in both skills. Only the brand differs.

Never goes backwards

The review loop

Every review makes the next batch better. Nothing learned is ever lost.

  1. Review page
    Only the ads still to review: template next to every try.
  2. Loom
    The founder reviews ad by ad, saying the number.
  3. Transcript
    Downloaded and transcribed automatically, then read in full.
  4. Verdict per ad
    Validated, or rejected with the reason. A validated try is frozen.
  5. Why / root cause
    Every win gets its why. Every miss gets its root cause, not the symptom.
  6. New rule
    Written into the rulebook with the ad as evidence.
  7. Automatic check
    If a machine can check it, the checker now blocks any spec that breaks it.
  8. Redo + next 10
    Redo only what was named, plus 10 new templates, built against every rule.

Loom coverage — no comment left without a rule

261
Loom comments from Adrien mapped one by one — 0 without a rule
113
rules in the master rulebook (A–E)
27
extra prompt-craft and system rules (F, R)
FamilyRulesWhat it covers
ATemplate & angle35Decode before writing: why it stops the scroll, what belongs to their product, the scene, the angle, the KEEP/SWAP list.
BCopy22Same amount of text as the template, name the problem in full, simplest words, real facts only.
CVisual22Show the problem or the result, product as an exact replica, an ingredient you'd want to eat, text placed like the template.
DEngine & pipeline21Which engine for which template, never water an ad down, the blocking check, full-size QC, 10 per round.
EWhat worked13The patterns behind validated ads — repeat them.
FPrompt craft13How prompts are written so the engine gets it right; from the QC logs.
RSystem rules14Process rules: any template accepted, one ad per template, research once.
Read every rule — /lessonsEvery round — /protocols
Any brand

static-ads

Everything to make perfect static ads. You bring the brand kit.

One skill for the whole job, for any brand: understand the product and the customer, find ads that already win, clone them with the real product, check every image at full size, review 10 at a time by Loom, and turn every comment into a permanent rule. The only input it needs is the brand kit (voice, facts, offer, proof, avatar, product photo).

When it triggers

Just say it, in English or French. For example:

“Make ads for brand X”“Clone these templates”“New batch”“Analyze this ad / competitor”“Find the angles”“Here is my Loom”“Fais-moi des ads”“Trouve les angles”

What's inside — 49 files

FileLinesWhat it is
SKILL.md92The front page: the 6 steps, the 12 golden rules, where to look for what.
BRAND-KIT.md211The fill-in brand kit, in plain English: voice, facts, label, offer, proof, avatar, angles, banned words, logo, fonts, product photo. Each field says which step uses it.
brand.json103The same facts in the shape the scripts read. Blank template: every value is [MISSING].
1-understand/WORKFLOWS.md387The analysis playbook: six principles, four workflows (new brand end to end, one ad in 10 minutes, decode a template, study a competitor), checklists, common failures.
1-understand/ad-dna.md292Reads an ad as 20 genes in 4 branches, so you can count what is really new, know exactly what won, and plan crosses.
1-understand/avatar-angle-system.md320Find the customer and the angle, check them, lock them: master avatar, sub-avatars, Avatar Check, Angle Sniper, angle cards.
1-understand/competitor-case-studies.md260What every competitor study already taught us, and the lesson each gives any brand.
1-understand/copy-analysis.md247How to judge headlines, hooks, stats and offer lines: copy formulas, compliance traps, which AI to use for copy.
1-understand/frameworks-evolve-crafter.md276Evolve and Crafter Club distilled: desire, sophistication, awareness, angle vs concept, testing and iteration levers.
1-understand/new-brand-worksheet.md269Fill-in worksheet for a new brand: product sheet → mechanisms → angles → avatar → templates → one brief per template. Two founder sign-offs.
1-understand/product-mechanism-angle.md277The key move: product → hidden cause → the angles it opens. When to refuse an angle the product can't reach.
1-understand/research-playbook.md269Where to find winners (TrendTrack, Meta Ad Library, Apify, radar, scaling shops), how to spot a scaling ad, what each step costs.
1-understand/template-reading.md343The five-layer method to decode a template before cloning it, with every failed case that created a rule.
2-make/PIPELINE.md396The production protocol in 16 steps, what the reviewer's phrases mean, worked examples, the non-negotiable rules, commands.
2-make/composite.md147How the real product and the exact text are pasted on any image by script: every option, with validated examples.
2-make/engines.md176Which image engine for which template (gpt-image-2, Seedream, Nano Banana Pro), the fixed prompt blocks, refusals, time and cost.
2-make/first-batch.md62A new brand's first batch: working folder, spec constants, templates, the first 10 ads, what to expect, pre-flight checklist.
2-make/qc-checklist.md114The full-size check every image passes before the founder sees it: product, text, angle, people, style, one-second test.
2-make/review-and-pages.md93Ad numbering, the review / final / validated pages, verdict files, sell versions, exports.
2-make/spec-format.md273The spec, one entry per ad: every field, how the prompt is built, 7 real specs, how a hand-off brief becomes a spec.
3-improve/feedback-loop.md421From a Loom to a permanent rule: transcript, verdict table, wins → why, misses → root cause → rule → automatic check. Every round as a case study.
3-improve/rules.md694The full rulebook: A–E (same IDs as Wildhorn), F prompt craft, R system rules, each with the case it came from.
3-improve/rules.md.bak-20261008-1946641
3-improve/rules.md.bak-loomo2-20261009-0628672
3-improve/stats.md173The numbers: first try, after one fix, final, hit rate, rounds per ad — definitions, benchmarks, how to compute them.
scripts/README.md75What each script does, what changed vs the Wildhorn originals, where brand.json lives, every setting.
scripts/adformat.py88Sets every ad to its format: 1080 wide, square 1080×1080, 4:5 1080×1350, Story 1080×1920 (rule D15).
scripts/brief2spec.py73Turns hand-off briefs into a draft spec file.
scripts/build_all.py30Builds an images-only 'all ads' page from several finished sets.
scripts/build_lessons.py49Builds the rules page from the rulebook.
scripts/build_sam.py49Builds the review page: only ads still to review, every try, the decode.
scripts/build_samfinal.py44Builds the final page (every try + the version to launch) and exports them.
scripts/build_validated.py27Builds the validated grid: images only, a shareable demo link.
scripts/composite.py99Pastes the real product cutout and exact text on an image. Never misspells.
scripts/ingest_loom.sh10Downloads a review Loom and transcribes it (OpenAI API).
scripts/jarswap.py53Swaps only the product inside a box of an existing image.
scripts/kie6.py102kie.ai helper (upload, create task, wait, download) for Seedream and Nano Banana.
scripts/kie_gen.py45Backup generator via kie.ai when OpenAI refuses.
scripts/lint.py125The blocking checker: runs on every spec before any generation. One error = nothing is sent.
scripts/lint.py.bak-loomo2-20261009-0624110
scripts/pages_common.py60Shared helpers for the pages (style, spec loader, thumbnails).
scripts/remix.py52Clones a template with the product through OpenAI gpt-image-2.
scripts/sac_config.py66Central paths and the brand-file loader (env → working folder → skill root).
scripts/srun.py92Runs one ad: check → engine chain → composite. Logs every call for the stats.
scripts/stats.py51Batch stats from the call log and the verdicts.
scripts/fonts/ (4 files)—Fonts used to write exact text on the ads: Anton-Regular, Fredoka, Montserrat, Oswald (1217 KB, not shown).
Download static-ads.zip (828 KB)Read SKILL.md
Wildhorn

wildhorn-static-ads

The same skill, with Wildhorn already loaded.

Exactly the static-ads skill, plus the Wildhorn layer: product facts, the locked ad offer, the angles and headlines that won, banned words, Adrien's taste, all 162 validated ads and every failure. A new Wildhorn batch starts where the last one ended — you only bring the templates.

When it triggers

Just say it, in English or French. For example:

“Make Wildhorn ads”“New batch”“Clone these templates for Wildhorn”“Here is my Loom”“Beer belly ad”“Fais-moi des ads Wildhorn”

What's inside — 58 files

FileLinesWhat it is
SKILL.md100The front page: Wildhorn in 30 seconds, the 6 steps, the 12 golden rules with Wildhorn examples, where to look.
BRAND-KIT.md28Wildhorn's brand kit is already filled: this page says where each part lives.
brand.json170The Wildhorn brand file the scripts read: jar photo + cutout, offer, prices, avatar, banned words, checks.
brand.json.bak-loomo2-20261009-0624164
3-improve/rules.md.bak-20261008-1946641
3-improve/rules.md.bak-loomo2-20261009-0628672
wildhorn/PLAYBOOK.md304Everything to run a Wildhorn batch: brand snapshot, non-negotiables, the batch end to end, engine decision tree, what Adrien expects, known traps.
wildhorn/adrien-feedback.md440Every review in order and the rule each one created; how Adrien reviews; the 261-row coverage matrix.
wildhorn/angles.md268Every Wildhorn angle and mechanism, every validated headline, and the lines that failed.
wildhorn/brand.md146Brand bible: product facts, label, offer, proof, avatar, banned words, assets, fonts and colours.
wildhorn/failures-catalogue.md201Every rejected try, grouped by failure type, with root cause and fix — plus a 12-point pre-flight checklist.
wildhorn/lessons-wildhorn.md395The full rulebook (A–E) with the Wildhorn evidence and how each rule is enforced.
wildhorn/paths-and-commands.md208Where everything lives on the VPS: workshop, scripts, pages, exports, copy-paste commands.
wildhorn/winners-catalogue.md1408All 162 validated ads (83 Sam + 79 run 1): template, angle, final copy. Search it before cloning.
scripts/lint.py.bak-loomo2-20261009-0624110
+ 1-understand/, 2-make/, 3-improve/, scripts/ — 40 files, identical copies of static-ads
FileLinesWhat it is
1-understand/WORKFLOWS.md387The analysis playbook: six principles, four workflows (new brand end to end, one ad in 10 minutes, decode a template, study a competitor), checklists, common failures.
1-understand/ad-dna.md292Reads an ad as 20 genes in 4 branches, so you can count what is really new, know exactly what won, and plan crosses.
1-understand/avatar-angle-system.md320Find the customer and the angle, check them, lock them: master avatar, sub-avatars, Avatar Check, Angle Sniper, angle cards.
1-understand/competitor-case-studies.md260What every competitor study already taught us, and the lesson each gives any brand.
1-understand/copy-analysis.md247How to judge headlines, hooks, stats and offer lines: copy formulas, compliance traps, which AI to use for copy.
1-understand/frameworks-evolve-crafter.md276Evolve and Crafter Club distilled: desire, sophistication, awareness, angle vs concept, testing and iteration levers.
1-understand/new-brand-worksheet.md269Fill-in worksheet for a new brand: product sheet → mechanisms → angles → avatar → templates → one brief per template. Two founder sign-offs.
1-understand/product-mechanism-angle.md277The key move: product → hidden cause → the angles it opens. When to refuse an angle the product can't reach.
1-understand/research-playbook.md269Where to find winners (TrendTrack, Meta Ad Library, Apify, radar, scaling shops), how to spot a scaling ad, what each step costs.
1-understand/template-reading.md343The five-layer method to decode a template before cloning it, with every failed case that created a rule.
2-make/PIPELINE.md396The production protocol in 16 steps, what the reviewer's phrases mean, worked examples, the non-negotiable rules, commands.
2-make/composite.md147How the real product and the exact text are pasted on any image by script: every option, with validated examples.
2-make/engines.md176Which image engine for which template (gpt-image-2, Seedream, Nano Banana Pro), the fixed prompt blocks, refusals, time and cost.
2-make/first-batch.md62A new brand's first batch: working folder, spec constants, templates, the first 10 ads, what to expect, pre-flight checklist.
2-make/qc-checklist.md114The full-size check every image passes before the founder sees it: product, text, angle, people, style, one-second test.
2-make/review-and-pages.md93Ad numbering, the review / final / validated pages, verdict files, sell versions, exports.
2-make/spec-format.md273The spec, one entry per ad: every field, how the prompt is built, 7 real specs, how a hand-off brief becomes a spec.
3-improve/feedback-loop.md421From a Loom to a permanent rule: transcript, verdict table, wins → why, misses → root cause → rule → automatic check. Every round as a case study.
3-improve/rules.md694The full rulebook: A–E (same IDs as Wildhorn), F prompt craft, R system rules, each with the case it came from.
3-improve/stats.md173The numbers: first try, after one fix, final, hit rate, rounds per ad — definitions, benchmarks, how to compute them.
scripts/README.md75What each script does, what changed vs the Wildhorn originals, where brand.json lives, every setting.
scripts/adformat.py88Sets every ad to its format: 1080 wide, square 1080×1080, 4:5 1080×1350, Story 1080×1920 (rule D15).
scripts/brief2spec.py73Turns hand-off briefs into a draft spec file.
scripts/build_all.py30Builds an images-only 'all ads' page from several finished sets.
scripts/build_lessons.py49Builds the rules page from the rulebook.
scripts/build_sam.py49Builds the review page: only ads still to review, every try, the decode.
scripts/build_samfinal.py44Builds the final page (every try + the version to launch) and exports them.
scripts/build_validated.py27Builds the validated grid: images only, a shareable demo link.
scripts/composite.py99Pastes the real product cutout and exact text on an image. Never misspells.
scripts/ingest_loom.sh10Downloads a review Loom and transcribes it (OpenAI API).
scripts/jarswap.py53Swaps only the product inside a box of an existing image.
scripts/kie6.py102kie.ai helper (upload, create task, wait, download) for Seedream and Nano Banana.
scripts/kie_gen.py45Backup generator via kie.ai when OpenAI refuses.
scripts/lint.py125The blocking checker: runs on every spec before any generation. One error = nothing is sent.
scripts/pages_common.py60Shared helpers for the pages (style, spec loader, thumbnails).
scripts/remix.py52Clones a template with the product through OpenAI gpt-image-2.
scripts/sac_config.py66Central paths and the brand-file loader (env → working folder → skill root).
scripts/srun.py92Runs one ad: check → engine chain → composite. Logs every call for the stats.
scripts/stats.py51Batch stats from the call log and the verdicts.
scripts/fonts/ (4 files)—Fonts used to write exact text on the ads: Anton-Regular, Fredoka, Montserrat, Oswald (1217 KB, not shown).
Download wildhorn-static-ads.zip (938 KB)Read SKILL.md
How to use

Using the skills

In Claude Code (Mac or VPS)

Already installed. Nothing to set up — just ask. For example: “Make me a batch of 10 statics for brand X from these templates” “New Wildhorn batch from these templates” “Here is my Loom”

On claude.ai

  1. Download the zip (buttons above).
  2. Settings → Capabilities → Skills → Upload.
  3. Upload the zip. Then ask the same way.

For a new brand

  1. Brand kit
    Fill BRAND-KIT.md (voice, facts, offer, proof, avatar, product photo). Unknown = [MISSING], never a guess.
  2. Understand
    The new-brand worksheet: mechanisms, angles, avatar, templates. You sign off.
  3. First batch of 10
    first-batch.md: templates → specs → check → generate → full-size QC → review page.
  4. Your Loom
    Review ad by ad. Every remark becomes a rule; the next 10 start from there.
To decide

Open points

  1. Proof stat wording differs. Landing: “93% felt it*”. Ads: “93% saw their beer belly shrink*”. The compliance audit also flagged 93% vs 84% and 60 days vs 12 weeks. Pick one source of truth.
  2. Customer count. Old ads used “20,000+ men”; current is “50,000+”.
  3. Autoship. The internal product notes list “Autoship -50%” in the offer. Fine on the site — never in ads (rule).
  4. Two reviews were never transcribed: Loom 1 and the final Sam Loom (S11). Their lessons come from the protocols log.

107 files across 2 skills · page rebuilt by build_skills_site.py