| name | 04-script-video-global |
| description | Short-form video scripts for TikTok, Reels, YouTube Shorts — 2 A/B variants, 6 hook formulas, timestamp breakdown, shoot guide, caption + hashtag, viral score. Reads `.agents/product-marketing-context-global.md`. Universal framework, English-language hooks. Trigger: 'video script', 'TikTok script', 'Reels script', 'Shorts script', 'short-form video'. |
| metadata | {"version":"1.0.0","category":"content"} |
| license | MIT |
| triggers | ["video script","TikTok script","Reels script","Shorts script","short-form video"] |
| related | ["product-marketing-context-global","01-content-calendar-global","02-campaign-brief-global","09-customer-insight-global"] |
Global Short-Form Video Script
Write 2 A/B script variants for TikTok / Reels / YouTube Shorts with hooks, CTAs, shoot guide, captions, hashtags, and a viral score.
Step 0 — Read context file
Before writing the script, read .agents/product-marketing-context-global.md for:
- Product, USP, pricing
- Target audience and core insight
- Brand voice and tone
- Region (drives language / cultural references)
If a personal-brand context file exists (e.g., .agents/personal-brand-context-global.md), ask which mode to use:
- Mode A — Product: default, sell / convert
- Mode B — Personal Brand: trust + authority (different hooks, soft CTA)
Information gathering
Ask the user up to 4 questions before writing:
- Product / service? Short description, core USP, price (if relevant).
- Platform & length? TikTok (15 / 30 / 45 / 60s), Reels (15 / 30 / 60s), Shorts (30 / 60s). Default: TikTok 30s.
- Target audience? Gender, age, primary pain, the outcome they want.
- Funnel stage? TOFU (attract new) / MOFU (persuade) / BOFU (close). Default: TOFU.
Core principles
5 hook types (first 3 seconds)
| # | Hook type | Formula | Example (English) |
|---|
| 1 | Question | Ask a pain-tapping question — force the viewer to think | "Do you know why your skin keeps breaking out, even after a clean diet?" |
| 2 | Number | Open with a surprising, specific stat | "97% of people are doing their morning routine wrong" |
| 3 | Contrarian | Say the opposite of common belief | "Washing your face twice a day is making it worse" |
| 4 | Situation / POV | Use POV, role-play, micro-story | "POV: First time at a med spa and you have no idea what to pick" |
| 5 | Result first | Show the result first — then reveal the method | "My skin after 2 weeks of doing this — here's exactly how" |
Hook selection rule:
- TOFU: Prefer hook 1 (question), 4 (situation), 3 (contrarian)
- MOFU: Prefer hook 5 (result first), 2 (number)
- BOFU: Prefer hook 2 (number), 5 (result first)
Script timestamp structure
Applies to 30–45s videos (adjust the ratio for other lengths):
| Timestamp | Section | Content | Share |
|---|
| [0–3s] | Hook | Spark curiosity, hold the viewer. Do not introduce yourself. | 10% |
| [3–10s] | Problem / story | Express the pain or situation — the viewer sees themselves in it. | 25% |
| [10–20s] | Solution / value | Introduce the product as the solution. | 30% |
| [20–28s] | Proof | Outcome, review, stats, before / after. | 25% |
| [28–30s] | CTA | Specific action: "DM us today", "Link in bio", "Comment to receive". | 10% |
Adjust by length
| Length | Hook | Problem | Solution | Proof | CTA |
|---|
| 15s | 0–2s | 2–5s | 5–10s | 10–13s | 13–15s |
| 30s | 0–3s | 3–10s | 10–20s | 20–27s | 27–30s |
| 45s | 0–3s | 3–12s | 12–28s | 28–40s | 40–45s |
| 60s | 0–3s | 3–15s | 15–35s | 35–53s | 53–60s |
6 professional hook formulas
Each hook is 2 lines: line 1 (open) max 50 characters, line 2 (twist) max 50 characters.
| # | Hook style | Formula | English example |
|---|
| 1 | Number-led | Open with a specific, surprising stat | "97% of clinic owners get this one step wrong." / "And it costs them six figures a year." |
| 2 | Contrarian | Say the common thing, then flip it | "Running more ads will not save your business." / "I cut spend 50% and tripled orders." |
| 3 | Personal transformation | Before vs after with a number | "6 months ago I had zero clients." / "Today I run 40 bookings a week — here's how." |
| 4 | Borrowed authority | Name a brand / person / tool | "ChatGPT just changed how I do marketing." / "And 90% of marketers still haven't noticed." |
| 5 | Confession | Share a mistake or a loss | "I lost $20K running ads the wrong way." / "Here's the lesson that paid me back in a month." |
| 6 | Future forecast | Something is shifting that few see | "TikTok Shop is about to change completely." / "If you don't adapt now, you'll lose share." |
Hook rules:
- Never open with "I" — start with "You", "Here", a number, or a brand / name
- Line 1 creates a curiosity gap — line 2 raises stakes or flips the meaning
- 50 characters per line is the cap — on mobile, longer lines get clipped
- Match hook style to funnel stage: TOFU (1, 2, 6), MOFU (3, 4), BOFU (5, 3)
Reverse-engineer viral videos (research only)
Learn from competitor / KOL videos — never copy.
When the user shares a reference video link:
- Analyse structure: Hook (how many seconds?), key points (2 or 3?), CTA style?
- Extract technique: Camera angle, cut rhythm, text overlay style, music
- Adapt for the brand: Keep the structure + technique, swap content for the user's product
- Do not copy lines — only learn the pattern, write fresh in the brand voice
Script-writing rules
- One main idea only — do not pack two messages into one video.
- Spoken language — write the way you speak, not the way you write.
- Short sentences — max 15 words per sentence. Long sentences kill retention.
- Clear transitions — note scene changes inside the script.
- Mandatory text overlay — write the on-screen text, not just the dialogue.
- No copyrighted music — only trending or royalty-free tracks.
- Max 2 key points — three is too many, viewers will not retain.
- Do not state the conclusion — let the facts / numbers speak.
Personal Brand Mode (optional)
Activated when .agents/personal-brand-context-global.md exists. Read the file first to load: niche, personal audience, story arc, brand voice.
Core differences vs Mode A (Product)
| Element | Mode A (Product) | Mode B (Personal brand) |
|---|
| Video goal | Sell / convert | Build trust + authority |
| Hook angle | Product pain point | Personal experience / industry insight |
| CTA | "DM / comment to buy" | Soft CTA: "What do you think?", "Follow for more" |
| Story | Customer story | Founder / coach story (yourself) |
| Trust signal | Reviews, USP | Personal track record, contrarian view |
| Tone | Selling-focused | Conversational, vulnerable, authoritative |
4 personal-brand hooks (different from the 5 product hooks)
| # | Hook type | Formula | English example |
|---|
| 1 | Personal confession | Open with your own mistake / failure | "I lost $20K because of one decision last week. Here's the lesson." |
| 2 | Contrarian take | Push back on what most people say | "Everyone says scale fast. I scaled slow on purpose — here's why." |
| 3 | Behind the scenes | Show what people rarely see | "5am building this startup — here's what no one tells you." |
| 4 | Industry truth | Insider knowledge that's rarely shared | "After 10 years of consulting, here are 3 things agencies will never tell you." |
Personal Brand 30s structure
| Time | Content | Goal |
|---|
| 0–3s | Personal-brand hook (one of the 4 above) | Stop scroll with personal angle |
| 3–10s | Setup: who is speaking, the situation | Establish credibility |
| 10–22s | Core insight / story turning point | Deliver value |
| 22–28s | Lesson learned / framework | Pay off the hook |
| 28–30s | Soft CTA: "Have you been there?", "Follow for more" | Build community, NOT sell |
Personal Brand QA score (10 criteria)
Differs from the product QA. 10 criteria × 10 points:
- Authenticity (does it feel real?)
- Personal vulnerability (do you share a failure / mistake?)
- Industry insight (is the takeaway useful?)
- Hook personal angle (one of the 4 types above)
- Story arc clear (setup -> turning point -> lesson)
- Brand voice consistency (matches
personal-brand-context-global.md)
- Soft CTA appropriate (NO hard sell)
- AI avatar disclosed (if used)
- Niche relevance (matches chosen niche)
- Repurposable (can it be cut into shorter clips?)
Score guide: 90+ Excellent, 70–89 Good, 50–69 Needs fixes, <50 Redo.
When NOT to use Personal Brand Mode
- User only has product context, no personal-brand context → use Mode A
- Paid ad video (sales ad copy) → use the ad copy skill instead
- Pure tutorial / how-to → Mode A still fits
Output structure
Header
# Video Script: [Product / campaign]
Created: [YYYY-MM-DD]
Platform: [TikTok / Reels / YouTube Shorts]
Length: [Xs]
Funnel stage: [TOFU / MOFU / BOFU]
Audience: [short description]
Angle: [reference content-angles]
Variant A — [Angle / hook name]
| Timestamp | Voiceover | Visual / action | Text overlay | Audio |
|---|
| [0–3s] | "[Hook — verbatim]" | [Scene description: angle, subject, action] | [On-screen text] | [Music / trending sound] |
| [3–10s] | "[Problem — verbatim]" | [Transition + new scene] | [Overlay] | [Continue / change track] |
| [10–20s] | "[Solution — verbatim]" | [Action: product demo, B-roll, close-up] | [Overlay] | |
| [20–27s] | "[Proof — verbatim]" | [Before / after, review, on-screen stats] | [Result overlay] | |
| [27–30s] | "[CTA — verbatim]" | [Hand point, link, return to product] | "[Big, bold CTA text]" | |
Variant B — [Angle / hook name]
(Same structure as Variant A, different angle or hook)
| Timestamp | Voiceover | Visual / action | Text overlay | Audio |
|---|
| [0–3s] | "[Different hook — verbatim]" | [Different angle] | [Different overlay] | |
| ... | ... | ... | ... | ... |
A vs B comparison
| Element | Variant A | Variant B |
|---|
| Hook type | [e.g., Question] | [e.g., Result first] |
| Primary emotion | [e.g., Curiosity] | [e.g., Surprise] |
| CTA | [e.g., DM us now] | [e.g., Comment to receive] |
| Production difficulty | [Easy / Medium / Hard] | [Easy / Medium / Hard] |
| Best for testing | [Cold audience] | [Warm audience] |
Shoot guide
Equipment
| Item | Recommended | Alternative |
|---|
| Camera | iPhone 13+ / Samsung S22+ / Pixel 7+ | Any 4K-capable phone |
| Tripod | Tripod with phone clamp | Books, table mount |
| Lighting | Ring light 26cm or softbox | Window with natural light |
| Audio | Lavalier mic (Boya BY-M1, Rode SmartLav) | Phone mic (quiet room) |
| Edit software | CapCut (free) | DaVinci Resolve, InShot, Premiere Rush |
Pre-shoot checklist
Shoot styles by content type
| Style | Description | Best for |
|---|
| Talking head | Direct to camera, close-up on face | Question hooks, education, reviews |
| POV | Camera = viewer's eyes, no creator face | Situations, experiences |
| B-roll + voiceover | Shoot product / setting, voice over later | Product demos, behind-the-scenes |
| Before / after | Split screen or scene change | Proof, results |
| Green screen | Image / video background, presenter in front | Analysis, commentary, comparison |
Caption & hashtag
Caption template
[Line 1 — restate the hook of the video, max 125 characters]
[Line 2 — add value or context]
[Line 3 — CTA: "Save this", "Tag a friend who needs this"]
.
.
.
[Hashtag block]
Hashtag strategy
| Group | Count | Example |
|---|
| Trending / viral | 1–2 | #fyp, #viral |
| Industry / niche | 2–3 | #skincare, #cleanbeauty, #serum |
| Brand | 1 | #YourBrandName |
| Long-tail | 1–2 | #morningroutineforacneprone, #dryskinremedy |
Total: 5–8 hashtags. Do not spam 20–30 — it dilutes reach.
Region note: Localise hashtags by market. SEA may add #Singapore #Malaysia, EU may add #Berlin #Paris, LATAM uses Spanish / Portuguese hashtags.
Viral score — predict performance
Score 5 elements, 1–5 each:
| Element | Criterion | Score |
|---|
| Hook strength | Do the first 3 seconds spark curiosity? Reason to stay? | /5 |
| Save potential | Will viewers want to save it? (tips, how-to, formula) | /5 |
| Share trigger | Reason to share with someone else? (funny, relatable, useful) | /5 |
| Completion pull | Will they watch to the end? Suspense / payoff? | /5 |
| Comment bait | Reason to comment? (question, debate, tag a friend) | /5 |
| Total | Verdict | Action |
|---|
| 20–25 | High viral potential | Publish now, consider boosting with paid |
| 15–19 | Good | Run A/B test, watch first 24h closely |
| 10–14 | Average | Tweak hook or CTA |
| <10 | Weak | Rewrite — do not run paid |
QA score — pre-delivery check
Score the script across 10 criteria, 10 points each. Deliver only if score >= 85 / 100.
| # | Criterion | 10 points | 0 points |
|---|
| 1 | Hook in 3 seconds | Clear hook, no self-introduction | Opens with "Hi everyone, today I will..." |
| 2 | Hook ≤ 50 characters | Line 1 is short, bold, complete thought | Line 1 too long, sentence broken |
| 3 | Single main idea | Whole script serves one message | Multiple scattered ideas |
| 4 | Max 2 key points | 2 clear, memorable points | 3+ points, too much information |
| 5 | Spoken language | Sounds natural read aloud | Reads like an essay |
| 6 | Sentences ≤ 15 words | Every sentence concise | Has sentences over 15 words |
| 7 | Specific CTA | "DM us now", "Comment [KEYWORD]" | "Learn more", "Contact us" |
| 8 | Length matches platform | Script reads in the chosen length | Too long or too short |
| 9 | Does not open with "I" | Opens with "You", "Here", a number, a brand | First line is "I..." |
| 10 | Includes shoot guide | Camera angle, action, text overlay specified | Only dialogue, no visuals |
| Total | Verdict | Action |
|---|
| 95–100 | Excellent | Deliver now |
| 85–94 | Good | Deliver with notes for improvement |
| 70–84 | Average | Revise before delivery |
| < 70 | Weak | Rewrite |
Examples — diversified regions
Example A — US DTC supplement, 30s TikTok, TOFU
- Hook (Question): "Do you know why your morning energy crashes by 11am?"
- Audience: Knowledge workers 25–40, US, struggling with afternoon fatigue
- Angle: Energy + focus, science-backed
- CTA: "Tap the link to grab your free sample"
Example B — EU clean-beauty serum, 45s Reels, MOFU
- Hook (Result first): "My skin after 4 weeks of switching to clean serum"
- Audience: Women 25–35, DE / FR / NL, eco-conscious
- Angle: Before / after with ingredient breakdown
- CTA: "Save this and check the link in bio"
Example C — SEA fitness coaching app, 60s Shorts, BOFU
- Hook (Number): "200 people lost 5kg in 8 weeks using this method"
- Audience: Office workers 28–45, Singapore / Malaysia / Vietnam
- Angle: Social proof + outcome + free trial
- CTA: "Comment FREE for the 7-day trial"
Cross-reference
- 02-campaign-brief-global — Pull creative direction and tone from the brief
- 01-content-calendar-global — Schedule the video into the calendar
- 09-customer-insight-global — Source pain and desire data for the hook
- product-marketing-context-global — Lock product, USP, brand voice
Quality checklist
Before delivering the script, verify: