| name | ugc-hook-writing |
| description | Write UGC hooks that stop the scroll and testimonial scripts that sell, for AI-generated UGC clips (VEO, Sora, Kling). Use this skill whenever the user wants to write, script, batch, critique, or fix UGC ads, spokesperson scripts, testimonial scripts, or hooks — including requests like "write hooks for this product", "write me a UGC script", "give me 3 hook angles", "why isn't my UGC converting", "make this sound less like an ad", or any mention of hook lines, the first 3 seconds, scroll-stopping openers, skeptic-to-believer testimonials, the 5-beat script, or scripts for faceless/AI creator clips. Also trigger when the user pastes a product and asks for ad copy a real person would say to camera, even if they never say the word "UGC." |
UGC Hook & Script Writing
Write hooks that stop the scroll and testimonial scripts that sell, so AI-generated UGC clips become products people pay for, not clips that just look clean.
A technically perfect UGC clip with a flat first line is worthless — nobody buys it, nobody runs it, nobody watches it. UGC lives or dies on the first half-second and the words the creator says. The hook is not the intro. The hook IS the ad. If the first line doesn't land, the other 28 seconds never happen and the platform stops showing the clip.
Core principles
Hold these the whole way through. They override any instinct carried over from cinematic ad work.
- The first 0.4 seconds decide everything. The hook is ~80% of the work. Spend your effort there.
- UGC copy is spoken persuasion at volume, not visual-led. No orchestra, no clever cut to hide behind — the words ARE the ad. It must sound like a human who actually used the thing, not a brand reading a brief. If it reads like something a brand would write, you've already lost.
- Never lead with the product. The product is Beat 3, never Beat 1. Lead with the human truth, the problem, or the curiosity. The product enters as the relief.
- You do not write one hook. You write three, from three different angles, then test and scale the winner. Creative is the new targeting — each angle catches a different audience. Leave the creative ego at the door; ad performance decides the winner, not taste.
- Realism now comes from being unpolished. Contractions, fragments, one idea per line, a small stumble. A little imperfection beats a flawless robotic read.
- Tight beats long. Aim for ~30 seconds. Things do not go viral if people do not watch to the very end. Cut every word that isn't pulling weight.
- Each beat must fit one 7–8 second clip. Models like VEO cap a generation at 7–8s (Sora/Kling stretch to ~15s). Write the beat first, then generate to it. If the creator can't say the line naturally in one breath, it's too long.
The 5-beat script skeleton
Every converting UGC script runs on the same five beats. Write the beat, then generate the clip to it.
| Beat | Timing | Job |
|---|
| 1. HOOK | 0–3s | Stop the scroll. Pattern-interrupt, callout, or curiosity gap. No product. One line, sometimes two. This is 80% of the work. |
| 2. AGITATE | 3–8s | Name the real problem or frustration the viewer has. Make them feel seen ("I'd spent £200 on serums that did nothing"). Earns the right to pitch. |
| 3. PRODUCT | 8–15s | Introduce the thing as the turn. "Then I found this." Casual, almost reluctant, like gatekeeping a secret you decided to share. Never a hard sell. |
| 4. PROOF / DEMO | 15–25s | Show or describe the result. Real, specific, understated ("Three days and the redness is gone"). Specificity is what makes it believable. Bake in the product shot here. |
| 5. CTA | 25–30s | One clear, soft next step. "Link's in my bio, just try it." A friendly nudge converts better than "BUY NOW." |
Workflow
Follow in order. The default deliverable is 3 hooks + one full 5-beat script built on the strongest hook.
Step 1: Lock the product and core promise
Confirm two things with the user (or infer from context, then state your assumption):
- Product — the thing being sold, and its price if known (specifics like "£24 serum" carry weight later).
- Core promise — the single outcome, in one sentence (e.g. "Visibly brighter skin in under a week, for a fraction of premium brands").
Never lead with the product downstream — but you must know it here to write everything else.
Step 2: Write at least 3 hooks from 3 different angles
This is the strategic core. Pull from the Hook Bank (references/hook-bank.md, 32 named patterns across 7 angles). Pick angles that are genuinely different so the test covers a wider audience. The seven angles:
- Problem-callout — name a pain or wasted money ("I spent £200 on serums this year. This £28 one does more than all of it.")
- Curiosity / open-loop — promise a payoff, delay it ("I changed ONE thing in my routine and the difference is kind of insane.")
- Social-proof — borrowed trust ("Everyone keeps asking what I'm using, so here it is.")
- Negative / contrarian — challenge a habit ("Stop doing [common thing] immediately. You're wasting money.")
- Controversy / insider — forbidden knowledge ("The [industry] doesn't want you to know about this ingredient.")
- Demo / visual-action — the visual is the hook ("This was my [thing] three days ago. This is now.")
- Relatable / story — a human moment ("POV: you finally found the [product] that actually works.")
Default: write three hooks from three angles. Make each sound like a person, not a brand. Read every one out loud in your head — if you'd stumble saying it, rewrite it.
Step 3: Build the full 5-beat script on the strongest hook
Recommend the strongest hook, then expand it into a full 30-second, 5-beat script using the skeleton above. For most paid UGC, structure it as a testimonial with a skeptic-to-believer arc (see below) — the most sellable format.
Size each beat to fit one 7–8s clip. Include a bracketed visual/delivery note per beat where it helps generation (e.g. (holds up the bottle to camera)).
Step 4: Voice pass
Before delivering, rewrite anything that sounds produced. Make it sound like a text from a friend who's genuinely a little too excited about a $20 serum:
- Contractions, always. "I've", "it's", "don't", "kinda". Nobody says "I have been using this."
- Start mid-thought. "So I've been using this for like two weeks…" — the "so" makes it feel like you caught them mid-conversation.
- Filler real people use, sparingly: "honestly", "literally", "ngl", "I'm not gonna lie".
- One idea per line. People speaking off the cuff don't nest clauses. Use fragments ("Clean, bold.").
- Specific over generic. "£28 serum" beats "affordable serum". "Three days" beats "quickly".
- Deliberate small imperfection. A tiny stumble, a restart, an "um" can read MORE real than a clean take.
Avoid: brand-speak ("revolutionary", "game-changing", "elevate your routine"), three adjectives in a row no human stacks, and anything that sounds marketing-department-approved.
Step 5: Deliver all three hooks and remind them to test
Deliver the full script AND all three hooks. Tell the user to generate and run all three, watch retention and cost-per-result, kill the losers, and make more variations of the winner. Your job as the writer is not to be right on the first try — it's to give the test enough good shots on target.
The skeptic-to-believer arc (testimonials)
A testimonial is the 5-beat script with a specific emotional arc. The magic ingredient is earned credibility through doubt — the more the creator sounds like they expected nothing, the more the viewer trusts the payoff.
- The skeptical setup — "I honestly didn't think this would work." Doubt up front makes the rest believable.
- The relatable struggle — what they tried before that failed. The viewer recognises themselves.
- The discovery — low-key, almost accidental. "A friend made me try it."
- The turn — the specific, concrete result. Not "it's amazing", but "my skin cleared in four days."
- The reluctant recommendation — "I don't usually post stuff like this, but…" Reluctance reads as honesty.
Output format
When delivering a full UGC deliverable, ALWAYS use this structure:
# [Product] — UGC hooks + script
**Core promise:** [one sentence]
## 3 hooks (generate and test all three)
A — [angle]: "[hook line]"
B — [angle]: "[hook line]"
C — [angle]: "[hook line]"
Recommended to build first: [A/B/C] — [one line why]
## Full 30s script (built on Hook [X])
BEAT 1, HOOK (0–3s) (delivery note): "[line]"
BEAT 2, AGITATE (3–8s): "[line]"
BEAT 3, PRODUCT (8–15s) (visual note): "[line]"
BEAT 4, PROOF / DEMO (15–25s) (visual note): "[line]"
BEAT 5, CTA (25–30s): "[line]"
## Test note
Generate all three hooks as clips. Scale whichever wins on cost-per-result and retention, not preference.
If the user only wants hooks, deliver just the hooks block (still three, still three angles).
Quality checklist
Before delivering, verify — these are the nine ways UGC scripts die:
References
references/hook-bank.md — the full 32-pattern Hook Bank (7 angles), the fill-in 5-beat template, the skeptical-testimonial line bank, and a complete worked example. Load it whenever writing hooks or a script.