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.
# /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
1. **Parse project** from `$ARGUMENTS`.
- Read PRD (`docs/prd.md`), README, or CLAUDE.md for product info.
- If empty: ask via AskUserQuestion.
2. **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)
3. **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
4. **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
5. **Generate video script** (30-45 seconds):
```markdown
## 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}
```
6. **Generate tooling config** (if applicable):
### If Remotion detected:
```markdown
## 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:
```markdown
## 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
```
7. **Write plan** to `docs/video-promo.md`:
```markdown
# 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.*
```
8. **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.