
video ad script writer
Generates complete video ad scripts for 15s, 30s, and 60s formats with shot-by-shot breakdowns, voiceover scripts, on-screen text, B-roll suggestions, music direction, storyboard outlines, and three proven video frameworks
- Installs
- 39
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/zubair-trabzada/ai-ads-claude --skill video-ad-script-writer- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads video ad script writer automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Video Ad Script Writer
Skill Purpose
Generate complete, production-ready video ad scripts for three standard ad lengths: 15-second (TikTok/Reels/Bumper), 30-second (Pre-roll/Stories), and 60-second (YouTube/Facebook). Each script includes a shot-by-shot breakdown with exact timing, voiceover transcript, on-screen text overlays, B-roll suggestions, music/mood direction, and CTA placement. Scripts are written using three proven video ad frameworks and include a storyboard outline that a video editor or motion designer can follow without additional briefing.
When to Use
- User runs
/ads video <product> - User asks for video ad scripts, video creative, or video content for ads
- Called as a subagent from
/ads strategy(the main orchestrator) - User needs scripts for TikTok ads, YouTube pre-roll, Instagram Reels, Facebook video ads, or Stories
- User wants to brief a video editor or freelancer on ad creative
Input Requirements
- Required: Product or service to advertise (name, description, or URL)
- Optional: Target audience persona, brand guidelines, existing footage/assets, desired tone, specific platform focus, offer details
How to Execute
Step 1: Gather Product & Brand Context
If a URL is provided, fetch it using WebFetch and extract:
- Product/service name and description
- Key features and benefits
- Price point and offer structure
- Target audience indicators
- Brand tone and visual style
- Existing video content (YouTube channel, social media)
- Testimonials or case studies
- Competitor positioning
Run supplementary research:
WebSearch: "[Product/Brand]" video ad
WebSearch: "[Industry]" best video ad examples
WebSearch: "[Industry]" TikTok ad examples viral
WebSearch: "[Product category]" YouTube ad examples
Establish the video brief:
## Video Brief
**Product/Service:** [Name]
**Business:** [Company name]
**What it does:** [1-sentence description]
**Who it's for:** [Target persona in 1 sentence]
**Core benefit:** [The #1 reason someone buys this]
**Key differentiator:** [What makes it different from alternatives]
**Price/Offer:** [Current pricing, discount, free trial]
**Desired action:** [What should the viewer DO after watching]
**Tone:** [Professional / Casual / Energetic / Bold / Warm / Edgy / Playful]
**Brand colors:** [Primary and secondary if known]
**Existing assets:** [Footage, product photos, testimonials available]
**Competitors to reference:** [Who they're competing against for attention]
Step 2: Apply Three Video Ad Frameworks
Every script set uses all three frameworks. Each framework produces one version per ad length (15s, 30s, 60s) for a total of 9 scripts.
Framework 1: Hook-Demo-CTA
Structure:
- Hook (first 20-30% of runtime): Bold opening statement, shocking stat, or provocative question that stops the scroll
- Demo (middle 50-60%): Show the product in action. Prove the claim made in the hook. Use screen recordings, product shots, or demonstrations.
- CTA (final 10-20%): Clear call to action with urgency or incentive. On-screen text + verbal CTA.
Best for: SaaS demos, product showcases, tool walkthroughs, e-commerce product reveals Psychology: The hook creates attention, the demo creates desire through proof, the CTA creates action through urgency.
Framework 2: Problem-Solution-Proof
Structure:
- Problem (first 25-30%): Show or describe the painful problem the audience faces. Make them feel the frustration.
- Solution (middle 40-50%): Introduce the product as the answer. Show how it specifically solves the problem stated.
- Proof (final 20-30%): Back it up. Testimonial clip, results screenshot, before/after, or stat. End with CTA.
Best for: Pain-driven products, service businesses, health/wellness, financial services, any product that solves a clear problem Psychology: Pain activation (amygdala), then relief (dopamine release when solution is shown), then social validation (proof reduces risk).
Framework 3: UGC-Style Testimonial
Structure:
- Personal hook (first 15-25%): Person speaking directly to camera with a relatable statement: "I tried everything for [problem] and nothing worked until..."
- Story/experience (middle 50-60%): Tell the story of discovering and using the product. Show authentic, unpolished moments. Include specific details and results.
- Recommendation + CTA (final 15-25%): Genuine endorsement with specific reasons why. End with "Link in bio" or "Check it out" style CTA.
Best for: DTC brands, courses/coaching, beauty/wellness, apps, any product where social proof drives purchase Psychology: Mirror neurons fire when watching someone like us share an experience. UGC-style content bypasses ad skepticism because it looks like organic content.
Step 3: Write Scripts for Each Length
15-Second Scripts (TikTok / Reels / Bumper Ads)
Constraints:
- Total runtime: 15 seconds
- Word count (voiceover): 30-40 words max
- On-screen text: 2-3 text cards max
- One single focused message — no room for multiple points
- Hook must land in first 1.5 seconds
For each of the 3 frameworks, produce a script in this format:
### 15s Script [Number] — [Framework Name]
**Platform(s):** TikTok In-Feed, Instagram Reels, YouTube Bumper
**Aspect ratio:** 9:16 (vertical)
**Total runtime:** 15 seconds
**Word count:** [count] words
---
| Time | Visual / Shot | On-Screen Text | Voiceover / Audio | Music/SFX |
|---|---|---|---|---|
| 0:00-0:02 | [Shot description — camera angle, subject, action] | [Bold text overlay] | "[Spoken words]" | [Music mood: energetic opener / bass drop / trending sound] |
| 0:02-0:05 | [Shot description] | [Text overlay if any] | "[Spoken words]" | [Music continues / transitions] |
| 0:05-0:10 | [Shot description] | [Text overlay if any] | "[Spoken words]" | [Music mood] |
| 0:10-0:13 | [Shot description] | [Text overlay if any] | "[Spoken words]" | [Music builds] |
| 0:13-0:15 | [CTA shot — product shot, logo, URL] | [CTA text: "Shop Now" / "Link in bio" / "Try free"] | "[CTA spoken]" | [Music resolves / sting] |
**B-Roll suggestions:**
- [Suggestion 1 — specific, filmable scene]
- [Suggestion 2]
- [Suggestion 3]
**Storyboard outline:**
| Frame | Description | Notes |
|---|---|---|
| Frame 1 | [What the viewer sees — composition, subject, text position] | [Production note] |
| Frame 2 | [description] | [note] |
| Frame 3 | [description] | [note] |
| Frame 4 | [description — CTA frame] | [note] |
**Director's notes:**
- [Pacing note — fast cuts, slow reveal, etc.]
- [Tone note — energy level, facial expressions, urgency]
- [Platform-specific note — TikTok native feel vs. polished for YouTube]
30-Second Scripts (Pre-Roll / Stories / Standard Social)
Constraints:
- Total runtime: 30 seconds
- Word count (voiceover): 65-80 words
- On-screen text: 4-6 text cards
- Hook must land in first 3 seconds
- For YouTube pre-roll: hook before the 5-second skip button
- Can include 1 testimonial quote or stat card
For each of the 3 frameworks, produce a script in this format:
### 30s Script [Number] — [Framework Name]
**Platform(s):** YouTube Pre-Roll, Facebook Feed Video, Instagram Stories (multi-card)
**Aspect ratio:** 16:9 (landscape for YouTube) / 9:16 (vertical for Stories) / 1:1 (square for Feed)
**Total runtime:** 30 seconds
**Word count:** [count] words
---
| Time | Visual / Shot | On-Screen Text | Voiceover / Audio | Music/SFX |
|---|---|---|---|---|
| 0:00-0:03 | [Hook shot — must capture attention before skip] | [Bold hook text] | "[Hook line]" | [Attention-grabbing opener] |
| 0:03-0:07 | [Shot description] | [Text overlay] | "[Spoken words]" | [Music mood] |
| 0:07-0:12 | [Shot description — demo/problem visualization] | [Text overlay] | "[Spoken words]" | [Music transitions] |
| 0:12-0:18 | [Shot description — solution/product in action] | [Key benefit text] | "[Spoken words]" | [Music builds] |
| 0:18-0:24 | [Shot description — proof/testimonial/result] | [Proof text — stat or quote] | "[Spoken words]" | [Music continues] |
| 0:24-0:28 | [CTA shot — product, offer, urgency element] | [Offer/CTA text] | "[CTA spoken]" | [Music resolves] |
| 0:28-0:30 | [End card — logo, URL, CTA button] | [Brand + CTA] | "[Final line]" | [Music sting / outro] |
**B-Roll suggestions:**
- [Suggestion 1 — specific, filmable scene]
- [Suggestion 2]
- [Suggestion 3]
- [Suggestion 4]
- [Suggestion 5]
**Storyboard outline:**
| Frame | Time | Description | Camera | Text Position |
|---|---|---|---|---|
| Frame 1 | 0:00-0:03 | [description] | [angle/movement] | [where text appears] |
| Frame 2 | 0:03-0:07 | [description] | [angle] | [text position] |
| Frame 3 | 0:07-0:12 | [description] | [angle] | [text position] |
| Frame 4 | 0:12-0:18 | [description] | [angle] | [text position] |
| Frame 5 | 0:18-0:24 | [description] | [angle] | [text position] |
| Frame 6 | 0:24-0:30 | [CTA card] | [static/zoom] | [centered] |
**Director's notes:**
- [Pacing and energy direction]
- [Transition style between shots — cut, dissolve, swipe, zoom]
- [Color grading / visual mood direction]
- [Audio mixing notes — music vs. voiceover balance]
60-Second Scripts (YouTube / Facebook / Long-Form Social)
Constraints:
- Total runtime: 60 seconds
- Word count (voiceover): 130-160 words
- On-screen text: 6-10 text cards
- Full narrative arc — beginning, middle, end
- Room for 1-2 testimonial clips, multiple product shots, and a strong CTA sequence
- Hook must still land in first 3 seconds
For each of the 3 frameworks, produce a script in this format:
### 60s Script [Number] — [Framework Name]
**Platform(s):** YouTube In-Stream, Facebook Feed Video, LinkedIn Video
**Aspect ratio:** 16:9 (primary), adaptable to 9:16 and 1:1
**Total runtime:** 60 seconds
**Word count:** [count] words
---
| Time | Visual / Shot | On-Screen Text | Voiceover / Audio | Music/SFX |
|---|---|---|---|---|
| 0:00-0:03 | [Hook shot] | [Hook text] | "[Hook line]" | [Attention opener] |
| 0:03-0:08 | [Context/problem setup] | [Supporting text] | "[Lines]" | [Music mood] |
| 0:08-0:15 | [Problem deepens / agitate] | [Pain point text] | "[Lines]" | [Music tension builds] |
| 0:15-0:22 | [Solution introduction] | [Product/brand reveal text] | "[Lines]" | [Music shift — hopeful] |
| 0:22-0:32 | [Demo / how it works / key features] | [Feature/benefit callouts] | "[Lines]" | [Music upbeat] |
| 0:32-0:42 | [Proof — testimonial, results, case study] | [Proof stat or quote] | "[Lines]" | [Music maintains] |
| 0:42-0:50 | [Additional benefit or second proof point] | [Secondary benefit text] | "[Lines]" | [Music builds to climax] |
| 0:50-0:55 | [CTA — offer reveal, urgency] | [Offer text + CTA] | "[CTA spoken]" | [Music peaks] |
| 0:55-0:60 | [End card — logo, URL, tagline] | [Brand + final CTA] | "[Closing line]" | [Music resolves] |
**B-Roll suggestions:**
- [Suggestion 1 — opening establishing shot]
- [Suggestion 2 — problem visualization]
- [Suggestion 3 — product detail shots]
- [Suggestion 4 — customer reaction / testimonial setting]
- [Suggestion 5 — lifestyle / aspirational imagery]
- [Suggestion 6 — CTA / urgency visual]
**Storyboard outline:**
| Frame | Time | Description | Camera | Text Position | Transition |
|---|---|---|---|---|---|
| Frame 1 | 0:00-0:03 | [description] | [angle] | [position] | [cut/dissolve] |
| Frame 2 | 0:03-0:08 | [description] | [angle] | [position] | [transition] |
| Frame 3 | 0:08-0:15 | [description] | [angle] | [position] | [transition] |
| Frame 4 | 0:15-0:22 | [description] | [angle] | [position] | [transition] |
| Frame 5 | 0:22-0:32 | [description] | [angle] | [position] | [transition] |
| Frame 6 | 0:32-0:42 | [description] | [angle] | [position] | [transition] |
| Frame 7 | 0:42-0:50 | [description] | [angle] | [position] | [transition] |
| Frame 8 | 0:50-0:60 | [CTA + end card] | [static] | [centered] | [fade] |
**Director's notes:**
- [Overall narrative arc and emotional journey]
- [Pacing: where to speed up, where to breathe]
- [Talent direction — who's on camera, what energy]
- [Color grading and visual style]
- [Audio: music genre, tempo, voiceover tone]
- [Adaptation notes for vertical (9:16) version]
Step 4: Platform-Specific Adaptation Notes
## Platform Adaptation Guide
### TikTok Adaptation
- Film in 9:16 vertical
- Use trending sounds when possible (search TikTok Creative Center for trending audio)
- First frame must have text + movement — static opens get swiped
- UGC-style (iPhone quality) outperforms polished production 3:1
- Add captions — 80% of TikTok is watched with sound off
- End with a question or controversial take to drive comments (algorithm fuel)
### Instagram Reels Adaptation
- 9:16 vertical, keep safe zones in mind (bottom 20% covered by UI)
- Instagram favors original audio over repurposed TikTok audio
- Carousel ads (static) outperform Reels for some B2B — test both
- Stories ads: use native sticker/text styles for authenticity
- Use the "Remind Me" CTA for event/launch campaigns
### YouTube Adaptation
- 16:9 landscape is primary format
- Hook must land before the 5-second skip button on pre-roll
- Bumper ads (6s): distill the 15s script to one single message
- Add end screens and cards pointing to landing page or next video
- Consider running both skippable and non-skippable to compare CPV
### Facebook Adaptation
- Square (1:1) outperforms landscape in Facebook Feed
- Add captions (SRT file) — 85% of Facebook video is watched muted
- Facebook rewards longer watch time — 60s scripts can run well if engaging
- Carousel video ads: cut the 60s into 3-4 cards
- In-stream ads: viewers cannot skip, so lead with value not hype
### LinkedIn Adaptation
- Keep it professional but not stiff — authority + relatability
- Product demos and case study videos outperform lifestyle content
- Optimal length: 15-30 seconds for awareness, 30-60 for consideration
- Native video (uploaded directly) gets 5x more reach than YouTube links
- Include subtitles — autoplay is muted in LinkedIn feed
Step 5: Production Checklist
## Production Checklist
### Pre-Production
- [ ] Script approved by stakeholder
- [ ] Talent/spokesperson confirmed (or self-shot UGC)
- [ ] Product samples/screenshots ready for demo shots
- [ ] B-roll shot list printed and shared with videographer
- [ ] Music tracks selected and licensed (check ad usage rights)
- [ ] On-screen text formatted and ready for editor
- [ ] Brand assets (logo, colors, fonts) packaged for editor
### Production
- [ ] Film in 9:16 AND 16:9 (or film wide and crop)
- [ ] Capture 3x more footage than needed (gives editor options)
- [ ] Film multiple takes of the hook — this is the most important shot
- [ ] Get at least 2 testimonial clips (even if only 1 makes the cut)
- [ ] Capture product close-ups from multiple angles
- [ ] Record clean voiceover audio separately from on-camera audio
### Post-Production
- [ ] Edit to exact timings in the script
- [ ] Add captions/subtitles (SRT or burned-in)
- [ ] Export in all required aspect ratios (16:9, 9:16, 1:1)
- [ ] Color grade to match brand palette
- [ ] Add end card with CTA, logo, and URL
- [ ] Deliver final files in platform-specific specs (resolution, codec, file size)
Output Format
Save the complete output to ADS-VIDEO-SCRIPTS.md in the current working directory.
File structure:
# Video Ad Scripts: [Product/Business Name]
> Generated [date] | Source: [URL/product info]
> Scripts: 9 total (3 frameworks x 3 lengths)
> Frameworks: Hook-Demo-CTA, Problem-Solution-Proof, UGC-Style Testimonial
## Video Brief
[product and brand context]
## 15-Second Scripts
### 15s Script 1 — Hook-Demo-CTA
### 15s Script 2 — Problem-Solution-Proof
### 15s Script 3 — UGC-Style Testimonial
## 30-Second Scripts
### 30s Script 1 — Hook-Demo-CTA
### 30s Script 2 — Problem-Solution-Proof
### 30s Script 3 — UGC-Style Testimonial
## 60-Second Scripts
### 60s Script 1 — Hook-Demo-CTA
### 60s Script 2 — Problem-Solution-Proof
### 60s Script 3 — UGC-Style Testimonial
## Platform Adaptation Guide
[platform-specific notes]
## Production Checklist
[pre/production/post checklists]
## Next Steps
1. Share scripts with video editor / filmmaker
2. Film the top-priority script first: [recommendation]
3. Run `/ads hooks` to generate alternative hook options
4. Run `/ads copy <platform>` for companion text ads
5. Test 15s versions first (cheapest to produce), scale winning framework to 30s and 60s
Quality Checklist
Before delivering the output, verify:
- 9 scripts total (3 frameworks x 3 lengths)
- Every script has shot-by-shot timing breakdown
- Voiceover word counts are within limits (15s: 30-40, 30s: 65-80, 60s: 130-160)
- On-screen text overlays are specified for every shot
- B-roll suggestions are specific and filmable
- Music/mood direction is provided for each script
- Storyboard outlines are included for every script
- CTA is clear and placed correctly in every script
- 15s hooks land in the first 1.5 seconds
- 30s hooks land before the 5-second skip button
- Platform adaptation guide covers all major platforms
- Production checklist is complete
- Scripts are specific to the product (not generic templates)
- Output is saved to ADS-VIDEO-SCRIPTS.md
FAQ
What does the video ad script writer skill do?
Generates complete video ad scripts for 15s, 30s, and 60s formats with shot-by-shot breakdowns, voiceover scripts, on-screen text, B-roll suggestions, music direction, storyboard outlines, and three proven video frameworks
How do I install video ad script writer?
Run npx skills add https://github.com/zubair-trabzada/ai-ads-claude --skill video-ad-script-writer in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/video-ad-script-writer/ (personal) or .claude/skills/video-ad-script-writer/ (project).
Which AI agents can use video ad script writer?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is video ad script writer safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains video ad script writer?
It is published by zubair-trabzada in zubair-trabzada/ai-ads-claude. It has 39 recorded installs.
Popular media & creative skills
hyperframes
heygen-com/hyperframes
Read first to make, edit, animate or render any video with HyperFrames (HTML rendered to video), including launch films, explainers, music videos, charts, maps, vertical clips, title cards, captions and overlays. Holds the render contract, the work loop and what each kind of video needs.
media-use
heygen-com/hyperframes
Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull, or should be stylized or hidden.
hyperframes-registry
heygen-com/hyperframes
About 450 ready-made HyperFrames blocks and components installed as editable source - transitions, overlays, titles, kinetic type, captions, charts, map overlays, 3D, camera moves. Use it before hand-building any named visual (CRT scanlines, glitch, film grain, a chart); also for hyperframes add and catalog.
hyperframes-creative
heygen-com/hyperframes
Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use hyperframes-animation.
ai-video-generation
101-skills/superpowers
Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse
ai-image-generation
101-skills/superpowers
Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image