skills/ai-creatorship/laniameda-ugc-ad-pipeline/SKILL.md
End-to-end AI-creator UGC ad generation. Use when the user wants to produce UGC-style ad clips with AI creators — reaction videos, virtual try-ons, unboxings, product holds, ad translations, or 3D template brand swaps. Orchestrates Nano Banana Pro (source image) + Seedance V2 (animation + lip sync) + Claude Opus 4.6 (prompt optimization). Triggers on "make a UGC ad", "generate UGC variations", "AI creator for this brand", "localize this ad", "A/B test this hook with N creators", or any request to turn a product + script into ad-ready UGC clips at scale.
npx skillsauth add michailbul/laniameda-skills laniameda-ugc-ad-pipelineInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
When this skill activates, you are a UGC ad producer. You don't write prompts in isolation — you run a pipeline: persona → script → prompt assembly → optimization → variant generation → delivery.
Your job is to turn a brand + product + concept into a ready-to-run UGC ad set that looks like it was filmed, not generated.
Stack you orchestrate:
references/model-selection.md)These rules override everything else. If a user prompt conflicts, push back.
references/emotion-muscle-library.md."quotation marks". Seedance lip-syncs the exact text inside quotes. Write it how a real person would actually say it — pauses, fillers, "huh," "okay," mid-sentence breath.human-copy-standards. No AI-speak, no "seamlessly," no "game-changer." UGC sounds like someone talking, not a press release.Run these in order. Do not skip stages.
Before anything else, establish or retrieve the AI creator.
laniameda-gallery (search ugc-persona tag)references/creator-persona-builder.mdpersona/creator.pngWhy this matters: Face consistency across variants is the single biggest tell that separates "real UGC" from "obviously AI." Locking the persona first means every downstream generation references the same ground truth.
Write or refine the spoken dialogue.
human-copy-standards — kill inflation words, AI vocabulary, rule-of-three ticsGood UGC hook patterns (steal these):
Build the Seedance V2 multi-input prompt. Use the matching template from references/prompt-templates/.
Default structure:
[Muscle-movement description of expression + micro-gestures]
[Subject reference to image 1: persona]
[Product reference to image 2: product]
[Optional motion reference to video 1 if replicating a specific shot]
[Dialogue in quotation marks: "exact words with pacing"]
[Camera: angle, distance, focal length, any movement]
[Lighting: soft natural / overhead ring / golden hour / etc.]
[Environment: 3-5 specific details]
[Audio: ambient cues, room tone, any background]
[Consistency lock: "face identical to image 1, product identical to image 2"]
Pass the assembled prompt through Claude Opus 4.6 with this instruction:
"Optimize this Seedance V2 video prompt for maximum specificity and realism. Preserve all muscle-movement descriptions, exact dialogue in quotes, and image references. Expand camera, lighting, and environmental detail. Do not paraphrase dialogue. Do not simplify. Output the optimized prompt only, no commentary."
Identify the variation axis and generate the set.
Valid axes:
For each variant:
prompt.txt + meta.jsonEach of these has a dedicated template in references/prompt-templates/:
| Use case | Template | When to use |
|---|---|---|
| Reaction / taste-test | reaction.md | Showing off a product via unboxing/first-try vibe |
| Virtual try-on | tryon.md | Apparel, accessories, glasses — outfit/item on creator |
| Product hold / showcase | product-hold.md | Clean hero shot of creator presenting the product |
| Ad translation | translation.md | Re-voicing an existing ad in new language + new creator |
| 3D template swap | template-swap.md | Brand texture/logo applied to generic 3D render |
Load the specific template when that use case is picked.
Every campaign lands here:
~/work/laniameda/laniameda-hq/content-kb/ugc-ads/YYYY-MM-DD-<brand>-<campaign>/
campaign-meta.json # brand, product, axis, variant count, dates
persona/
creator.png # locked persona image
creator-meta.json # persona character sheet
script/
master-script.md # base script (pre-variants)
hook-variants.md # if axis = script
variants/
v1-<label>/
prompt.txt # final optimized prompt
video.mp4 # generated clip (when available)
meta.json # inputs, axis value, duration, notes
v2-<label>/
...
exports/
final-cuts/ # post-edited versions if any
captions/ # caption files per language
campaign-meta.json schema:
{
"brand": "",
"product": "",
"campaign_name": "",
"created": "YYYY-MM-DD",
"persona_id": "",
"axis": "creator|language|script|product-angle",
"variant_count": 0,
"models_used": ["nano-banana-pro", "seedance-v2"],
"status": "draft|generating|delivered"
}
Seedance V2 is the default. Use these when it isn't the right tool. Full rationale in references/model-selection.md.
Check every variant before saving status: delivered. If any fail, regenerate.
"..."human-copy-standardsWhen user asks "what should I do with this capability," surface these:
UGC-as-a-service, infinite inventory. Build 10-50 persona personas once. Each brand picks 5 × 3 scripts × 3 hooks = 45 ad variants. Margins scale to infinity.
Localization arbitrage. Most DTC brands don't localize creative because it's too expensive. Take any ad working in English, generate 20 language variants overnight via the translation template. Biggest win for brands with international traffic they're not converting.
Test-then-cast. Generate the ad with an AI creator first. If it converts, cast a real creator to reshoot. Flips the production funnel — validate creative before paying for humans.
Owned creator IP. Real creators leave, raise rates, get canceled. A locked persona is yours forever. 500 ads, same face, zero talent cost.
references/prompt-templates/ — one template per use case, copy-paste readyreferences/emotion-muscle-library.md — emotion → muscle movement translation tablereferences/creator-persona-builder.md — how to generate + maintain consistent AI creatorsreferences/localization-playbook.md — ad translation full workflowreferences/model-selection.md — when to use Kling / Enhancor V4 / Veo insteadreferences/examples.md — Sirio Berati's original 6 Seedance V2 demos as ground-truth referenceseedance-prompting — base Seedance prompting rules, timecoded shot constructionnano-banana-pro — persona + product image generationai-avatar-realistic — photorealistic avatar guidelineshuman-copy-standards — script quality gateOwner: Michael | Source: Sirio Berati × Greg Isenberg Seedance V2 walkthrough, 2026-04-17
development
Seedance 2.0 video prompt director. Converts plain-text scene descriptions into production-ready bilingual EN+ZH video prompts optimized for the Seedance 2.0 video generator. Handles all Seedance work — action (combat, pursuit, stunts), general (landscapes, journeys, atmosphere), dialogue (confrontations, negotiations, interrogations), and non-narrative commercial work (ad spots, music videos, fashion films, automotive inserts, product shots, pet/character demos, cutaway montages, social reels for TikTok / Reels / YouTube Shorts). Use whenever the user wants to create a Seedance video prompt, mentions Seedance, or describes a cinematic scene for video generation. For NARRATIVE screenplay-integrated work, use seedance-screenwriter instead.
development
Write Seedance 2.0 prompts in screenplay format for narrative storytelling — when the prompts will be cut into a film, short, or scene. Use whenever you're generating shots that will be edited into a continuous story with dialogue, character beats, scene continuity, or coverage. Pairs with the screenwriter skill — read the scene's screenplay first (or the project's `scene.md` if it exists), then translate each shot into a Seedance prompt that reads as a screenplay page, not as an engineering spec.
documentation
Скилл-инструмент для сценариста полнометражного фильма или сериала. Используй всегда, когда пользователь хочет писать сценарий, поэпизодник, разрабатывать сцены, бит-шит, диалоги, делать ревизии, считать экранное время, резать длину, работать с персонажами или мифологией истории. Скилл работает на основе методологий Макки, Кэмпбелла и Аристотеля, выдаёт Hollywood-формат .docx, поддерживает билингвальные сценарии (диалог на одном языке + перевод в скобках под ним), и помогает аудитировать структуру по причинности и движению ценности. Скилл не привязан к конкретной истории — пользователь приносит свою.
development
Extract shot composition DNA from any car photograph into structured JSON — camera angle, lens, framing, lighting — stripped of car-specific details. Then reuse extracted angles with any car identity to generate new images at scale. Use when: extracting angles from reference photos, building a shot library, batch-analyzing car photography, replicating a great angle with a different car, running extraction pipelines in Freepik or Flora. Triggers: "extract this angle", "steal this composition", "shot DNA", "analyze this car photo", "replicate this shot with my car", "batch extract angles", "car photography analysis", "angle extraction", "build a shot library".