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 skill entries · 5 · pushed 2026-10-25
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).
Automated analysis of 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
- www.facebook.com
- 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.
Ask about meta-video-script-writer
Opens your assistant with this page's recorded context. Check the linked sources before relying on it.
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/c530ecb3bc7b253eff593f9a2cdd2c97e96ae251/plugin/skills/meta-video-script-writer/SKILL.md, which is licensed MIT (repository). 1,930 words, 26 headings.
Video Script Writer
Overview
This skill writes video scripts for Meta Ads, with a focus on the first 3 seconds, storytelling structures and placement-specific formats.
Video Ad Fundamentals
The 3-Second Rule
┌─────────────────────────────────────────────────────────────────┐
│ OPEN WITH THE HOOK │
│ │
│ Viewers can scroll past at any moment. Put the strongest │
│ visual, line or on-screen text first, and make the opening │
│ readable without sound. │
│ │
│ Where viewers drop off differs per ad and per account. Check │
│ the account's own retention data (see MCP Tool Usage) instead │
│ of general benchmarks. │
└─────────────────────────────────────────────────────────────────┘
Video Length
Check the current length limits for each placement in Meta's ad specs before scripting (Meta Ads Guide: https://www.facebook.com/business/ads-guide/update). Treat length as a variable to test in the account rather than assuming a fixed sweet spot.
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 [a real, verifiable amount]" | 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 | "[Real number] 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: "Tap the button 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? Tap the button below"
└── 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 / Tap the button below"
└── Text: "[CTA]"
Platform-Specific Scripts
Instagram Reels Script
FORMAT: Vertical 9:16, 15-30 sec
STYLE: Native, casual, audio you have the rights to use in ads
[0-3 sec] HOOK
├── Start with audio you have the rights to use in ads
├── Text overlay: Hook statement
└── Quick movement/transition
[3-15 sec] CONTENT
├── Fast pacing, quick cuts
├── Native Reels transitions
└── Subtitles required (many people watch with the sound off)
[15-30 sec] PAYOFF + CTA
├── Satisfying conclusion
├── "Follow for more" or product link
└── Relevant hashtags in caption
Audio rights: Meta says the music in its licensed library is intended for personal, non-commercial use, and that Sound Collection tracks can be used for commercial purposes like ads ('Access to the licensed music library on Instagram', Meta Business Help Center).
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 (check the current Stories length limit in Meta's ad specs)
STYLE: Urgent, snappy, tap-through focused
NOTE: Script a tap on the call to action, not "swipe up". Link stickers work
only in organic Instagram Stories: Meta places the ad's call to action at the
bottom of the ad (on Instagram, a call-to-action sticker, still rolling out).
[0-3 sec] INSTANT HOOK
├── Movement or text overlay
├── A poll or any other sticker rules out the Instagram CTA sticker
└── No time to lose
[3-12 sec] CORE MESSAGE
├── 1 key message per story
├── Avoid GIFs, emojis and link stickers (Meta's Stories advice)
└── Short, fast scenes
[12-15 sec] TAP CTA
├── Clear instruction to tap the call to action (NOT "swipe up")
├── Arrow/gesture animation pointing to the CTA at the bottom
└── Keep text and logos out of the bottom, where the CTA sits
Sources: 'About the link sticker for Instagram Stories' and 'Creative best practices for Stories', Meta Business Help Center. For the safe zones in pixels or percent, use the Ads Guide page for the placement.
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 travel backpack. Instagram Reels, 20-30 seconds, UGC style. The backpack opens flat like a suitcase and has a separate laptop compartment."
Claude response:
"Here is a UGC-style video script for your travel backpack:
VIDEO SCRIPT - Travel Backpack
Platform: Instagram Reels Length: 25 seconds Style: Authentic UGC testimonial
[0-3 sec] HOOK ├── Visual: Close-up face, then a quick cut to an overstuffed backpack ├── Audio: "Okay I HAVE to share this with you guys..." ├── Text: "packing struggle" └── Tip: Look directly into camera, enthusiastic but authentic
[3-10 sec] BEFORE/PROBLEM ├── Visual: Old travel clips of digging through a bag (or describe) ├── Audio: "Every trip, the thing I need is at the bottom of my bag. I literally tried EVERYTHING..." ├── Text: "nothing worked" └── Tip: Quickly scroll through old content on phone
[10-18 sec] DISCOVERY + SOLUTION ├── Visual: Product unboxing, then unzipping the backpack so it opens flat ├── Audio: "Until someone recommended this backpack. It opens flat like a suitcase, and the laptop has its own compartment." ├── Text: "opens flat" → "laptop compartment" └── Tip: Show the zip opening all the way, then the laptop sliding in
[18-25 sec] RESULT + CTA ├── Visual: Packed backpack zipped shut, walking to the gate ├── Audio: "Now? Just look. If you also dig through your bag on every trip: tap the button below. Trust me." ├── Text: "tap below" └── Tip: Confident smile, tap CTA gesture
PRODUCTION TIPS:
- Film in natural light (window)
- Casual clothing, not heavy on makeup
- Authentic tone > polished
- In editing, add audio you have the rights to use in ads
Want me to create an alternative version with a different hook?"
MCP Tool Usage
Pull video creative performance before writing new scripts:
# List the account's top ads (by spend) with their copy, CTA and basic performance
meta_get_creatives(
account_id="act_XXXXXXXXX",
scope="account"
)
# Then pull video engagement metrics per ad
meta_get_insights(
account_id="act_XXXXXXXXX",
fields=["impressions", "actions", "video_play_actions",
"video_p25_watched_actions", "video_p50_watched_actions", "video_p75_watched_actions",
"video_p100_watched_actions", "video_avg_time_watched_actions", "ctr", "spend"],
date_preset="last_30d",
level="ad"
)
Use the video retention breakpoints (P25/P50/P75/P100) to see where viewers drop off in existing scripts. To judge the opening, divide 3-second views (the video_view action type inside actions) by impressions and compare the result with the account's other video ads, not with a general benchmark. Ads whose opening holds fewer viewers than the rest of the account are the primary brief input when writing replacement scripts. ThruPlay and 30-second views are not available through meta_get_insights. Meta's Ads Action Stats reference lists video_view as "3-Second Video Views".
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 · 57,989
- email-sequence-writer by irinabuht12-oss · 6,704
- meta-ads-audit by irinabuht12-oss · 6,704
- linkedin-post-writer by sergebulaev · 5,500
- Agentic video understanding by ericosiu · 3,767
- show-and-tell-video-slate by ericosiu · 3,767
- video-analysis by ericosiu · 3,767
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.