---
name: video-production
description: Produce programmable videos with Remotion using scene planning, asset orchestration, and validation gates for automated, brand-consistent video content.
metadata:
tags: video, remotion, animation, storytelling, automation, react
platforms: Claude, ChatGPT, Gemini, Codex
---
# Remotion Video Production
Programmable video production skill using Remotion. Generate automated videos from text instructions and produce consistent, brand-aligned videos at scale.
## When to use this skill
- **Automated video generation**: Generate videos from text instructions
- **Brand video production**: High-volume videos with consistent style
- **Programmable content**: Combine narration, visuals, and animation
- **Marketing content**: Product intros, onboarding, promo videos
---
## Instructions
### Step 1: Define the Video Spec
```yaml
video_spec:
audience: [target audience]
goal: [video objective]
duration: [total length - 30s, 60s, 90s]
aspect_ratio: "16:9" | "1:1" | "9:16"
tone: "fast" | "calm" | "cinematic"
voice:
style: [narration style]
language: [language]
```
### Step 2: Outline Scenes
Scene structuring template:
```markdown
## Scene Plan
### Scene 1: Hook (0:00 - 0:05)
- **Visual**: Product logo fade-in
- **Audio**: Upbeat intro
- **Text**: "Transform Your Workflow"
- **Transition**: Fade → Scene 2
### Scene 2: Problem (0:05 - 0:15)
- **Visual**: Problem-state illustration
- **Audio**: Narration starts
- **Text**: Key message overlay
- **Transition**: Slide left
### Scene 3: Solution (0:15 - 0:30)
...
```
### Step 3: Prepare Assets
```bash
# Asset checklist
assets/
├── logos/
│ ├── logo-main.svg
│ └── logo-white.svg
├── screenshots/
│ ├── dashboard.png
│ └── feature-1.png
├── audio/
│ ├── bgm.mp3
│ └── narration.mp3
└── fonts/
└── brand-font.woff2
```
**Asset prep rules**:
- Logo: SVG or high-resolution PNG
- Screenshots: Normalize to the target aspect ratio
- Audio: MP3 or WAV; normalize volume
- Fonts: Webfont or local font files
### Step 4: Implement Remotion Composition
```tsx
// src/Video.tsx
import { Composition } from 'remotion';
import { IntroScene } from './scenes/IntroScene';
import { ProblemScene } from './scenes/ProblemScene';
import { SolutionScene } from './scenes/SolutionScene';
import { CTAScene } from './scenes/CTAScene';
export const RemotionVideo: React.FC = () => {
return (
<>
>
);
};
// Scene Component Example
const IntroScene: React.FC<{ frame: number }> = ({ frame }) => {
const opacity = interpolate(frame, [0, 30], [0, 1]);
return (
Transform Your Workflow
);
};
```
### Step 5: Render and QA
```bash
# 1. Preview render (low quality)
npx remotion preview src/Video.tsx
# 2. QA checks
- [ ] Timing
- [ ] Audio sync
- [ ] Text readability
- [ ] Smooth transitions
# 3. Final render
npx remotion render src/Video.tsx ProductIntro out/video.mp4
```
---
## Examples
### Example 1: Product Intro Video
**Prompt**:
```
Create a 60s product intro video with 6 scenes,
upbeat tone, and 16:9 output. Include a CTA at the end.
```
**Expected output**:
```markdown
## Scene Breakdown
1. Hook (0:00-0:05): Logo + tagline
2. Problem (0:05-0:15): Pain point visualization
3. Solution (0:15-0:30): Product demo
4. Features (0:30-0:45): Key benefits (3 items)
5. Social Proof (0:45-0:55): Testimonial/stats
6. CTA (0:55-1:00): Call to action + contact
## Remotion Structure
- src/scenes/HookScene.tsx
- src/scenes/ProblemScene.tsx
- src/scenes/SolutionScene.tsx
- src/scenes/FeaturesScene.tsx
- src/scenes/SocialProofScene.tsx
- src/scenes/CTAScene.tsx
```
### Example 2: Onboarding Walkthrough
**Prompt**:
```
Generate a 45s onboarding walkthrough using screenshots,
with callouts and 9:16 format for mobile.
```
**Expected output**:
- Scene plan with 5 steps
- Asset list (screenshots, callout arrows)
- Text overlays and transitions
- Mobile-safe margins applied
---
## Best practices
1. **Short scenes**: Keep each scene clear at 5-10 seconds
2. **Consistent typography**: Define a typography scale
3. **Audio sync**: Align narration cues with visuals
4. **Template reuse**: Save reusable compositions
5. **Safe zones**: Reserve margins for mobile aspect ratios
---
## Common pitfalls
- **Text overload**: Limit the amount of text per scene
- **Ignoring mobile safe zones**: Check edges for 9:16 outputs
- **Final render before QA**: Always verify in preview first
---
## Troubleshooting
### Issue: Audio and visuals out of sync
**Cause**: Frame timing mismatch
**Solution**: Recalculate frames and align timestamps
### Issue: Render is slow or fails
**Cause**: Heavy assets or effects
**Solution**: Compress assets and simplify animations
### Issue: Text unreadable
**Cause**: Font size too small or insufficient contrast
**Solution**: Use at least 24px fonts and high-contrast colors
---
## Output format
```markdown
## Video Production Report
### Spec
- Duration: 60s
- Aspect Ratio: 16:9
- FPS: 30
### Scene Plan
| Scene | Duration | Visual | Audio | Transition |
|-------|----------|--------|-------|------------|
| Hook | 0:00-0:05 | Logo fade | BGM start | Fade |
| ... | ... | ... | ... | ... |
### Assets
- [ ] logo.svg
- [ ] screenshots (3)
- [ ] bgm.mp3
- [ ] narration.mp3
### Render Checklist
- [ ] Preview QA passed
- [ ] Audio sync verified
- [ ] Safe zones checked
- [ ] Final render complete
```
---
## Multi-Agent Workflow
### Validation & Retrospectives
- **Round 1 (Orchestrator)**: Spec completeness, scene coverage
- **Round 2 (Analyst)**: Narrative consistency, pacing review
- **Round 3 (Executor)**: Validate render-readiness checklist
### Agent Roles
| Agent | Role |
|-------|------|
| Claude | Scene planning, script writing |
| Gemini | Asset analysis, optimization suggestions |
| Codex | Generate Remotion code, run renders |
---
## Metadata
### Version
- **Current Version**: 1.0.0
- **Last Updated**: 2026-01-21
- **Compatible Platforms**: Claude, ChatGPT, Gemini, Codex
### Related Skills
- [image-generation](../image-generation/SKILL.md)
- [presentation-builder](../../documentation/presentation-builder/SKILL.md)
- [frontend-design](../../frontend/design-system/SKILL.md)
### Tags
`#video` `#remotion` `#animation` `#storytelling` `#automation` `#react`