remotion-best-practices

Create programmatic videos in React using Remotion components, animations, and media utilities.

Updated Jan 31, 2026
One-click install
npx skills add https://github.com/adrianasiam19/ATLAS --skill remotion-best-practices-adrianasiam19
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: remotion-best-practices
Source: https://github.com/adrianasiam19/ATLAS/tree/main/.agent/skills/remotion
Command: npx skills add https://github.com/adrianasiam19/ATLAS --skill remotion-best-practices-adrianasiam19

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires remotion, @remotion/media, @remotion/captions, @remotion/three, @remotion/media-utils, @remotion/paths, @remotion/lottie, @remotion/google-fonts, @remotion/fonts, @remotion/layout-utils, @remotion/light-leaks, @remotion/transitions, @remotion/zod-types, @remotion/gif, mediabunny, zod, mapbox-gl, @turf/turf, and includes references (resource) components.

What problem does it solve? Writing videos as code with Remotion requires framework-specific knowledge that generic React experience does not cover, such as frame-driven animation, asset loading, caption rendering, and media metadata extraction. This Skill provides the domain rules needed to produce correct, flicker-free Remotion compositions. ## Core Features & Use Cases - Project scaffolding and preview: Set up a new Remotion project with create-video and preview compositions in Remotion Studio. - Animation and sequencing rules: Drive all motion with useCurrentFrame(), interpolate, springs, Sequence, Series, and TransitionSeries while avoiding forbidden CSS animations. - Media handling: Embed images, videos, audio, GIFs, Lottie files, fonts, and 3D content, plus extract video duration, dimensions, and frames using Mediabunny. - Use Case: Build a captioned social media video by transcribing audio, rendering TikTok-style word-highlighted captions, adding sound effects, and rendering the final MP4 from the CLI. ## Quick Start Use the remotion skill to scaffold a new video project and create an animated title composition with a fade-in effect.

Frequently Asked Questions about remotion-best-practices

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a video with React using Remotion?▼

Scaffold a project with npx create-video@latest, define a Composition with width, height, fps, and durationInFrames in src/Root.tsx, then build your video as a React component. Preview it with npx remotion studio.

How do I animate elements in Remotion?▼

Drive all animations with the useCurrentFrame() hook combined with interpolate or spring, writing durations in seconds multiplied by fps. CSS transitions, CSS animations, and Tailwind animation classes are forbidden because they do not render correctly.

How do I add captions or subtitles to a Remotion video?▼

Install @remotion/captions, parse an .srt file with parseSrt() or generate captions from audio, then group them into pages with createTikTokStyleCaptions(). Render each page in a Sequence and highlight the active word using token timestamps.

Can I use Three.js 3D content inside Remotion?▼

Yes, install @remotion/three and wrap 3D content in ThreeCanvas with explicit width and height. All 3D animation must be driven by useCurrentFrame(); using useFrame() from @react-three/fiber is forbidden because it causes flickering during rendering.

How do I get a video's duration or dimensions in Remotion?▼

Use Mediabunny's Input with UrlSource or FileSource to read the file, then call computeDuration() for duration or read displayWidth and displayHeight from the primary video track. These values can feed calculateMetadata to set composition settings dynamically.

Why does my Remotion video flicker during rendering?▼

Flickering usually comes from animations not driven by useCurrentFrame(), such as CSS transitions, third-party library animations, or useFrame() in React Three Fiber. Replace them with frame-based interpolation and disable built-in animations in chart or map libraries.