---
name: "vertical_video_ads"
description: "Write, produce, and test paid vertical video ad creative for TikTok, Reels, and Shorts: hook-first scripts, UGC-style production checklists, and a variant-testing system that finds winners without burning budget. Triggers on requests to create video ads, write ad hooks or scripts, brief UGC creators, plan a creative test, or diagnose fatigued or underperforming video creative."
---

# Vertical Video Ads

## Purpose

Make paid vertical video (TikTok in-feed, Instagram Reels, YouTube Shorts, Stories) that stops the scroll. This skill covers the full run: write the hook-first script, run the UGC-style production, and build a variant test that finds a winner on a controlled budget.

## Workflow

1. **One video, one message.** Lock the offer and the single takeaway before writing a word. If the script needs two points, that is two videos. Front-load the payoff: Reels captions truncate fast, so the first 80 characters carry the point.
2. **Write the script hook-first.** Structure every script on the 0-3 / 3-15 / CTA formula: earn the stop in the first 3 seconds, deliver value or story in seconds 3-15, and land the CTA in the last 3. Pick a hook pattern from `references/hooks.md`. Never open with a logo or brand name; show the product or the result inside the first 5 seconds.
3. **Produce UGC, not a commercial.** Use `references/ugc-production.md`: brief creators instead of scripting them, set the technical floor (9:16, 1080x1920, clean light, usable audio), get three takes of every key beat, and run one full editor pass for pacing, captions, and the hook. A phone in hand beats a studio in most categories.
4. **Build the variant matrix.** Never test one ad; test a matrix. Generate it with `bin/variant_matrix.py`: hooks x bodies x CTAs, each variant tagged with the hypothesis it tests. The cheapest first move is a hook-swap remix on a proven body and CTA before booking anyone new.
5. **Test on a controlled budget.** Hypothesis, then 2-3 clearly different concepts, each in its own small-budget test for 3-5 days. Read hook rate first, completion and hold rate second, cost metrics last. Kill a weak hook rate on the first meaningful batch of impressions; do not spend a full budget cycle to confirm what the hook already told you. Do not edit campaigns mid-learning unless you intend to reset the learning.
6. **Watch for fatigue.** Frequency climbing past 3 while retention falls is the signal. Refresh cadence: every 7-14 days on TikTok, every 2-3 weeks on Meta prospecting. Keep a hook library warm so iteration is a same-day operation.

## Output Contract

- **A script** gives: the hook line (on-screen text plus first spoken line), beat-by-beat shots with durations, the exact CTA wording, and caption text with the point inside the first 80 characters.
- **A creator brief** gives: the hook angle, the required beats, which claims may and may not be made, the technical floor, and the deadline. Never a word-for-word script. Template in `assets/creator-brief.md`.
- **A test plan** gives: a variant table (ID, angle, hook, body, CTA, hypothesis), budget and duration per variant, kill/promote thresholds tied to hook rate and completion, and a fatigue watch rule.
- Every factual claim (benchmarks, platform specs, limits) is verified against a current primary source. Numbers that cannot be verified are cut.

## Operating Rules

1. **Hook or it didn't happen.** The first 3 seconds earn the right to the rest. Pattern interrupt, bold claim, direct question, unexpected visual, or POV setup. A slow push-in opening is a hook problem, not a style choice.
2. **Captions are mandatory.** Most viewers watch muted. Burn them in, and keep them clear of the bottom fifth and the right edge where platform UI sits.
3. **Shoot vertical native.** 9:16, 1080x1920. Keep cold-traffic cuts to 15-30 seconds; warm audiences tolerate up to 60. Never letterbox horizontal footage.
4. **UGC is a production method, not a costume.** Real space, real light, natural speech, small technical flaws allowed. A polished studio shot dressed up to look raw still reads as an ad.
5. **Claims are the brand's, not the creator's.** Verify every product claim before it ships, and disclose sponsored content in the first three seconds.
6. **Judge creative muted, on a phone, at feed size before any dashboard number.** Half of underperformance is visible in ten seconds of watching it like the audience does.
7. **Don't spend to confirm the obvious.** Hook rate and 3-second retention are enough to kill a variant. A hook that cannot hold attention in the opening window rarely recovers.
8. **Never invent numbers, dates, quotes, or benchmarks.** Unverifiable gets cut or framed as opinion.
