Agent skill
meta-video-script-writer
This skill should be used when the user asks to \"write a video script\", \"create a Reels script\", \"script a Stories ad\", or mentions \"video ad script\", \"UGC script\", or \"hook structure for video\".
Filed under Content and SEO.
From Ad-Superpowers/ad-superpowers-plugin · 120 skills · 5 · pushed 2026-09-10
What it does when it runs
This skill should be used when the user asks to \"write a video script\", \"create a Reels script\", \"script a Stories ad\", or mentions \"video ad script\", \"UGC script\", or \"hook structure for video\". Do NOT use for: ad copy text (use ad-copy-generator), creative brainstorming (use creative-diversification-generator), A/B test design (use ab-test-planner).
Read from the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- None found.
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It only issues instructions, so there is nothing to bound. - Actions present in the files
- None. Instructions only.
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/Ad-Superpowers/ad-superpowers-plugin.git /tmp/ad-superpowers-plugin git -C /tmp/ad-superpowers-plugin sparse-checkout set "plugin/skills/meta-video-script-writer" mkdir -p ~/.claude/skills/meta-video-script-writer cp -R "/tmp/ad-superpowers-plugin/plugin/skills/meta-video-script-writer/." ~/.claude/skills/meta-video-script-writer/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
Or take the whole library
This repo ships a .claude-plugin manifest, so Claude Code can install all 120 skills at once. Plugin skills are invoked as /<plugin>:<skill>, so they never collide with your own.
/plugin marketplace add Ad-Superpowers/ad-superpowers-plugin /plugin
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
The skill
Source on GitHub ↗Reproduced in full from Ad-Superpowers/ad-superpowers-plugin/blob/9b6385d2d2d228e4dac096a1d6bc5715c04fa736/plugin/skills/meta-video-script-writer/SKILL.md, which is licensed MIT (repository). 1,691 words, 26 headings.
Video Script Writer
Overview
This skill generates video scripts optimized for Meta Ads, focusing on the crucial first 3 seconds, effective storytelling structures, and platform-specific best practices for maximum engagement and conversion.
Video Ad Fundamentals
The 3-Second Rule
┌─────────────────────────────────────────────────────────────────┐
│ ATTENTION DISTRIBUTION IN VIDEO ADS │
│ │
│ 0-3 sec: ████████████████████████████████████ 75% drop-off │
│ 3-10 sec: ████████████████████ 50% keep watching │
│ 10-15 sec:████████████████ 40% engaged │
│ 15-30 sec:██████████████ 30% complete │
│ 30+ sec: ████████████ 20% completion │
│ │
│ The first 3 seconds determine EVERYTHING │
└─────────────────────────────────────────────────────────────────┘
Optimal Video Lengths
| Format | Minimum | Sweet Spot | Maximum |
|---|---|---|---|
| Feed Video | 5 sec | 15-30 sec | 60 sec |
| Stories | 5 sec | 10-15 sec | 60 sec |
| Reels | 5 sec | 15-30 sec | 90 sec |
| In-Stream | 5 sec | 15 sec | 15 sec |
Hook Framework (First 3 Seconds)
Top 10 Video Hooks
| # | Hook Type | Script Example | Visual |
|---|---|---|---|
| 1 | Pattern Interrupt | "STOP! Don't scroll past this..." | Bold text, movement |
| 2 | Shocking Statement | "This will save you $1,000" | Money visual, surprise |
| 3 | Question Hook | "Are you making this mistake too?" | Direct to camera |
| 4 | Result Hook | "Here's how I went from X to Y" | Before/after |
| 5 | Demo Hook | [No text, product in action] | Product close-up |
| 6 | Controversy | "Experts are wrong about..." | Strong statement |
| 7 | Relatable Pain | "POV: You [relatable situation]" | Act out situation |
| 8 | Social Proof | "10,000 people already bought this" | Testimonial montage |
| 9 | Curiosity | "What if I told you that..." | Mysterious setup |
| 10 | Tutorial Tease | "Here's how you get [desired result]" | Show step 1 |
Hook Format Template
HOOK STRUCTURE (0-3 sec):
├── VISUAL: [What does the viewer see?]
├── AUDIO: [What does the viewer hear?]
├── TEXT: [On-screen text/caption]
└── ACTION: [What happens?]
EXAMPLE:
├── VISUAL: Close-up face, surprised expression
├── AUDIO: "I discovered something crazy..."
├── TEXT: "GAME CHANGER"
└── ACTION: Quick zoom-in to product
Video Script Structures
Structure 1: Problem-Solution (15-30 sec)
SCRIPT TEMPLATE:
================
[0-3 sec] HOOK
├── Visual: [Problem situation]
├── Audio: "Are you tired of [problem] too?"
└── Text: "[PROBLEM]"
[3-10 sec] AGITATE
├── Visual: [Show frustration]
├── Audio: "You've tried everything but nothing works..."
└── Text: [None or subtle pain point]
[10-20 sec] SOLUTION
├── Visual: [Product reveal/demo]
├── Audio: "Until I discovered [Product]. Watch what it does..."
└── Text: "[Benefit 1]" "[Benefit 2]"
[20-30 sec] CTA
├── Visual: [Product + logo/website]
├── Audio: "Link in bio / Click below"
└── Text: "[OFFER] Shop Now"
Structure 2: Testimonial/UGC (15-45 sec)
SCRIPT TEMPLATE:
================
[0-3 sec] RELATABLE HOOK
├── Visual: Person speaking directly to camera
├── Audio: "Okay so I have to tell you guys something..."
└── Text: [None - keep it authentic]
[3-15 sec] BACKSTORY
├── Visual: B-roll of daily life
├── Audio: "I always struggled with [problem]..."
└── Text: [Subtitles]
[15-35 sec] DISCOVERY + RESULTS
├── Visual: Product unboxing/usage
├── Audio: "Then I discovered [Product] and OMG..."
└── Text: "Week 1... Week 4... Now!"
[35-45 sec] RECOMMENDATION
├── Visual: Back to camera, enthusiastic
├── Audio: "If you have [problem], you HAVE to try this"
└── Text: "[DISCOUNT CODE]"
Structure 3: How-To/Tutorial (30-60 sec)
SCRIPT TEMPLATE:
================
[0-3 sec] RESULT HOOK
├── Visual: Show the end result
├── Audio: "Here's how to get [desired result] in [time]"
└── Text: "TUTORIAL"
[3-10 sec] INTRO + CREDIBILITY
├── Visual: Presenter or product setup
├── Audio: "I'm [name] and I'm going to show you..."
└── Text: "[Expertise/credential]"
[10-40 sec] STEPS
├── Visual: Step-by-step demonstration
├── Audio: "Step 1... Step 2... Step 3..."
└── Text: "STEP 1" "STEP 2" "STEP 3"
[40-55 sec] RESULT + TIPS
├── Visual: Before/after or end result
├── Audio: "And look! Pro tip: [extra value]..."
└── Text: "PRO TIP"
[55-60 sec] CTA
├── Visual: Product + call to action
├── Audio: "Want the same result? Link in bio"
└── Text: "[CTA]"
Structure 4: Listicle (15-30 sec)
SCRIPT TEMPLATE:
================
[0-3 sec] CURIOSITY HOOK
├── Visual: Bold number or countdown
├── Audio: "3 things [target audience] doesn't know about..."
└── Text: "3 SECRETS"
[3-10 sec] POINT 1
├── Visual: Illustration/demo point 1
├── Audio: "Number 1: [Point with value]"
└── Text: "#1 [Keyword]"
[10-17 sec] POINT 2
├── Visual: Illustration/demo point 2
├── Audio: "Number 2: [Point with value]"
└── Text: "#2 [Keyword]"
[17-25 sec] POINT 3 (Save the best for last)
├── Visual: Illustration/demo point 3
├── Audio: "And the most important one: [Best point]"
└── Text: "#3 [Keyword]"
[25-30 sec] CTA
├── Visual: All points recap + product
├── Audio: "More tips? Follow for more / Link in bio"
└── Text: "[CTA]"
Platform-Specific Scripts
Instagram Reels Script
FORMAT: Vertical 9:16, 15-30 sec
STYLE: Native, casual, trending audio
[0-2 sec] HOOK
├── Trending audio/sound start
├── Text overlay: Hook statement
└── Quick movement/transition
[2-15 sec] CONTENT
├── Fast pacing, quick cuts
├── Native Reels transitions
└── Subtitles required (85% watch without sound)
[15-30 sec] PAYOFF + CTA
├── Satisfying conclusion
├── "Follow for more" or product link
└── Relevant hashtags in caption
Facebook Feed Script
FORMAT: Square 1:1 or 4:5, 15-60 sec
STYLE: More professional, more context
[0-3 sec] HOOK
├── Text-first (many watch without sound)
├── Problem or question
└── Visually engaging opening
[3-45 sec] CONTENT
├── Can be longer and deeper
├── Mix of talking head + B-roll
└── Subtitles essential
[45-60 sec] CTA
├── Clear call to action
├── Urgency if relevant
└── Clickable link reference
Stories Script
FORMAT: Vertical 9:16, 5-60 sec (sweet spot: 10-15 sec)
STYLE: Urgent, snappy, tap-through focused
NOTE: No "swipe up" — Stories now use tap/link sticker for CTAs.
[0-2 sec] INSTANT HOOK
├── Movement or text sticker
├── Poll/question element optional
└── No time to lose
[2-12 sec] CORE MESSAGE
├── 1 key message per story
├── Native stickers/GIFs
└── Interactive elements
[12-15 sec] TAP CTA
├── Clear tap/link sticker instruction (NOT "swipe up")
├── Arrow/gesture animation pointing to link sticker
└── Link sticker prominent at bottom of frame
UGC Brief Template
For creators/influencers:
UGC VIDEO BRIEF
===============
PLATFORM: [Instagram Reels / TikTok / Facebook]
LENGTH: [15-30 seconds]
FORMAT: [9:16 vertical]
GOAL OF THE VIDEO:
[Awareness / Consideration / Conversion]
TARGET AUDIENCE:
[Description of ideal viewer]
PRODUCT/SERVICE:
[What are we promoting]
KEY MESSAGES (choose 2-3):
□ [Benefit 1]
□ [Benefit 2]
□ [Benefit 3]
□ [Unique selling point]
SCRIPT GUIDANCE:
HOOK (0-3 sec):
"[Suggested hook or direction]"
BODY (3-20 sec):
- Show [specific action/demo]
- Mention [specific benefit]
- [Authentic reaction/testimonial]
CTA (last 5 sec):
"[Suggested call to action]"
DO NOT:
- [What to avoid]
- [Mention competitors]
- [Make overclaims]
REQUIRED:
- Product clearly visible
- [Specific USP mention]
- [Hashtag/mention if needed]
DELIVERABLES:
- Raw footage + edited version
- Vertical format (9:16)
- No watermarks
Script Variation Generator
When user asks for a video script:
Ask first:
- What is the product/service?
- Which platform? (Reels, Stories, Feed)
- Desired length?
- Type of video? (UGC, product demo, testimonial, educational)
- Funnel stage? (TOFU/MOFU/BOFU)
Then deliver:
VIDEO SCRIPT - [PRODUCT]
========================
Platform: [Platform]
Length: [X seconds]
Goal: [Awareness/Conversion/etc]
---
VERSION A: [Type, e.g. "Problem-Solution"]
[0-3 sec] HOOK
├── Visual: [description]
├── Audio: "[exact text]"
├── Text: "[on-screen text]"
└── Tip: [direction note]
[3-X sec] BODY
├── Visual: [description]
├── Audio: "[exact text]"
├── Text: "[on-screen text]"
└── Tip: [direction note]
[X-Y sec] CTA
├── Visual: [description]
├── Audio: "[exact text]"
├── Text: "[on-screen text]"
└── Tip: [direction note]
---
VERSION B: [Type, e.g. "Testimonial Style"]
[Same structure...]
Example Interaction
User: "I need a video script for a skincare serum. Instagram Reels, 20-30 seconds, UGC style. The serum helps with acne and is 100% natural."
Claude response:
"Here is a UGC-style video script for your skincare serum:
VIDEO SCRIPT - Skincare Serum (Acne)
Platform: Instagram Reels Length: 25 seconds Style: Authentic UGC testimonial
[0-3 sec] HOOK ├── Visual: Close-up face, finger pointing at (old) acne spots ├── Audio: "Okay I HAVE to share this with you guys..." ├── Text: "acne journey" └── Tip: Look directly into camera, enthusiastic but authentic
[3-10 sec] BEFORE/PROBLEM ├── Visual: Old photos/videos with acne (or describe) ├── Audio: "I dealt with acne for years. I literally tried EVERYTHING..." ├── Text: "nothing worked" └── Tip: Quickly scroll through old content on phone
[10-18 sec] DISCOVERY + SOLUTION ├── Visual: Product unboxing/applying serum ├── Audio: "Until someone recommended this serum. 100% natural, no junk. After 2 weeks I ALREADY saw a difference." ├── Text: "100% natural" → "week 2" └── Tip: Show texture, dropper, applying to skin
[18-25 sec] RESULT + CTA ├── Visual: Current skin close-up, glowing ├── Audio: "Now? Just look. If you also struggle with acne - link in my bio. Trust me." ├── Text: "link in bio" └── Tip: Confident smile, tap CTA gesture
PRODUCTION TIPS:
- Film in natural light (window)
- Casual clothing, not heavy on makeup
- Authentic tone > polished
- Add trending audio in editing
Want me to create an alternative version with a different hook?"
MCP Tool Usage
Pull video creative performance before writing new scripts:
# Get video-level metrics to identify which hooks and lengths are working
meta_get_creatives(
account_id="act_XXXXXXXXX",
scope="account"
)
# Then pull video-specific engagement metrics
meta_get_insights(
account_id="act_XXXXXXXXX",
fields=["video_thruplay_watched_actions", "video_30_sec_watched_actions",
"video_p25_watched_actions", "video_p50_watched_actions", "video_p75_watched_actions",
"video_p95_watched_actions", "ctr", "spend"],
date_preset="last_30d",
level="ad"
)
Use the video retention breakpoints (P25/P50/P75/P95) to understand where viewers drop off in existing scripts. High drop-off at P25 (first ~25% of video) indicates a weak hook — use this as the primary brief input when writing replacement scripts.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- video-script by ekatasingh1107 · 2
- video by coreyhaines31 · 50,138
- Agentic video understanding by ericosiu · 3,528
- show-and-tell-video-slate by ericosiu · 3,528
- video-analysis by ericosiu · 3,528
- video-content-engine by ericosiu · 3,528
- linkedin-post-writer by sergebulaev · 1,895
- linkedin-post-writer by sergebulaev · 1,895
Need help setting it up?
This page tells you what meta-video-script-writer does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.