Remotion Promo Video Factory
Use this skill to produce repeatable, high-quality app introduction videos in Remotion. This skill is intentionally app-agnostic and works for UI-heavy products and non-UI products.
Core Rules
- Use official Remotion skill rules as primary authority.
- Drive all motion via
useCurrentFrame()withinterpolate()andspring(). - Design time in seconds, then convert with
sec(). - Pick an app-type blueprint first; do not default to UI-only demos.
- Prefer reusable visual primitives over one-off recorded footage.
- Apply typography sizing rules before animation polish.
- Validate every major edit with frame captures, then run typecheck and render.
- Do not claim quality success without frame-by-frame evidence.
- Never commit, push, or mark tasks done without explicit user approval.
Official Skill Interop
Always read references/official-skill-integration.md first.
Required official rule groups by stage:
- Composition stage:
compositions,parameters,calculate-metadata - Motion stage:
animations,timing,sequencing,transitions - Asset stage:
assets,images,fonts - Optional stage:
audio,videos,subtitles,text-animations
References
- App-type selection and scene templates:
references/app-type-blueprints.md - Official Remotion rule mapping:
references/official-skill-integration.md - Timeline and motion patterns:
references/timeline-and-motion.md - Timing budgets and debug loop:
references/timing-and-debug-loop.md - Typography and readability rules:
references/typography-and-readability.md - Reusable visual building blocks:
references/visual-primitives.md - QA checklist:
references/qa-checklist.md - Troubleshooting guide:
references/troubleshooting.md
Workflow
Step 1: Collect Inputs
Collect from local project context (README, docs, landing page, existing UI, CLI/API examples):
- Target audience
- Core promise in one sentence
- Proof assets available (UI, code, logs, metrics, testimonials)
- Media assets available (logo, screenshots, clips, audio)
Step 2: Select App-Type Blueprint
Read references/app-type-blueprints.md and select one:
- UI-centric app
- API/SDK app
- Developer tool / infrastructure app
- AI/automation app
Create a shot list based on the selected blueprint.
Step 3: Narrative and Duration
- Define the story arc:
Hook -> Problem -> Mechanism -> Proof -> CTA - Choose target length:
15s,30s,45s, or60s - Assign scene durations before implementation
Step 4: Composition Setup
- Define
Compositioninsrc/Root.tsx - Add
schemaanddefaultProps - Compute duration in
calculateMetadata - Connect scenes in
src/Video.tsxusingTransitionSeries
Step 5: Scene Construction
- Build reusable components first in
src/components - Assemble scenes in
src/scenesusing those components - Use absolute positioning with constants for layout and timing
- Keep scene files focused on orchestration, not low-level UI details
Step 6: Typography Pass
Read references/typography-and-readability.md and set all major text sizes first.
- Apply the recommended size ranges for
1920x1080 - Respect hard minimums unless explicitly justified
- Confirm mobile/iOS readability before animation polish
Step 7: Motion Pass
- Use trapezoid fades for readability
- Use springs for entrances and cursor-like movement
- Add per-scene
exitOpacityto avoid overlap artifacts during transitions - Use overlays/captions to make phase changes explicit
Step 8: Timing Sanity Pass
Read references/timing-and-debug-loop.md and validate timing budgets:
- Check text dwell time and reading windows
- Check processing and result hold durations
- Check transition overlap and handoff timing
- Fix timeline constants before polish work
Step 9: QA Loop (Evidence Required)
- Capture key frames after each substantial change
- Review visual clarity, timing, overlap, and composition balance
- Record pass/fail evidence in a debug log
- Iterate until all critical checkpoints pass
Use scripts/capture-frames.sh when useful.
If image read tools fail or return no useful content, recapture and retry. Do not proceed with unverifiable checks.
Step 10: Final Validation
npx tsc --noEmitnpm run -s buildnpm run -s build:gifif available- Render final mp4 and verify runtime and output size
- Re-check key timestamps against intended scene behavior
Use scripts/verify-build.sh when useful.
Step 11: Handoff and Approval
- Report evidence-based QA summary (what passed/failed and why)
- List known compromises or residual risks
- Ask for explicit approval before commit/push/task completion
Output Format
When reporting work, include:
- Selected app type and blueprint
- Scene structure and final duration
- Main components implemented
- Key animation decisions
- Timing budget checks and results
- Validation commands and outcomes
- Remaining risks or follow-ups
Guardrails
- Use
Img + staticFile()for local images. - Load fonts at module scope, not inside effects.
- Keep
Sequencelayout and premount settings compatible. - Use typography hard minimums from
references/typography-and-readability.md. - Concentrate complex effects in one focal area.
- Do not optimize for too many goals in one cut; keep a single primary message.
- Never describe output as "perfect" without explicit evidence.
- Do not skip QA evidence even when render commands succeed.