UGC Ad Scripts
Turn a product brief and target audience into UGC-style short-form video ad scripts a creator can film - hook, body, CTA - with 3-5 hook variants per concept written as spoken line plus on-screen text plus opening visual, with delivery notes and disclosure lines. Use whenever the user asks for a UGC ad or creator script, a short-form vertical video ad script, a founder-led video, employee-generated content, or a customer testimonial video script - even if they never say 'UGC'. Covers B2C creator scripts and B2B formats. Do NOT use to score existing hooks (mbfinotti/advertising-skills@ad-hook-analyzer), to write static ad copy (mbfinotti/advertising-skills@ad-copy-variants), or to brief a designer (mbfinotti/advertising-skills@ad-creative-brief).
- Skill ID
- mbfinotti/advertising-skills/ugc-ad-scripts
- Publisher
- mbfinotti
- Repository
- advertising-skills
- Installs
- 860
- Files
- 5
- License
- MIT
- Synced
- Oct 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
mbfinotti/advertising-skills/ugc-ad-scriptsInstalls these files- SKILL.md
- evals/evals.json
- references/compliance-checklist.md
- references/hook-archetypes.md
- references/script-examples.md
What this skill tells the agent
UGC Scripts
Turn a product brief and target audience into UGC-style short-form video ad scripts a creator can film: hook, body, CTA, 3-5 hook variants per concept, and the delivery notes needed to shoot.
The strategist writes the script; the creator performs it; the editor assembles it - "You're not paying the creator to be the creative strategist" (Savannah Sanchez, The Social Savannah). Roles stay separate; combining them is the most-cited cause of mediocre output.
Scope
Out of scope - hand off instead of doing it here:
- Video production, casting, sourcing creators, editing, post-production. Hard out.
- Scoring or ranking existing hooks/transcripts →
mbfinotti/advertising-skills@ad-hook-analyzer. - Static ad copy A/B variants (headline/body/CTA text for feed and search ads) →
mbfinotti/advertising-skills@ad-copy-variants. - Full campaign creative brief (messaging pillars, visual guidelines, brand do/don'ts) →
mbfinotti/advertising-skills@ad-creative-brief. This skill writes the script itself and only the delivery notes needed to shoot it. - Deciding when an ad is worn out →
mbfinotti/advertising-skills@ad-creative-fatigue. - Designing the test matrix and sample sizes for the variants →
mbfinotti/advertising-skills@ad-creative-test-plan.
Interview
Ask one question per message. Offer multiple-choice options where possible. Skip anything the user's brief already answers.
- Product - what is it, and what does it actually do?
- Offer - free trial, discount code, demo, waitlist, direct purchase?
- Audience - who, and what awareness stage: unaware / problem-aware / solution-aware / product-aware?
- B2B or B2C?
- Platform and placement - short-form vertical feed, stories, professional-network feed, video pre-roll?
- Target duration - default 15-25 seconds, the strongest-cited band for paid social.
- Performer - real customer, paid creator, founder, employee, or a concept test with nobody cast yet?
- Evidence on hand - reviews, comments on past ads, support tickets, sales-call notes, observed winning ads?
- Regulated category (health, finance, supplements)? Which markets does this run in?
- Volume - how many concepts, how many hook variants each? Default: 2-3 concepts × 3-5 hooks × 2 CTAs.
- Deadline - what date must the first ad be live?
- One-off win or compounding asset - a single ad filling a slot now, or a script library and a repeatable format to build on?
- Effort ceiling - hours available, who can be filmed, and what already exists: product footage, screen recordings, a documented customer result cleared for public use?
Every option menu below is ranked by a default that these last three answers override. Re-rank against them and say which answer moved what:
- A compounding mandate promotes the asset-gated hook archetypes and the customer testimonial, since the asset outlives the ad that used it.
- A shoot this week defers them to the next round - say "deferred", and keep them on the menu.
- A constraint that cannot be lifted at all (no footage, no cleared result, a category ban) deletes an option - a deleted option gets named as deleted rather than parked at the bottom of the ranking.
Workflow
- Run the interview.
- Build the evidence base by review mining - the dominant input, taught as a named method by Copyhackers (Joanna Wiebe): pull the customer's own language back out of their own channels, then mirror it back. Work the sources in efficiency order - quotes returned per unit of digging:
- Public reviews == past-ad comments: a real tie, not a shrug - both are already public, already in the customer's words, and both are read straight off a screen with nobody's permission to ask. Take whichever the product actually has.
- Support tickets: need internal access, and a named customer's words need their consent before they reach a script.
- Sales-call notes: cost someone's time to dig out, and pay it back with the objection language nothing else gives you.
- Re-rank against what the user already holds: a tagged ticket export or a call-recording library drops to near-zero and outranks public reviews - as it does for most B2B products, where public reviews are too thin to carry a concept.
- Record each quote as four columns:
- Exact quote.
- Source.
- Underlying desire or problem.
- Emotional tag.
- If you can browse the web, pull recent public reviews of the product; otherwise ask the user to paste evidence.
- Never invent a hook, pain point, claim, or testimonial line. Fabricated reviews and testimonials are a regulatory violation, not just weak writing.
- No evidence at all? Say so, write from the brief alone, and label every script
UNVALIDATED - voice-of-customer not sourced.
- Define each concept: one audience segment × one motivation (in the customer's own words) × one format. Fix the offer. Concept, hook, and offer are three separately testable variables (Ralph Burns, Perpetual Traffic) - hold two constant, vary one.
- Draft the body against the anatomy below, fitted to the target duration. Keep it fixed across hook variants.
- Write 3-5 hook variants per concept, plus 2 CTA variants. One shoot then yields 6+ edit combinations against a single body - the standard way to isolate creative variables without re-filming.
- Each hook is a triad: spoken line + on-screen text + opening visual, each carrying different information.
- Pick distinct archetypes from references/hook-archetypes.md, which ranks them by persuasion bought per unit of production effort. Default: the dialogue-only archetypes lead (skeptic's turn, problem callout, POV), and an asset-gated one (proof-first, silent review, before/after contrast) earns a slot when that asset already exists. Near-identical openings re-test what is already known.
- Say what the ratio starves. Before/after contrast and proof-first carry the strongest evidence on the list and cost the most to shoot, so an efficiency read defers them forever and the slate never shows the viewer anything checkable. Promote one when its asset already exists and is cleared, when the interview answer was a compounding mandate, or once a round of tier-1 hooks has landed within noise of itself.
- An archetype the constraints rule out is deleted from this concept's menu and named as deleted in the script package:
- A regulated category bars before/after.
- Missing product footage kills silent review.
- An uncleared result kills proof-first and bold claim.
- Never rank a deleted archetype last; a ruled-out archetype at the bottom of a list gets briefed anyway next round.
- Check every hook-to-body transition: the first body line must extend that hook's premise. Rewrite the transition line per hook when needed - never let the body pivot away from what the hook promised.
- Lock the hook and the CTA word-for-word; leave the middle as bullet-point beats with example phrases. This is the practitioner reconciliation of authenticity versus control - see Scripting depth below.
- Add delivery notes per script:
- Beat timings.
- What is on screen each beat.
- Tone and read direction.
- What to hold up to camera.
- Do's/don'ts - these carry more signal than positive instruction alone.
- Run the compliance pass with references/compliance-checklist.md. Disclosure lines are script lines - write them in, in the language of every market the ad runs in.
- Run your preferred humanizer skill over every spoken line and on-screen text. Mandatory: UGC that reads machine-written destroys the authenticity the entire format depends on. Never ship raw first-draft output as final.
More from mbfinotti
Use this skill in a project
Open any RiverX project, search the Skills panel for mbfinotti/advertising-skills/ugc-ad-scripts, and install it in one click.
