Remotion transitions
Build custom scene transitions in Remotion using a plugin with animation math, timing patterns, and ready-to-use examples.
npx -y skills add delphinereverse794/remotion-transitionsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
This skill should be used when the user asks to create custom Remotion transitions, asks about "cool transitions", "cinematic transitions", "striped transitions", "glitch transitions", "custom TransitionPresentation", or wants to build scene-to-scene transitions in Remotion beyond the built-in library. Also triggers for "how to make transitions in Remotion", "custom transition", "high-energy transitions", "energy transitions", "branded transitions".
SKILL.md
2.6 KB, 471 tokens by cl100k_base, as published. Nobody here has run it
Remotion 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
Gives 0 of the 12 instructions most video audio skills give in 471 tokens
Counted across 622 of the 795 authors here whose files we hold, read 2026-08-07
- read individual rule files for detailed explanationsin 21 of 622, across 10 files
- render final videoin 13 of 622, across 6 files
- Use WAV PCM 16kHz mono audio formatin 12 of 622, across 3 files
- Use this skill when dealing with Remotion codein 11 of 622, across 4 files
- save generated audio to a WAV filein 11 of 622, across 4 files
- handle conversion errors gracefullyin 10 of 622, across 6 files
- add captions to videos alwaysin 10 of 622, across 4 files
- generate music from text descriptions using MusicGenin 9 of 622, across 2 files
- do not skip pipeline layersin 9 of 622, across 3 files
- do not make one tool do everythingin 9 of 622, across 3 files
- use azure document intelligence for complex pdfsin 9 of 622, across 4 files
- never ask the user to paste their full API keyin 9 of 622, across 3 files
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.