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'.
npx skills add https://github.com/minhnv0807/ai-business-skills --skill 04-script-video-global
> Write 2 A/B script variants for TikTok / Reels / YouTube Shorts with hooks, CTAs, shoot guide, captions, hashtags, and a viral score.
Before writing the script, read .agents/product-marketing-context-global.md for:
If a personal-brand context file exists (e.g., .agents/personal-brand-context-global.md), ask which mode to use:
Ask the user up to 4 questions before writing:
| # | 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:
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% |
| 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 |
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:
> Learn from competitor / KOL videos — never copy.
When the user shares a reference video link:
> Activated when .agents/personal-brand-context-global.md exists. Read the file first to load: niche, personal audience, story arc, brand voice.
| 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 |
| # | 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." |
| 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 |
Differs from the product QA. 10 criteria × 10 points:
personal-brand-context-global.md)10. Repurposable (can it be cut into shorter clips?)
Score guide: 90+ Excellent, 70–89 Good, 50–69 Needs fixes, <50 Redo.
# 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]
| 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]" | |
_(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] | |
| ... | ... | ... | ... | ... |
| 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] |
| 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 |
| 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 |
[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]
| 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.
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 |
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 |
Before delivering the script, verify:
.agents/product-marketing-context-global.md voiceCreate AI marketing videos for ads, promos, product launches, and brand content. Models: Veo, Seedance, Wan, FLUX for visuals, Kokoro for voiceover. Types: product demos, testimonials, explainers, social ads, brand videos. Use for: Facebook ads, YouTube ads, product launches, brand awareness. Triggers: marketing video, ad video, promo video, commercial, brand video, product video, explainer video, ad creative, video ad, facebook ad video, youtube ad, instagram ad, tiktok ad, promotional video, launch video
App Store and Google Play screenshot creation with exact platform specs. Covers iOS/Android dimensions, gallery ordering, device mockups, and preview videos. Use for: app store optimization, ASO, app screenshots, app preview, play store listing. Triggers: app store screenshots, aso, app store optimization, play store screenshots, app preview, app listing, ios screenshots, android screenshots, app store images, app mockup, device mockup, app gallery, store listing
Generate images using Nano Banana Pro (Gemini 3 Pro Preview). Use when creating app icons, logos, UI graphics, marketing banners, social media images, illustrations, diagrams, or any visual assets. Supports reference images for style transfer and character consistency. Triggers include phrases like 'generate an image', 'create a graphic', 'make an icon', 'design a logo', 'create a banner', 'same style as', 'keep the style', or any request needing visual content.
Generate and save images using Pollinations.ai's free, open-source API. No signup required. Supports URL-based generation, custom parameters (width, height, model, seed), and automatic file saving. Perfect for quick prototypes, marketing assets, and creative workflows.
| Create AI marketing videos for ads, promos, product launches, and brand content. product video, explainer video, ad creative, video ad, facebook ad video, youtube ad, instagram ad, tiktok ad, promotional video, launch video
Use when building App Store screenshot pages, generating exportable marketing screenshots for iOS apps, or creating programmatic screenshot generators with Next.js. Triggers on app store, screenshots, marketing assets, html-to-image, phone mockup.
Anti-AI-slop design skill for greenfield pages, audits, redesigns, and design extraction from URLs or screenshots. Use when the user asks to build a new app or landing page, wants to redesign something, invokes Hallmark by name, or uses audit/redesign/study.
Launch and supervise OpenShell gator agents. Use when starting gator on issues or PRs, checking gator sandboxes, building the gator sandbox image, restarting stuck gators, inspecting gator logs, or experimenting with gator harness/model overrides. Trigger keywords - launch gator, start gator, run gator, gator sandbox, supervised gator, gator logs, restart gator.
Take minhnv0807/04-script-video-global from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
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.