/video-promo
Generate a promo video plan from a project's PRD. Produces a 30-45 second video script with shot-by-shot storyboard. Detects Montage-tool or Remotion in the project and outputs compatible config when found.
MCP Tools (use if available)
project_code_search(query, project) — find UI components, screens, features to showcase
project_info(name) — get project stack and details
kb_search(query) — find video production methodology
If MCP tools are not available, fall back to Glob + Grep + Read.
Steps
Parse project from $ARGUMENTS.
- Read PRD (
docs/prd.md), README, or CLAUDE.md for product info.
- If empty: ask via AskUserQuestion.
Detect video tooling in the project:
- Check
package.json for remotion, @remotion/cli → Remotion project
- Check for
montage.config.*, pnpm montage → Montage-tool project
- Check for
ffmpeg usage in scripts → FFmpeg pipeline
- If none found: output plain storyboard (no specific tooling config)
Extract key screens/features to showcase:
- If MCP available:
project_code_search("main screen OR hero OR dashboard", project) — find showcase-worthy UI
- Otherwise: Glob for screenshots, mockups, or UI component files
- Read PRD for top 3-5 features to demonstrate
Forced reasoning — video strategy:
Before scripting, write out:
- Goal: What should the viewer DO after watching? (download, sign up, visit)
- Hook type: Question? Surprising stat? Pain point? Bold claim?
- Demo moments: 3 key product moments to show on screen
- Emotion arc: Frustration → Discovery → Relief/Delight
Generate video script (30-45 seconds):
## Video Script: {Project Name}
**Duration:** 30-45 seconds
**Format:** Vertical (9:16) for Reels/TikTok/Shorts
**Style:** Screen recording + text overlays
### HOOK (0:00-0:03) — 3 seconds
**Audio:** "{hook line — question or bold statement}"
**Visual:** {what appears on screen — text overlay on gradient/blurred BG}
### PROBLEM (0:03-0:10) — 7 seconds
**Audio:** "{describe the pain in user's words}"
**Visual:** {show the frustrating current state — competitor UX, manual process, etc.}
### DEMO (0:10-0:25) — 15 seconds
**Audio:** "{narrate what the product does}"
**Visual:**
- Shot 1 (5s): {first feature demo — screen recording}
- Shot 2 (5s): {second feature demo}
- Shot 3 (5s): {wow moment — the key differentiator}
### CTA (0:25-0:30) — 5 seconds
**Audio:** "{call to action}"
**Visual:** {product logo + URL + download badge}
Generate tooling config (if applicable):
If Remotion detected:
## Remotion Component Spec
Component: `PromoVideo.tsx`
Duration: 900 frames (30fps × 30s)
Sequences:
- HookSequence (0-90): Text animation on gradient
- ProblemSequence (90-300): Screen recording import
- DemoSequence (300-750): 3 feature recordings with transitions
- CTASequence (750-900): Logo + URL fade in
Assets needed:
- screen-recording-problem.mp4
- screen-recording-feature-1.mp4
- screen-recording-feature-2.mp4
- screen-recording-feature-3.mp4
- logo.png
- background-music.mp3
If montage tool detected:
## Montage Config
Clips:
- problem-clip.mp4 (7s)
- demo-feature-1.mp4 (5s)
- demo-feature-2.mp4 (5s)
- demo-wow-moment.mp4 (5s)
Music: {suggest genre/BPM for beat-sync}
Transitions: crossfade (0.5s)
Text overlays: hook, CTA
Write plan to docs/video-promo.md:
# Video Promo Plan: {Project Name}
**Generated:** {YYYY-MM-DD}
**Duration:** 30-45 seconds
**Format:** Vertical 9:16
**Tooling:** {Remotion / Montage-tool / Manual}
## Script
{full script from step 5}
## Assets Checklist
- [ ] Screen recording: {feature 1}
- [ ] Screen recording: {feature 2}
- [ ] Screen recording: {wow moment}
- [ ] Logo (transparent PNG)
- [ ] Background music (royalty-free, upbeat)
## Tooling Config
{config from step 6, or "Record manually and edit in CapCut/iMovie"}
---
*Generated by /video-promo. Record assets, then render.*
Output summary — script overview, assets needed, suggested next steps.
Notes
- Script assumes screen recording as primary footage — no actor needed
- For iOS apps: use Simulator recording or device mirroring
- For web: use browser screen recording
- Music: suggest royalty-free sources (Artlist, Epidemic Sound, YouTube Audio Library)
- This skill generates the PLAN — actual video rendering is manual or via Montage-tool/Remotion
Common Issues
No video tooling detected
Cause: Project doesn't use Remotion or Montage-tool.
Fix: Skill outputs plain storyboard by default. Record manually and edit in CapCut/iMovie, or add Remotion to the project.
Script too long for short-form video
Cause: Too many features to showcase.
Fix: Pick TOP 3 features only. 30-45 seconds = ~75-100 words of narration. Less is more.
No screenshots or UI to record
Cause: Product not built yet or no visual interface.
Fix: Use mockups, wireframes, or describe intended visuals in the storyboard. Record after MVP is built.
1---2name: solo-video-promo3description: Generate promo video plan with 30-45s script, shot-by-shot storyboard, and optional Remotion/Montage-tool config. Use when user says "create video", "promo video", "video script", "storyboard", "demo video", or "product video plan". Do NOT use for social media text posts (use /content-gen) or landing page copy (use /landing-gen).4---56# /video-promo78Generate a promo video plan from a project's PRD. Produces a 30-45 second video script with shot-by-shot storyboard. Detects Montage-tool or Remotion in the project and outputs compatible config when found.910## MCP Tools (use if available)1112- `project_code_search(query, project)` — find UI components, screens, features to showcase13- `project_info(name)` — get project stack and details14- `kb_search(query)` — find video production methodology1516If MCP tools are not available, fall back to Glob + Grep + Read.1718## Steps19201. **Parse project** from `$ARGUMENTS`.21 - Read PRD (`docs/prd.md`), README, or CLAUDE.md for product info.22 - If empty: ask via AskUserQuestion.23242. **Detect video tooling** in the project:25 - Check `package.json` for `remotion`, `@remotion/cli` → Remotion project26 - Check for `montage.config.*`, `pnpm montage` → Montage-tool project27 - Check for `ffmpeg` usage in scripts → FFmpeg pipeline28 - If none found: output plain storyboard (no specific tooling config)29303. **Extract key screens/features** to showcase:31 - If MCP available: `project_code_search("main screen OR hero OR dashboard", project)` — find showcase-worthy UI32 - Otherwise: Glob for screenshots, mockups, or UI component files33 - Read PRD for top 3-5 features to demonstrate34354. **Forced reasoning — video strategy:**36 Before scripting, write out:37 - **Goal:** What should the viewer DO after watching? (download, sign up, visit)38 - **Hook type:** Question? Surprising stat? Pain point? Bold claim?39 - **Demo moments:** 3 key product moments to show on screen40 - **Emotion arc:** Frustration → Discovery → Relief/Delight41425. **Generate video script** (30-45 seconds):4344 ```markdown45 ## Video Script: {Project Name}4647 **Duration:** 30-45 seconds48 **Format:** Vertical (9:16) for Reels/TikTok/Shorts49 **Style:** Screen recording + text overlays5051 ### HOOK (0:00-0:03) — 3 seconds52 **Audio:** "{hook line — question or bold statement}"53 **Visual:** {what appears on screen — text overlay on gradient/blurred BG}5455 ### PROBLEM (0:03-0:10) — 7 seconds56 **Audio:** "{describe the pain in user's words}"57 **Visual:** {show the frustrating current state — competitor UX, manual process, etc.}5859 ### DEMO (0:10-0:25) — 15 seconds60 **Audio:** "{narrate what the product does}"61 **Visual:**62 - Shot 1 (5s): {first feature demo — screen recording}63 - Shot 2 (5s): {second feature demo}64 - Shot 3 (5s): {wow moment — the key differentiator}6566 ### CTA (0:25-0:30) — 5 seconds67 **Audio:** "{call to action}"68 **Visual:** {product logo + URL + download badge}69 ```70716. **Generate tooling config** (if applicable):7273 ### If Remotion detected:74 ```markdown75 ## Remotion Component Spec7677 Component: `PromoVideo.tsx`78 Duration: 900 frames (30fps × 30s)7980 Sequences:81 - HookSequence (0-90): Text animation on gradient82 - ProblemSequence (90-300): Screen recording import83 - DemoSequence (300-750): 3 feature recordings with transitions84 - CTASequence (750-900): Logo + URL fade in8586 Assets needed:87 - screen-recording-problem.mp488 - screen-recording-feature-1.mp489 - screen-recording-feature-2.mp490 - screen-recording-feature-3.mp491 - logo.png92 - background-music.mp393 ```9495 ### If montage tool detected:96 ```markdown97 ## Montage Config9899 Clips:100 - problem-clip.mp4 (7s)101 - demo-feature-1.mp4 (5s)102 - demo-feature-2.mp4 (5s)103 - demo-wow-moment.mp4 (5s)104105 Music: {suggest genre/BPM for beat-sync}106 Transitions: crossfade (0.5s)107 Text overlays: hook, CTA108 ```1091107. **Write plan** to `docs/video-promo.md`:111112 ```markdown113 # Video Promo Plan: {Project Name}114115 **Generated:** {YYYY-MM-DD}116 **Duration:** 30-45 seconds117 **Format:** Vertical 9:16118 **Tooling:** {Remotion / Montage-tool / Manual}119120 ## Script121 {full script from step 5}122123 ## Assets Checklist124 - [ ] Screen recording: {feature 1}125 - [ ] Screen recording: {feature 2}126 - [ ] Screen recording: {wow moment}127 - [ ] Logo (transparent PNG)128 - [ ] Background music (royalty-free, upbeat)129130 ## Tooling Config131 {config from step 6, or "Record manually and edit in CapCut/iMovie"}132133 ---134 *Generated by /video-promo. Record assets, then render.*135 ```1361378. **Output summary** — script overview, assets needed, suggested next steps.138139## Notes140141- Script assumes screen recording as primary footage — no actor needed142- For iOS apps: use Simulator recording or device mirroring143- For web: use browser screen recording144- Music: suggest royalty-free sources (Artlist, Epidemic Sound, YouTube Audio Library)145- This skill generates the PLAN — actual video rendering is manual or via Montage-tool/Remotion146147## Common Issues148149### No video tooling detected150**Cause:** Project doesn't use Remotion or Montage-tool.151**Fix:** Skill outputs plain storyboard by default. Record manually and edit in CapCut/iMovie, or add Remotion to the project.152153### Script too long for short-form video154**Cause:** Too many features to showcase.155**Fix:** Pick TOP 3 features only. 30-45 seconds = ~75-100 words of narration. Less is more.156157### No screenshots or UI to record158**Cause:** Product not built yet or no visual interface.159**Fix:** Use mockups, wireframes, or describe intended visuals in the storyboard. Record after MVP is built.