About remotion-transitions
remotion-transitions is a skill for developers building video animations in Remotion. It explains the TransitionPresentation API and provides six transition examples alongside guidance on animation timing.
Key features
- 01Explains the TransitionPresentation API
- 02Includes six transition examples
- 03Covers easing and stagger formulas
- 04Describes spring configs and clamping
Use cases
- 01Build custom transitions between Remotion scenes
- 02Adjust transition timing and easing
- 03Adapt an example transition effect
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ ashad001/ remotion-transitions --skill remotion-transitionsAfter installing, type/remotion-transitionsin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
README.mdskills-lock.jsonLICENSECHANGELOG.md.claude-plugin/plugin.jsonreferences/custom-transition-pattern.mdanimation-math.mdtransition-catalog.mdDetails
From the project READMERemotion Custom Transitions
This skill teaches you how to build production-grade, high-energy custom transitions in Remotion using the TransitionPresentation API — the same pattern used in Fyltr's Instagram Reel campaign.
Quick Reference
- Custom Transition Pattern — The
TransitionPresentationAPI, the exact component shape, and how timing works - Transition Catalog — 6 battle-tested transitions with full source: Striped Slam, Zoom Punch, Diagonal Reveal, Emerald Burst, Vertical Shutter, Glitch Slam
- Animation Math — Easing functions, stagger formulas, spring configs, and the
clampextrapolation pattern used throughout
Core Concept
Remotion's @remotion/transitions package exposes a TransitionPresentation type. You implement a component that receives:
presentationProgress—0at transition start →1at transition endpresentationDirection—"exiting"(old scene) or"entering"(new scene)children— the scene being wrapped
The same component wraps both scenes simultaneously. You animate different things depending on direction.
Golden Rules
- Never use CSS transitions/animations — all motion via
interpolate()/spring()driven bypresentationProgress - Never use
useCurrentFrame()inside a transition component — usepresentationProgressonly - Always return
{ component, props: {} }— thepropsobject must exist even if empty - Create instances outside components at module level to keep them stable across re-renders
- Pair with
linearTiming(for dramatic frame-perfect transitions) orspringTiming(for springy physics)
When to Load References
- Building a new custom transition → load custom-transition-pattern.md first
- Copying/adapting an existing effect → load transition-catalog.md
- Debugging timing or easing math → load animation-math.md