video-hooks · git:20260509.a2215fa · 2026-05-09 · sha256 19c5bc6807cbe7bc
video-hooks git:20260509.a2215faA
Immutable. This exact content is served forever at /api/v1/blob/19c5bc6807cbe7bc.
--- name: video-hooks title: "Video Hooks — First-1.5s Retention Patterns" description: "Catalog of proven first-1.5-second hook patterns for short-form video (TikTok, Reels, Shorts). Use whenever drafting an ad or social-video script — the hook is what decides whether the rest of the clip ever gets watched. Encodes pattern types (pattern-interrupt, problem-aware, curiosity-gap, contrarian, on-screen-text, motion-cut, voice-led), the rules for each, and what to NEVER open with." license: Apache-2.0 compatibility: "Stack-agnostic." domains: video rules: - session(video) - session(adcraft) - content(short-form video) - content(reels) - content(shorts) - content(tiktok) - content(video hook) - content(video ad) - match(\bvideo\s+hook\b) - match(\b(first|opening)\s+\d+\s*(seconds|s)\s+of\s+(the\s+)?(video|clip|reel|short|ad)\b) - match(\bopens?\s+with\b.*\b(video|clip|reel|short|ad|shot|frame)\b) - semantic(make the opening of this video stronger) - semantic(the first few seconds of my reel are too weak) - semantic(write a hook for this short-form video) - semantic(how do I get viewers to keep watching past the first second) - semantic(my retention drops in the first 3 seconds, what should the opener be) --- # Video Hooks — First-1.5s Retention Patterns ## Overview Short-form video lives or dies in the first 1.5 seconds. The hook is the only sentence in the script that matters more than the offer — if it doesn't earn the next breath, the user swipes and the rest of the work is wasted. This skill encodes the small number of hook patterns that *actually* convert on TikTok, Reels, and Shorts in 2025–2026, the rules each pattern follows, and the dead opens to avoid. --- ## Instructions ### Core Rules - **The hook is the first 1.5s of video, not the first sentence of the script.** It is *visual + audible + on-screen text* together. Treat all three as the hook. - **Earn the next second**, not the next minute. Each beat (1.5s, 3s, 5s) needs its own retention reason. - **Never open with the brand.** Brand goes in the resolution, not the open. Brand-first opens have ~30–40% lower 3s retention. - **Never open with "Hi guys" / "In this video" / "Today I'll show you".** These are skip triggers — the algorithm has trained users to expect filler after them. - **Show motion in frame 1.** A still opener loses ~20% of viewers vs. a moving opener (camera shake, zoom, subject motion, or quick cut). - **Caption visible by frame 5.** ~85% of feed scrolls are sound-off — the hook must read silently. - **One claim per hook.** Two ideas = no idea. ### Hook Pattern Catalog | Pattern | When to use | Template | |---|---|---| | Pattern-Interrupt | Cold cold audience, low awareness | `[surprising visual] + "Wait — [absurd claim]"` | | Contrarian | Audience has heard the cliché | `"Stop [common advice]. Here's why it actually [opposite outcome]."` | | Problem-Aware | Audience already feels the pain | `"If your [tool/process] still [pain point], you're [losing X]."` | | Curiosity-Gap | Educational / how-to | `"I tested [N] [things] for [duration]. Only [small N] [outcome]."` | | Stat Punch | B2B / data-driven | `"[Big number] of [audience] [do thing wrong]. Here's the fix."` | | Identity Bait | Niche audience | `"You're a [specific identity] if [oddly specific behavior]."` | | Listicle Promise | Information-dense | `"[N] [things] [audience] should [verb] before [year/event]."` | | Direct Address | Existing followers / retargeting | `"This is for the [specific user] who [specific pain]."` | | Negative Framing | Performance ads (Meta/TikTok) | `"Don't [common action] until you [see this/read this]."` | | Confession | UGC / authentic | `"I'm not supposed to say this, but [insider truth]."` | | Demo-Cold-Open | Product-led | Show the result *first*, no setup, then reverse-engineer the how. | ### Visual Hook Devices (stack on top of script) - **Hard cut at 0:00.5** — first frame is mid-action, not establishing. - **On-screen text larger than usual** (font size 80–100pt for 1080×1920). - **Pattern-interrupt object** — something visually unexpected in frame 1 (a banana, a hand, a face mid-expression). - **Speed ramp** — slow-mo for 0.3s then snap to real-time. - **Camera move** — zoom-in or push-in at 0.0–0.5s; static cameras lose attention. - **Caption animation** — words appearing in time with speech (auto-caption-style); higher retention than burned-flat text. ### Workflow 1. **Read the brief** — product, audience, awareness level (cold / warm / retargeting). 2. **Pick 3 patterns from the catalog** that fit the audience and awareness level. 3. **Write 3 hook variants** — one per pattern. Each ≤ 12 words on screen, ≤ 8 words spoken. 4. **For each variant, specify**: visual (frame 1 description), on-screen text, voiceover line, motion device. 5. **Score each on**: pattern-interrupt strength (1–5), claim specificity (1–5), caption readability sound-off (1–5). 6. **Pick the top scorer** — but ship at least 2 variants for A/B testing. ### Decision Guide | Scenario | Hook pattern | |---|---| | Cold audience, fully unaware of the problem | Pattern-Interrupt or Confession | | Audience knows the problem but not the solution | Problem-Aware or Stat Punch | | Audience knows the solution category, comparing | Contrarian or Demo-Cold-Open | | Audience is already a fan / past visitor | Direct Address or Identity Bait | | Performance ad on TikTok / Meta | Negative Framing or Pattern-Interrupt | | Educational / informational content | Curiosity-Gap or Listicle Promise | --- ## Examples ### Example 1: SaaS dev tool, cold TikTok audience **Brief:** Promote a CLI tool that auto-generates database migrations. **Audience:** Backend devs, mostly cold. **Pattern picks:** Pattern-Interrupt, Contrarian, Stat Punch. **Variant A — Pattern-Interrupt** - Frame 1: Terminal mid-typing, a migration error fills the screen in red. - On-screen text: `your migrations are lying to you` - Voice: `Your migrations are lying to you.` - Motion: hard zoom-in on the error. **Variant B — Contrarian** - Frame 1: Hand crossing out the words "Write SQL by hand" on whiteboard. - On-screen text: `STOP writing migrations by hand` - Voice: `Stop writing migrations by hand. There's a better way.` - Motion: quick whip-pan to the laptop screen. **Variant C — Stat Punch** - Frame 1: Big number `73%` filling the screen. - On-screen text: `73% of prod outages start in a migration` - Voice: `Seventy-three percent of prod outages start in a migration. Here's how to stop being one of them.` - Motion: number scales up from 0 to 73 in 0.5s. **Pick:** B for cold dev audience — Contrarian + clear visual, no claim that needs sourcing. ### Example 2: D2C skincare, retargeting audience **Brief:** Cart-abandoners who viewed the SKU but didn't buy. **Pattern picks:** Direct Address, Confession. **Variant A — Direct Address** - Frame 1: Mid-shot of a person looking straight to camera, finger pointing. - On-screen text: `you ← yes, you who left this in your cart` - Voice: `You — yes, you, who left this in your cart yesterday.` - Motion: subject leans into camera. **Variant B — Confession** - Frame 1: Founder unboxing a return. - On-screen text: `nobody told me this would happen with [product]` - Voice: `Nobody told me this would happen the second week of using it.` - Motion: hand reveals the product mid-frame. --- ## Hooks That Are Banned These openers measurably tank retention — never use them: - "Hi everyone / Hi guys / What's up" - "In this video / Today I'm going to / Let me show you" - "Welcome back to my channel" - Logo on screen alone - Brand name as the first spoken word - Any sentence that starts with "So..." - A static product shot with no motion - Music-only opener with no visual or text claim --- ## References - [TikTok Creative Center — Hook patterns](https://ads.tiktok.com/business/creativecenter/) — actual top-performing ad teardowns by vertical. - [Meta Ads Library](https://www.facebook.com/ads/library/) — search competitors and study their first 1.5s.