| name | video-content |
| description | Three-tier video pipeline: ffmpeg Quick (5s, instant) → ffmpeg Enhanced with Ken Burns (15s, polished) → Remotion Animated (60-90s, production-grade). Takes static slides from Paper MCP or any PNGs and assembles them into platform-ready video. Make sure to use this skill whenever the user has slides, images, or PNGs and wants to turn them into video — even if they just say 'make a video from these', 'animate my slides', 'I have images and need a TikTok', or 'stitch these together'. Also use when they mention ffmpeg video assembly, Remotion-animated slide assembly, Ken Burns effects, or any slides-to-video pipeline. Owns the slides→MP4 assembly pipeline; for writing, debugging, or running `remotion render` on Remotion code itself, see /remotion-best-practices; for screen-recorded product demos, see /marketing-demo. Works with any PNG source — Paper exports, Canva, screenshots, anything. |
| category | creative |
| tier | nice-to-have |
| reads | ["marketing/handoffs/*-handoff.yaml","marketing/content-specs/*.yaml","brand/creative-kit.md","brand/assets.md"] |
| writes | ["marketing/video/*/","brand/assets.md"] |
| depends-on | [] |
| triggers | ["make video","video from slides","animate slides","render video","video content","assemble video","ffmpeg video"] |
| allowed-tools | ["Bash(mktg status *)","Bash(ffmpeg *)","Bash(bun *)","Bash(bunx remotion *)"] |
/video-content — Video Assembly Pipeline
Three-tier video pipeline from static slides to platform-ready video. ffmpeg bookends every tier — slicing at the start, post-processing at the end.
For three-tier details, see rules/three-tiers.md.
For Remotion slide archetypes, see references/remotion-archetypes.md.
For ffmpeg recipes, see references/ffmpeg-recipes.md.
ffmpeg Bookend Architecture
START (always): ffmpeg slice
Input: tall artboard PNG (e.g., 2160×26880 @ 2x) OR individual slide PNGs
Output: individual slide PNGs at target resolution (1080×1920)
Method: crop=W:H:0:Y per slide, scale to target
MIDDLE (tier-dependent):
v1 Quick: ffmpeg crossfade stitch
v1.5 Enhanced: ffmpeg Ken Burns + audio
v2 Full: Remotion animate with spring physics
END (always): ffmpeg post-process
- Audio mixing (background music, SFX from Remotion)
- Two-pass H.264 encode (CRF 18, movflags +faststart)
- Thumbnail extraction (best frame or slide 1)
- GIF preview (first 3 seconds, 480px wide)
- Platform-specific encode (TikTok, Instagram, YouTube presets)
Workflow
Phase 1: Detect Input
Check for these artifacts (in order of preference):
- Handoff YAML at
marketing/handoffs/{name}-handoff.yaml — written by /paper-marketing
- Content spec YAML at
marketing/content-specs/{name}.yaml — written by /slideshow-script
- Exported PNG — user provides path to tall artboard export
- Slide directory — user provides path to individual slide PNGs
If handoff YAML exists, read it for:
export_search_pattern — filename pattern for the exported PNG
artboard.width, artboard.height, artboard.slide_count — for ffmpeg slice coordinates
brand_snapshot — full palette + fonts for Remotion brand.ts generation
content_spec — path to the content spec YAML for slide types and animation hints
extracted_jsx — optional HTML/CSS per slide for pixel-perfect Remotion reference
Both handoff YAML and content spec YAML are needed for v2 Full tier. Handoff provides export/brand info, content spec provides slide content and animation hints.