name: product-demo-video description: Generate 2-minute product demo videos for technical projects (GitHub repos, APIs, technical products). Runs parallel build options with structured critic review. Use when demoing code, explaining architecture, or creating explainer videos. metadata: {"clawdbot":{"emoji":"๐ฌ"}}
Product Demo Video
Generate 2-minute product demo videos for technical projects with parallel build options and structured critic review.
When to Use
- Demoing a GitHub repo, API, or technical product
- Need professional explainer video quickly
- Want multiple approach options (animated vs simple)
Workflow (7 Phases)
DISCOVERY โ SCRIPT โ PARALLEL BUILD โ PARALLEL CRITICS โ ITERATE โ FINAL โ DELIVER
โ โ โ โ โ โ โ
5-10m 10-15m 30-60m 10-15m 0-3 loops gate ship it
Phase 1: Discovery
Clone and analyze the repo:
gh repo clone <owner/repo> /tmp/<repo>
Extract:
- What it does (1 sentence)
- Who it's for
- 3-5 key features
- Architecture/flow
- Visual assets (logos, diagrams)
Ask (or use defaults):
| Question | Default |
|---|---|
| Duration | 2 min |
| Audience | Mixed (tech + business) |
| Tone | Professional-conversational |
| Format | Animated explainer |
Phase 2: Script
Use references/script-template.md structure:
Scene 1: Hook (0:00-0:15) โ Problem statement
Scene 2: Context (0:15-0:30) โ Why this matters
Scene 3-5: Features (0:30-1:30) โ 3 key capabilities, 20s each
Scene 6: Technical (1:30-1:50) โ Architecture/credibility
Scene 7: CTA (1:50-2:00) โ What to do next
Guidelines:
- 150 words/minute
- Max 20 words/sentence
- Active voice
- Concrete over vague
Phase 3: Parallel Build
Spawn 2 sub-agents to build options simultaneously:
// Option A: Remotion (animated)
sessions_spawn({
label: "demo-video-option-a",
task: `Build animated demo video using Remotion.
Script: [paste script]
Voice: Use ElevenLabs, voice ID CcEB0ARKH8qIyzh2I1OR
Output: /tmp/demo-video/option-a.mp4
Approach:
1. Generate voiceover per scene (ElevenLabs API)
2. Create Remotion project with scene components
3. Sync animations to audio timing
4. Render at 1080p 30fps`
})
// Option B: Slides + ffmpeg (simple)
sessions_spawn({
label: "demo-video-option-b",
task: `Build slide-based demo video.
Script: [paste script]
Voice: Use ElevenLabs, voice ID CcEB0ARKH8qIyzh2I1OR
Output: /tmp/demo-video/option-b.mp4
Approach:
1. Generate voiceover (ElevenLabs API)
2. Create slides with Puppeteer (HTML โ PNG)
3. Combine with ffmpeg, sync to audio
4. Add simple transitions`
})
Wait for both. Present options to user or auto-select based on quality.
Phase 4: Parallel Critics
Spawn 2 critic personas (see references/ for full rubrics):
// Business Critic
sessions_spawn({
label: "critic-business",
task: `Review demo video as Business Critic "Mike".
Video: [path]
Script: [content]
See references/critic-business.md for full persona and rubric.
Score: Clarity, Professionalism, Business Value (1-10 each)
Output: Structured review with overall score and specific fixes.`
})
// Technical Critic
sessions_spawn({
label: "critic-technical",
task: `Review demo video as Technical Critic "Senior Engineer".
Video: [path]
Script: [content]
See references/critic-technical.md for full persona and rubric.
Score: Technical Accuracy, Credibility, Completeness (1-10 each)
Output: Structured review with overall score and specific fixes.`
})
Phase 5: Iterate
Quality gates:
| Gate | Action |
|---|---|
| Both critics โฅ7.5, no Critical issues | โ Ship |
| Any critic <7.0 OR Critical issue | โ Iterate |
| After 3 iterations, still failing | โ Escalate to human |
Iteration loop:
- Collect all Critical/Important issues
- Fix in order of severity
- Re-render affected scenes only (if possible)
- Re-run critics
Phase 6: Final Review
Before shipping, verify:
- Both critics passed (7.5+)
- No Critical issues remain
- Audio synced correctly
- All scenes render cleanly
- CTA is clear
Phase 7: Deliver
Output:
โ
Demo video complete!
๐น Video: demo-video-final.mp4 (2:03)
๐ฏ Audience: [target]
๐ Scores: Business 8.2/10 | Technical 7.8/10
Covers:
1. [Key point 1]
2. [Key point 2]
3. [Key point 3]
Files saved to: [location]
Deliver to:
- Slack channel (if specified)
- Save to workspace/outputs/
Tools & Dependencies
| Tool | Purpose | Required |
|---|---|---|
| ElevenLabs | Voiceover generation | Yes |
| Remotion | React video framework (Option A) | One of A/B |
| ffmpeg | Video processing (Option B) | One of A/B |
| Puppeteer | Slide screenshots (Option B) | One of A/B |
| sessions_spawn | Parallel sub-agents | Yes |
Voice default: CcEB0ARKH8qIyzh2I1OR (Jeremy - Technical Tutorial Narrator)
File References
references/critic-business.mdโ Business critic persona & rubricreferences/critic-technical.mdโ Technical critic persona & rubricreferences/script-template.mdโ Scene-by-scene script structuretemplates/remotion/โ Remotion project scaffold with componentsscripts/generate-voiceover.pyโ ElevenLabs TTS helperscripts/render-slides.shโ ffmpeg slide-to-video combiner