video-producer
npx skills add https://github.com/notedit/happy-skills --skill video-producer
Agent 安装分布
Skill 文档
When to use
Use this skill when the user provides a video brief â a description of a complete video with multiple scenes or a narrative arc.
Triggers: “create a promo video”, “make a product demo”, “I need a 30-second ad”, “build a social media animation”, or any prompt describing a multi-scene video.
Do NOT use for:
- Single animation effects â use
gsap-animation - Visual background components â use
react-animation - Non-video tasks
Skill Relationships
video-producer (this skill) â orchestration: what story, which scenes
âââ gsap-animation â animation: text splits, 3D transforms, timelines
âââ react-animation â visuals: Aurora, Silk, particles, grain
âââ Remotion â engine: rendering, composition, sequences
Workflow
Initial request: $ARGUMENTS
Phase 1: Brief Intake
Extract from the user’s request. Use AskUserQuestion for any missing required fields.
| Field | Required | Default | Example |
|---|---|---|---|
| Product / brand name | Yes | â | “Topview” |
| Video type | Yes | SaaS Promo | SaaS Promo / Typographic / Social Overlay |
| Core messages (2-4) | Yes | â | “AI-powered editing”, “No coding required” |
| Target audience | No | General | “Developers”, “Marketers” |
| Duration | No | Template default | “25 seconds” |
| Resolution | No | 1920×1080 | 1080×1080 for square |
| FPS | No | 30 | 60 for social media |
| Visual style | No | Apple Minimal | Apple Minimal / Bold Typography / Dark Tech |
| CTA text | No | None | “Start Creating â” |
| Color accent | No | From style preset | “#FF7D00” |
Phase 2: Planning
- Select narrative template based on video type â see
rules/narrative-templates.md - Select visual style â see
rules/style-presets.md - Map user’s messages to scene slots in the selected template
- Select animation pattern for each scene â see
rules/scene-patterns.md - Present the plan as a table to the user:
Scene | Duration | Pattern | Content
1 | 3s | TitleCard | "Topview is powerful"
2 | 3s | CardFlip3D | CLI pain â AI solution
...
Wait for user confirmation before proceeding.
Phase 3: Project Scaffold
Generate the standard Remotion project structure â see rules/project-scaffold.md:
src/config.tsâ all parameters (colors, typography, scene frames)src/Root.tsxâ composition registrationsrc/Composition.tsxâ TransitionSeries with all scenessrc/components/â shared components (background, etc.)src/scenes/â one file per scene
Frame calculation: sceneFrames = Math.ceil(sceneDurationSeconds * fps)
Phase 4: Scene Implementation
Implement scenes in order. For each scene:
- Create
src/scenes/SceneN_Name.tsx - Select the right hook:
- Complex timeline / text splitting / 3D transforms â
useGSAPTimelineoruseGSAPWithFonts(from gsap-animation skill) - Simple fades / slides / counters â Remotion native
interpolate()+spring() - Visual backgrounds â react-animation components
- Complex timeline / text splitting / 3D transforms â
- Apply the selected animation pattern from the plan
- Wire into
Composition.tsx
Pattern selection principle: Use Remotion native for anything interpolate() handles cleanly. Use GSAP only for SplitText, DrawSVG, MorphSVG, complex timeline orchestration, 3D transforms, and registered effects.
Phase 5: Rendering
# Standard MP4
npx remotion render src/index.ts MainVideo --output out/video.mp4
# High quality
npx remotion render src/index.ts MainVideo --codec h264 --crf 15
# Transparent background (social overlays)
npx remotion render src/index.ts MainVideo --codec prores --prores-profile 4444
npx remotion render src/index.ts MainVideo --codec vp9 --output out/overlay.webm
| Format | Alpha | Use Case |
|---|---|---|
| MP4 H.264 | No | Universal playback |
| ProRes 4444 | Yes | Professional compositing |
| WebM VP9 | Yes | Web overlays |
Quick Decision Reference
| “I need…” | Use |
|---|---|
| Bold text entrance | gsap: charCascade / textReveal effect |
| Side-by-side comparison | gsap: SplitScreenComparison template |
| Card flip reveal | gsap: CardFlip3D template |
| Elements from both sides | gsap: PerspectiveEntrance template |
| Word highlighting | gsap: TextHighlightBox pattern |
| UI click simulation | gsap: CursorClick pattern |
| Text swap animation | gsap: RotateXTextSwap pattern |
| Flowing background | react-animation: Aurora / Silk |
| Film grain overlay | react-animation: NoiseOverlay |
| Simple fade / slide | Remotion: interpolate() |
| Number counter | Remotion: interpolate() |
| Typing effect | Remotion: .slice() + interpolate() |
| Scene transition | gsap: circleReveal / wipeIn effect |
| Logo stroke draw | gsap: DrawSVG + drawIn effect |