mcpbeat

04 Script Video Global

minhnv0807/04-script-video-global

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'.

4k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
519
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/minhnv0807/ai-business-skills --skill 04-script-video-global

The instruction itself

36 sections, as written by the author

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)

10. 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

# 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

  • [ ] Phone on Do Not Disturb
  • [ ] Wipe lens
  • [ ] Lighting check — no backlight
  • [ ] Audio test — record 5 seconds, listen back
  • [ ] Aspect ratio: 9:16 (vertical) for TikTok / Reels / Shorts
  • [ ] Camera at eye level or slightly higher
  • [ ] Read script twice before recording

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:

  • [ ] 2 A/B variants with different hooks
  • [ ] Hook lives in the first 3 seconds, no self-introduction
  • [ ] Each sentence is at most 15 words, spoken-language style
  • [ ] Visual / action notes for every timestamp
  • [ ] Text overlay defined for every section
  • [ ] Specific CTA, action-driving (not generic "learn more")
  • [ ] Length matches the chosen platform
  • [ ] Shoot guide included (equipment, lighting, angles)
  • [ ] Caption + hashtags written
  • [ ] Viral score calculated
  • [ ] No copyrighted music in the script
  • [ ] Funnel angle matches funnel stage (TOFU / MOFU / BOFU)
  • [ ] Hashtags localised for region
  • [ ] CTA phrasing matches .agents/product-marketing-context-global.md voice

How to use it

Copy the folder

Take minhnv0807/04-script-video-global from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.