/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: Use when "create video", "promo video", "video script", "storyboard", "demo video", "product video plan", or need video marketing material. Do NOT use for social media text posts (/content-gen) or landing page copy (/landing-gen).4license: MIT5---67# /video-promo89Generate 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.1011## MCP Tools (use if available)1213- `project_code_search(query, project)` — find UI components, screens, features to showcase14- `project_info(name)` — get project stack and details15- `kb_search(query)` — find video production methodology1617If MCP tools are not available, fall back to Glob + Grep + Read.1819## Steps20211. **Parse project** from `$ARGUMENTS`.22 - Read PRD (`docs/prd.md`), README, or CLAUDE.md for product info.23 - If empty: ask via AskUserQuestion.24252. **Detect video tooling** in the project:26 - Check `package.json` for `remotion`, `@remotion/cli` → Remotion project27 - Check for `montage.config.*`, `pnpm montage` → Montage-tool project28 - Check for `ffmpeg` usage in scripts → FFmpeg pipeline29 - If none found: output plain storyboard (no specific tooling config)30313. **Extract key screens/features** to showcase:32 - If MCP available: `project_code_search("main screen OR hero OR dashboard", project)` — find showcase-worthy UI33 - Otherwise: Glob for screenshots, mockups, or UI component files34 - Read PRD for top 3-5 features to demonstrate35364. **Forced reasoning — video strategy:**37 Before scripting, write out:38 - **Goal:** What should the viewer DO after watching? (download, sign up, visit)39 - **Hook type:** Question? Surprising stat? Pain point? Bold claim?40 - **Demo moments:** 3 key product moments to show on screen41 - **Emotion arc:** Frustration → Discovery → Relief/Delight42435. **Generate video script** (30-45 seconds):4445 ```markdown46 ## Video Script: {Project Name}4748 **Duration:** 30-45 seconds49 **Format:** Vertical (9:16) for Reels/TikTok/Shorts50 **Style:** Screen recording + text overlays5152 ### HOOK (0:00-0:03) — 3 seconds53 **Audio:** "{hook line — question or bold statement}"54 **Visual:** {what appears on screen — text overlay on gradient/blurred BG}5556 ### PROBLEM (0:03-0:10) — 7 seconds57 **Audio:** "{describe the pain in user's words}"58 **Visual:** {show the frustrating current state — competitor UX, manual process, etc.}5960 ### DEMO (0:10-0:25) — 15 seconds61 **Audio:** "{narrate what the product does}"62 **Visual:**63 - Shot 1 (5s): {first feature demo — screen recording}64 - Shot 2 (5s): {second feature demo}65 - Shot 3 (5s): {wow moment — the key differentiator}6667 ### CTA (0:25-0:30) — 5 seconds68 **Audio:** "{call to action}"69 **Visual:** {product logo + URL + download badge}70 ```71726. **Generate tooling config** (if applicable):7374 ### If Remotion detected:75 ```markdown76 ## Remotion Component Spec7778 Component: `PromoVideo.tsx`79 Duration: 900 frames (30fps × 30s)8081 Sequences:82 - HookSequence (0-90): Text animation on gradient83 - ProblemSequence (90-300): Screen recording import84 - DemoSequence (300-750): 3 feature recordings with transitions85 - CTASequence (750-900): Logo + URL fade in8687 Assets needed:88 - screen-recording-problem.mp489 - screen-recording-feature-1.mp490 - screen-recording-feature-2.mp491 - screen-recording-feature-3.mp492 - logo.png93 - background-music.mp394 ```9596 ### If montage tool detected:97 ```markdown98 ## Montage Config99100 Clips:101 - problem-clip.mp4 (7s)102 - demo-feature-1.mp4 (5s)103 - demo-feature-2.mp4 (5s)104 - demo-wow-moment.mp4 (5s)105106 Music: {suggest genre/BPM for beat-sync}107 Transitions: crossfade (0.5s)108 Text overlays: hook, CTA109 ```1101117. **Write plan** to `docs/video-promo.md`:112113 ```markdown114 # Video Promo Plan: {Project Name}115116 **Generated:** {YYYY-MM-DD}117 **Duration:** 30-45 seconds118 **Format:** Vertical 9:16119 **Tooling:** {Remotion / Montage-tool / Manual}120121 ## Script122 {full script from step 5}123124 ## Assets Checklist125 - [ ] Screen recording: {feature 1}126 - [ ] Screen recording: {feature 2}127 - [ ] Screen recording: {wow moment}128 - [ ] Logo (transparent PNG)129 - [ ] Background music (royalty-free, upbeat)130131 ## Tooling Config132 {config from step 6, or "Record manually and edit in CapCut/iMovie"}133134 ---135 *Generated by /video-promo. Record assets, then render.*136 ```1371388. **Output summary** — script overview, assets needed, suggested next steps.139140## Notes141142- Script assumes screen recording as primary footage — no actor needed143- For iOS apps: use Simulator recording or device mirroring144- For web: use browser screen recording145- Music: suggest royalty-free sources (Artlist, Epidemic Sound, YouTube Audio Library)146- This skill generates the PLAN — actual video rendering is manual or via Montage-tool/Remotion147148## Common Issues149150### No video tooling detected151**Cause:** Project doesn't use Remotion or Montage-tool.152**Fix:** Skill outputs plain storyboard by default. Record manually and edit in CapCut/iMovie, or add Remotion to the project.153154### Script too long for short-form video155**Cause:** Too many features to showcase.156**Fix:** Pick TOP 3 features only. 30-45 seconds = ~75-100 words of narration. Less is more.157158### No screenshots or UI to record159**Cause:** Product not built yet or no visual interface.160**Fix:** Use mockups, wireframes, or describe intended visuals in the storyboard. Record after MVP is built.