video-ad-scriptwriter
Skill4 starsChanged 6 months agoMITView on GitHub
Writes platform-specific video ad scripts with timing marks for YouTube bumpers, pre-roll, TikTok, and narrative ads. Use when writing video scripts, creating ad storyboards, optimizing hook rates, or planning video ad creative.
In this repository59 other files it gives its agents.
- ad-copy-generationSkill
- ad-creative-fatigue-detectorSkill
- ad-policy-complianceSkill
- amazon-ads-optimizerSkill
- anomaly-detectorSkill
- attribution-modelingSkill
- audience-expansion-strategySkill
- bid-optimizationSkill
- budget-optimizerSkill
- campaign-ide-handoffSkill
- campaign-preflightSkill
- campaign-structure-auditorSkill
- chatgpt-ads-conversion-trackingSkill
- chatgpt-ads-launchSkill
- competitor-analysisSkill
- creative-testingSkill
- cross-platform-attributionSkill
- cross-platform-launcherSkill
- dayparting-schedulerSkill
- executive-reportingSkill
- first-party-data-strategySkill
- google-ads-operatorSkill
- google-ads-quality-scoreSkill
- google-shopping-optimizerSkill
- gtm-metricsSkill
- incrementality-testingSkill
- keyword-researchSkill
- kill-scale-rulesSkill
- klaviyo-campaignsSkill
- landing-page-optimizerSkill
- launch-gatesSkill
- linkedin-ads-operatorSkill
- linkedin-ads-targetingSkill
- media-plan-builderSkill
- meta-ads-diagnosticsSkill
- meta-ads-operatorSkill
- mmm-budget-plannerSkill
- multi-channel-reportingSkill
- multi-platform-ads-operatorSkill
- multi-platform-launchSkill
- negative-keyword-minerSkill
- openai-ads-operatorSkill
- performance-max-optimizerSkill
- pixel-capi-auditorSkill
- pixel-capi-setupSkill
- platform-cost-benchmarksSkill
- public-ad-library-intelligenceSkill
- retargeting-sequence-designerSkill
- roas-calculatorSkill
- seasonal-budget-plannerSkill
- spearSkill
- spec-driven-devSkill
- synter-mcp-setupSkill
- tiktok-ads-operatorSkill
- tracking-leak-detectorSkill
- ugc-creative-briefSkill
- ui-contrast-reviewSkill
- utm-builderSkill
- x-ads-operatorSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 57
No complex narrative — single moment or statement
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Video Ad Scriptwriter
Creates platform-optimized video ad scripts with precise timing marks, hook formulas, narrative structures, and format-specific best practices. Covers YouTube bumper ads (6s), pre-roll (15s/30s), TikTok native hooks, Instagram Reels, and long-form video ads.
Capabilities
- 6-Second Bumper Ads: YouTube non-skippable format scripts
- 15-Second Pre-Roll: Concise message delivery with skip-proof hooks
- 30-Second Narrative Ads: Full story arc with emotional beats
- TikTok Native Scripts: Pattern interrupts, curiosity gaps, trending formats
- Script Timing Templates: Second-by-second breakdowns
- Hook Rate Optimization: First 3-second retention strategies
- Multi-Format Adaptation: Convert one concept across all durations
Workflows
1. Script Development Process
Step 1: Define the brief
PRODUCT: [What are you advertising?]
OBJECTIVE: [Awareness / Consideration / Conversion / App Install]
TARGET AUDIENCE: [Demographics + psychographics]
KEY MESSAGE: [Single most important takeaway]
PLATFORM: [YouTube / TikTok / Meta / LinkedIn / CTV]
FORMAT: [Bumper 6s / Pre-Roll 15s / Standard 30s / Long-form 60s+]
TONE: [Professional / Casual / Humorous / Urgent / Inspirational]
CTA: [What should viewer do next?]
BUDGET TIER: [Animated / Live-action / AI-generated / UGC-style]Step 2: Select hook type based on objective
| Objective | Best Hook Type | Example Opening |
| Awareness | Emotional / Visual | Stunning visual + provocative statement |
| Consideration | Problem / Question | "Tired of [pain point]?" |
| Conversion | Offer / Urgency | "Last chance: 50% off ends tonight" |
| App Install | Demo / Social Proof | "10M+ downloads — here's why" |
| Retargeting | Recognition | "Still thinking about [product]?" |
Step 3: Write script with timing marks
2. 6-Second Bumper Ad Scripts (YouTube)
Format rules:
- Non-skippable, must complete in exactly 6 seconds
- ONE message only — no time for setup
- Visual-first — audio reinforces, doesn't carry
- Logo/branding in last 1-2 seconds minimum
- No complex narrative — single moment or statement
Template A: Single Statement
[0.0-0.5s] VISUAL: Product hero shot or eye-catching visual
AUDIO: Sound effect / music sting
[0.5-3.5s] VISUAL: Key benefit visualization
SUPER: "[Core benefit] in [timeframe]"
VO: "[Product] — [3-word benefit]"
[3.5-5.0s] VISUAL: Product in use / result
SUPER: "[Supporting message]"
[5.0-6.0s] VISUAL: Logo + CTA
SUPER: "[brand].com"
VO: "[Brand name]"Template B: Quick Demo
[0.0-1.0s] VISUAL: Problem state (messy, slow, frustrating)
SFX: Negative sound
[1.0-4.0s] VISUAL: Product solves it instantly (satisfying transition)
SFX: Positive resolution sound
SUPER: "[Product Name]"
[4.0-6.0s] VISUAL: Logo lockup + URL
VO: "[Tagline]"Template C: Social Proof
[0.0-1.5s] VISUAL: Counter animation "10,000,000+ users"
VO: "Ten million people..."
[1.5-4.0s] VISUAL: Quick montage of diverse users (3-4 clips, 0.6s each)
VO: "...chose [Product]"
[4.0-6.0s] VISUAL: Logo + "Join them" CTA
VO: "Try it free"Bumper ad DO's and DON'Ts:
✅ DO: Use bold, high-contrast visuals
✅ DO: Front-load the brand name (first 2 seconds)
✅ DO: Use supers — many watch without sound
✅ DO: Create a series (3-5 bumpers telling a bigger story)
❌ DON'T: Try to tell a story (no time)
❌ DON'T: Use more than 8-10 words of text
❌ DON'T: Show multiple products
❌ DON'T: End without logo/brand
❌ DON'T: Use complex transitions3. 15-Second Pre-Roll Structure
Format rules:
- Skippable after 5 seconds on YouTube — hook MUST land before skip
- First 5 seconds = your entire ad for most viewers
- Brand visible by second 3
- CTA must be clear even if skipped at :05
Template A: Problem-Solution
[0:00-0:03] HOOK — Grab attention
VISUAL: Relatable problem scenario
VO: "You know that feeling when [pain point]?"
NOTE: Brand name or logo visible in corner
[0:03-0:05] BRIDGE — Introduce solution (BEFORE SKIP BUTTON)
VISUAL: Product appears / transition
VO: "[Product] fixes that instantly"
NOTE: Viewer must know product + benefit by here
[0:05-0:10] DEMO — Show how it works
VISUAL: Product in action, screen recording, or lifestyle
VO: "[Feature 1]. [Feature 2]. [Result]."
SUPER: Key benefit text overlay
[0:10-0:13] PROOF — Build credibility
VISUAL: Review score, user count, award badge
VO: "Rated [X] stars by [number] users"
[0:13-0:15] CTA — Drive action
VISUAL: Logo lockup + URL + offer
VO: "Try [Product] free at [URL]"
SUPER: "Start Free Trial →"Template B: Testimonial Quick-Cut
[0:00-0:03] HOOK
VISUAL: Person looking at camera
TALENT: "I was skeptical about [Product] until..."
SUPER: Real Customer | [Name]
[0:03-0:05] PAYOFF
TALENT: "...it saved me [specific result]"
VISUAL: Reaction shot, genuine emotion
[0:05-0:10] CONTEXT
VISUAL: B-roll of product usage
TALENT: "I use it every day for [use case]"
[0:10-0:15] CTA
VISUAL: Product shot + offer
TALENT: "Seriously, just try it"
SUPER: [URL] | [Offer]4. 30-Second Narrative Arc
Three-act structure for 30s:
ACT 1: SETUP (0:00-0:08)
- Hook in first 3 seconds
- Establish character/situation
- Present the problem or desire
ACT 2: CONFRONTATION (0:08-0:20)
- Introduce the product as solution
- Show transformation or key features
- Build emotional engagement
ACT 3: RESOLUTION (0:20-0:30)
- Show the outcome / new reality
- Social proof or reinforcement
- Clear CTA with offerTemplate: Narrative Ad Script
[0:00-0:03] HOOK
VISUAL: [Attention-grabbing opening — visual or statement]
AUDIO: [Music: [mood] instrumental, builds throughout]
VO/TALENT: "[Hook line that creates curiosity or empathy]"
[0:03-0:08] SETUP
VISUAL: [Establish the relatable scenario]
VO/TALENT: "[Context — who, what, why viewer should care]"
SUPER: [Optional stat or question overlay]
[0:08-0:12] PROBLEM ESCALATION
VISUAL: [Pain point visualized — frustration, inefficiency, loss]
VO/TALENT: "[Make the problem feel urgent or emotionally resonant]"
SFX: [Tension sound — clock ticking, error buzzer, sigh]
[0:12-0:17] PRODUCT INTRODUCTION
VISUAL: [Product reveal — satisfying transition from problem]
VO/TALENT: "That's why I started using [Product]"
SUPER: [Product name + tagline]
MUSIC: [Shift to upbeat / resolved tone]
[0:17-0:22] DEMONSTRATION
VISUAL: [Key features in action — 2-3 quick demo clips]
VO/TALENT: "[Feature 1 benefit]. [Feature 2 benefit]."
SUPER: [Feature callout text]
[0:22-0:26] PROOF / RESULT
VISUAL: [Outcome — happy user, dashboard showing results, transformation]
VO/TALENT: "[Specific result: saved X hours, grew Y%, earned $Z]"
SUPER: [Testimonial quote or star rating]
[0:26-0:30] CTA
VISUAL: [Product shot → logo → URL → offer badge]
VO/TALENT: "[Action verb] today. [Offer details]."
SUPER: "[URL] | [Promo Code] | [Offer]"
MUSIC: [Resolve on brand sting]5. TikTok Native Hooks (First 3 Seconds)
Hook categories ranked by performance:
| Hook Type | Avg Completion Rate | Best For | Example |
| Pattern Interrupt | 65-75% | Visual products | Start mid-action, no context |
| Curiosity Gap | 60-70% | All products | "I can't believe this actually worked" |
| Controversial Take | 55-70% | Thought leadership | "Hot take: [contrarian opinion]" |
| Direct Address | 50-65% | Targeted audiences | "If you're a [role] you need this" |
| Question | 50-60% | Problem-aware audiences | "Why is nobody talking about this?" |
| List / Number | 45-60% | Educational content | "3 things I wish I knew about [X]" |
| POV Format | 45-55% | Relatable scenarios | "POV: you finally find [solution]" |
TikTok script template (15-30 seconds):
[0-1s] PATTERN INTERRUPT
ACTION: [Unexpected visual or audio that stops scroll]
Examples:
- Start filming mid-sentence "—and THAT'S why this changed everything"
- Dramatic zoom into product
- Green screen with shocking image/stat
- Satisfying ASMR sound
[1-3s] HOOK STATEMENT
TALENT: "[Hook line — question, claim, or tease]"
NOTE: Do NOT mention brand yet. Build curiosity first.
[3-8s] CONTEXT / STORY
TALENT: "[Relatable setup — who you are, why this matters]"
VISUAL: [Authentic, phone-recorded feel]
[8-18s] PRODUCT REVEAL + DEMO
TALENT: "[Natural introduction of product]"
VISUAL: [Show product in real use — unpolished is better]
NOTE: Demonstrate, don't describe. Show, don't tell.
[18-25s] RESULT / SOCIAL PROOF
TALENT: "[Specific result or genuine reaction]"
VISUAL: [Before/after, stats on screen, or genuine emotion]
[25-30s] CTA
TALENT: "[Casual CTA — 'link in bio' or 'you're welcome']"
SUPER: [Product name + brief CTA text]
NOTE: Keep CTA conversational, not salesy6. Hook Rate Optimization
Hook rate = % of viewers who watch past 3 seconds
Benchmarks by platform:
| Platform | Poor | Average | Good | Excellent |
| YouTube (skippable) | <25% | 25-40% | 40-55% | 55%+ |
| TikTok | <30% | 30-50% | 50-65% | 65%+ |
| Instagram Reels | <25% | 25-45% | 45-60% | 60%+ |
| Meta Feed (video) | <15% | 15-30% | 30-45% | 45%+ |
| LinkedIn Video | <20% | 20-35% | 35-50% | 50%+ |
Hook optimization techniques:
1. VISUAL HOOK (highest impact)
- Movement in frame within 0.5s
- Face close-up (human faces retain 2x more)
- High contrast / saturated colors
- Unexpected visual element
2. AUDIO HOOK
- Voice starts immediately (no music intro)
- First word is emotionally charged
- Sound effects that trigger curiosity
- Trending audio (TikTok/Reels only)
3. TEXT HOOK
- On-screen text appears at 0.0s (not delayed)
- Question format: "Did you know...?"
- Number format: "5 reasons why..."
- Controversy: "This is wrong and here's why"
4. STRUCTURE HOOK
- Start in medias res (middle of action)
- Open loop (tease payoff that comes later)
- Pattern interrupt (break expected format)A/B testing hooks:
Test framework:
1. Create 5 different hooks for same video body
2. Run each as separate ad with identical targeting
3. Measure: Hook Rate, Completion Rate, CTR, CPA
4. Kill bottom 3 after 200 impressions each
5. Scale top 2 with 60/40 budget split
6. Test 3 new hooks against winner weeklyReference Data
Video Length Recommendations by Platform & Objective
| Platform | Awareness | Consideration | Conversion | App Install |
| YouTube | 6s bumper, 15s pre-roll | 30s, 60s | 15-30s | 15s |
| TikTok | 9-15s | 15-30s | 15-21s | 6-15s |
| Instagram Reels | 7-15s | 15-30s | 15-30s | 15s |
| Meta Feed | 6-15s | 15-30s | 15-30s | 15s |
| 15-30s | 30-90s | 30-60s | N/A | |
| CTV/Streaming | 15s, 30s | 30s, 60s | 30s | N/A |
Music & Audio Guidelines
| Element | Do | Don't |
| Background music | Match energy to message arc | Overpower voiceover |
| Sound effects | Use sparingly for emphasis | Use stock "whoosh" clichés |
| Voiceover pace | 140-160 words/minute | Rush past 180 wpm |
| Silence | Strategic pauses create emphasis | Leave dead air unintentionally |
| Trending audio | Use on organic TikTok/Reels | Use on paid ads (licensing risk) |
Script Word Count by Duration
| Duration | Words (VO) | Words (Dialogue) | Supers (text on screen) |
| 6 seconds | 12-18 | 10-15 | 4-8 words |
| 15 seconds | 35-45 | 30-40 | 8-15 words |
| 30 seconds | 70-85 | 60-75 | 15-25 words |
| 60 seconds | 140-160 | 120-140 | 25-40 words |
| 90 seconds | 200-230 | 180-210 | 35-50 words |
Examples
Example: SaaS Product 30-Second YouTube Ad
PRODUCT: TaskMaster (Project Management Tool)
AUDIENCE: Marketing managers, 28-45, frustrated with tool sprawl
TONE: Relatable, slightly humorous, confident
---
[0:00-0:03] HOOK
VISUAL: Split screen — left: 14 open browser tabs. Right: person rubbing temples.
VO: "If your project management looks like this..."
SFX: Notification sounds layering on top of each other
[0:03-0:08] SETUP
VISUAL: Montage of Slack, email, spreadsheet, sticky notes — chaotic
VO: "...scattered across Slack, email, three spreadsheets, and
a sticky note you lost last Tuesday..."
MUSIC: Tense, building
[0:08-0:12] PRODUCT INTRO
VISUAL: Satisfying transition — chaos dissolves into clean TaskMaster dashboard
VO: "Meet TaskMaster."
SFX: Satisfying "click" sound
MUSIC: Shifts to calm, confident
[0:12-0:20] DEMO
VISUAL: Screen recording — drag task, assign team, set deadline, auto-status
VO: "One board. Every project. Every team member.
Drag, drop, done. No training manual required."
SUPER: "Drag. Drop. Done."
[0:20-0:25] PROOF
VISUAL: Customer logos scroll + 4.8 star rating badge
VO: "Join 50,000 teams who ditched the chaos."
SUPER: "★★★★★ 4.8/5 — 12,000 reviews"
[0:25-0:30] CTA
VISUAL: TaskMaster logo → "Try Free for 14 Days" button animation
VO: "Start free at TaskMaster dot com."
SUPER: "taskmaster.com | Free 14-Day Trial"
MUSIC: Resolve on brand stingAbout this skill
Part of the Synter free skills collection — open-source agent skills for advertising, PPC, and marketing automation.
Want this skill (and 40+ more) running on autopilot against your live ad accounts? Try Synter — AI Agent Media Buyers that connect to Google, Meta, LinkedIn, TikTok, Reddit, Amazon, and 7+ more platforms.
- 🌐 syntermedia.ai
- 📚 All free skills
- 💬 Built by @syntermedia — questions? Open an issue.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

