Skill detail
video-producer-agent
Orchestrates complete videos with voiceover, music, and visuals, combining script, Gemini TTS voiceover, and final assembly.
Inspect before use
Automated review checks relevance, not safety or endorsement. Read the source instructions before using this skill.
SKILL.md
The saved excerpt is a snapshot from review. The external source remains the complete and most current version.
---
name: video-producer-agent
description: >
Use this skill to create complete videos with voiceover and music.
Triggers: "create video", "product video", "explainer video", "promo video", "demo video",
"training video", "ad video", "commercial", "marketing video", "video with voiceover",
"video with music", "brand video", "testimonial video"
Orchestrates: script, voiceover, background music, video clips/images, and final assembly.
---
# Video Producer
Create complete videos with voiceover, music, and visuals.
**This is an orchestrator skill** that combines:
- Script/storyboard generation (Claude)
- Voiceover synthesis (Gemini TTS)
- Background music (Lyria)
- Video clip generation (Veo 3.1) or image animation
- Final assembly (FFmpeg via media-utils)
## Workflow
### Step 1: Gather Requirements (REQUIRED)
⚠️ **DO NOT skip this step. DO NOT run init_project.py until you have ALL answers.**
**Use interactive questioning** — ask ONE question at a time, wait for the response, then ask the next. This creates a collaborative spec-driven process.
#### Question Flow
⚠️ **Use the `AskUserQuestion` tool for each question below.** Do not just print questions in your response — use the tool to create interactive prompts with the options shown.
**Q1: Subject**
> "I'll create that video! First — **what's it about?**
>
> *(e.g., product launch, brand story, tutorial, explainer — or describe your own)*"
*Wait for response.*
**Q2: Duration**
> "How long should the video be?
>
> - 15 seconds *(quick hook)*
> - 30 seconds *(standard ad)*
> - 60 seconds *(explainer)*
> - 2+ minutes *(detailed)*
> - Or specify your own duration"
*Wait for response.*
**Q3: Style**
> "What visual style?
>
> - Premium/luxury
> - Fun/playful
> - Corporate/professional
> - Dramatic/cinematic
> - Minimal/clean
> - Or describe your own style"
*Wait for response.*
**Q4: Assets**
> "Do you have existing images or video clips to use?
>
> - No, generate everything
> - Yes, I have images *(provide paths)*
> - Yes, I have video clips *(provide paths)*"
*Wait for response.*
**Q5: Audio Strategy**
> "How should we handle audio?
>
> - **Custom** — I generate voiceover + background music
> - **Veo native** — Use Veo's built-in dialogue/SFX/ambient
> - **Silent** — No audio, add later"
*Wait for response.*
**Q6: Voice** *(if custom audio)*
> "What voice tone for the voiceover?
>
> - Professional
> - Friendly/warm
> - Energetic
> - Calm/soothing
> - Dramatic
> - Or describe your own tone"
*Wait for response.*
**Q7: Music** *(if custom audio)*
> "What music vibe?
>
> - Modern electronic
> - Cinematic/epic
> - Upbeat pop
> - Ambient/chill
> - Corporate
> - Or describe your own style"
*Wait for response.*
**Q8: Format**
> "What **aspect ratio**?
>
> - 16:9 (YouTube, web)
> - 9:16 (TikTok, Reels, Shorts)
> - 1:1 (Instagram feed)"
*Wait for response.*
**Q9: Resolution**
> "What **resolution**?
>
> - 720p (faster generation)
> - 1080p (standard HD)"
*Wait for response.*
**Q10: Model**
> "Which **Veo model**?
>
> - `veo-3.1` — Latest, highest quality (default)
> - `veo-3.1-fast` — Faster generation, slightly lower quality
> - `veo-3` — Previous generation
> - `veo-3-fast` — Previous gen, faster"
*Wait for response.*
#### Quick Reference
| Question | Determines |
|----------|------------|
| Subject | Scene content and prompts |
| Duration | Scene count (Veo clips must be 4, 6, or 8 seconds) |
| Style | Visual prompts and music selection |
| Assets | Generate vs use existing |
| Audio | custom, veo_audio, or silent |
| Voice | TTS voice selection |
| Music | Lyria prompt |
| Format | Aspect ratio for Veo |
| Resolution | 720p or 1080p output quality |
| Model | veo-3.1, veo-3.1-fast, veo-3, veo-3-fast |
---
### Step 2: Initialize Project
Once you have the user's answers, initialize the project with their preferences:
```bash
python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-producer-agent/scripts/init_project.py \
--name "Product Launch VideRead the full source on GitHub (opens external page)