agentleFS
vargHQvargHQ/skills/varg-ad-variants/SKILL.md

varg-ad-variants

Skill23 starsChanged 8 months agoMITView on GitHub

Turns one winning video ad into 20 ad variants that Meta's Andromeda and TikTok treat as different creatives: tag the winner with varg video_analyze, plan two layers (about 7 new concepts that each change message, visual execution or format, plus about 13 single-variable iterations, mostly new hooks), generate the new openers and concepts on varg (Seedance 2.5, Kling 4, Nano Banana, ElevenLabs), swap hooks onto the winner with a tested FFmpeg script (word-boundary cut, normalised parts, 20 ms fade, manifest), re-caption every variant, and export names and a test plan. Use when a seller asks for ad variations, more creatives, hook variants, "scale my winning ad", "make 20 versions of this ad", creative testing volume for Meta or TikTok, or new hooks for an ad that is fatiguing. Not for the testing strategy alone (ad-creative-testing), finding winners from competitors (varg-ad-library-remix), or a brand-new single ad.

  • Reads credentials

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 0 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Write the plan as JSON before generating.

    line 45
  2. Very specific:

    Keep a clean master of the winner without burned captions.

    line 55

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

One winning ad into 20 variants

Since Meta's Andromeda update, ads that look alike are grouped and compete as one ("Entity ID" in agency talk): a new caption, colour or music track is not a new creative. Sellers now test 20–40 creatives a week at about $20/day each and refresh every 2–3 weeks (theoptimizer, segwise). The "suppressed above 60% similarity" thresholds are repeated by agencies but not published by Meta.

1. Tag the winner

video_analyze on the winner (about 5 credits; prompt in varg-ad-library-remix) → hook, angle, format, emotional driver, persona, proof, CTA. You scale the mechanism behind the ad, not the file.

2. Plan two layers (20 in total)

Layer A, ~7 new concepts. Each must pass the three-question check (two "no" answers = the same Entity): Is the message different? Is the visual execution different, not just the text? Is the format different? Moves: same script with a new persona (female → male → couple → parent), same structure with a new script, same concept in a new format (UGC → unboxing → demo → mascot song → problem/solution), same script with new b-roll.

Layer B, ~13 iterations, one variable each. Mostly new hooks (3–5 per concept, ≤3 s), then new CTAs or offers. If two fields change between variants, the plan is wrong (Pixis).

Write the plan as JSON before generating; name every file {angle}_{offer}_{product}_{format}_{hook}_v{n}, e.g. safety_fullprice_gloves_tutorial_povmandoline_v1, with a closed list of 8–10 angles.

3. Make the new parts on varg

  • New openers: a 3–6 s clip per hook (varg-product-hook archetypes, varg-unboxing-video) plus its spoken line on eleven_v4 in the same voice as the winner (1 credit per line).
  • New concepts: the skill that makes the format (ai-ugc-ad-video, varg-mascot-jingle-ad, varg-dropship-reel …).
  • Price the batch first: POST /v2/estimate / estimate_cost.

4. Swap hooks onto the winner

Keep a clean master of the winner without burned captions. Find the cut: the first word of the body in its word timings (Whisper, or hook from varg-dropship-reel's guide-edl.mjs). Then:

node scripts/hook-swap.mjs --body master_clean.mp4 --cut 7.34 --out variants/ \
  clips/mandoline.mp4+lines/pov-mandoline.mp3 \
  clips/knife.mp4+lines/knife-test.mp3

Each hook is a clip, or clip+line.mp3 to lay a new spoken line over it (the hook lasts as long as the line + 0.3 s). Every part is normalised to 1080×1920 / 30 fps / 48 kHz before the join, with a 20 ms fade at the cut (no click), and variants/manifest.json records hook, line, cut and lengths. Then re-caption each variant: transcribe it, captions.mjs, burn with ffmpeg (libass).

5. Export the test plan

ABO, one creative per ad set, broad targeting, $20–50/day per ad set; kill under 1% CTR or at $10–30 spent without a result; judge after 7–14 days and 1,000+ impressions; move winners to CBO/Advantage+; refresh every 2 weeks. On TikTok, post hook variants as separate ads, not as duplicates of one post (duplicates get buried).

Tested

2026-10-28 on the cut-resistant gloves reel (59 s). Two new spoken hooks on eleven_v4 (1 credit each) over the reel's own clips, swapped in with hook-swap.mjs in seconds, then re-captioned:

Both cut cleanly into "They can be purchased for…" with no click or jump. These are Layer B iterations; Layer A concepts need new footage.

Related skills

ad-creative-testing (why an ad won, the test plan), varg-ad-library-remix (new angles from competitors), varg-product-hook and varg-unboxing-video (new openers), varg-dropship-reel (captions.mjs, guide-edl.mjs), ai-ad-compliance-check.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.