| name | remotion-promo-video-factory |
| description | Build high-quality Remotion promo and intro videos for any app type (web, mobile, API/SDK, developer tool, AI product) using app-type blueprints, timeline patterns, and frame-capture QA. Use when users ask to create a product promo, teaser, app intro, UX flow video, or Remotion-based demo video. |
| metadata | {"tags":"remotion, promo, teaser, intro-video, app-demo, animation, timeline, qa"} |
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() with interpolate() and spring().
- 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, or 60s
- Assign scene durations before implementation
Step 4: Composition Setup
- Define
Composition in src/Root.tsx
- Add
schema and defaultProps
- Compute duration in
calculateMetadata
- Connect scenes in
src/Video.tsx using TransitionSeries
Step 5: Scene Construction
- Build reusable components first in
src/components
- Assemble scenes in
src/scenes using 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
exitOpacity to 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 --noEmit
npm run -s build
npm run -s build:gif if 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
Sequence layout 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.