mcpbeat

Remotion Best Practices

vercel/remotion-best-practices

Best practices for Remotion - Video creation in React

30k tokens
context cost
the whole folder, loaded on every use
42
files
instructions only
0
copies elsewhere
how many repositories repackaged it
3
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/vercel/bash-video --skill remotion-best-practices

What comes with it

110 728 bytes besides the instruction
rules/3d.md
rules/animations.md
rules/assets.md
rules/assets/charts-bar-chart.tsx
rules/assets/text-animations-typewriter.tsx
rules/assets/text-animations-word-highlight.tsx
rules/audio-visualization.md
rules/audio.md
rules/calculate-metadata.md
rules/can-decode.md
rules/charts.md
rules/compositions.md
rules/display-captions.md
rules/extract-frames.md
rules/ffmpeg.md
rules/fonts.md
rules/get-audio-duration.md
rules/get-video-dimensions.md
rules/get-video-duration.md
rules/gifs.md
rules/images.md
rules/import-srt-captions.md
rules/light-leaks.md
rules/lottie.md
rules/maps.md
rules/measuring-dom-nodes.md
rules/measuring-text.md
rules/parameters.md
rules/sequencing.md
rules/sfx.md
rules/silence-detection.md
rules/subtitles.md
rules/tailwind.md
rules/text-animations.md
rules/timing.md
rules/transcribe-captions.md
rules/transitions.md
rules/transparent-videos.md
rules/trimming.md
rules/videos.md

The instruction itself

10 sections, as written by the author

When to use

Use this skills whenever you are dealing with Remotion code to obtain the domain-specific knowledge.

New project setup

When in an empty folder or workspace with no existing Remotion project, scaffold one using:

npx create-video@latest --yes --blank --no-tailwind my-video

Replace my-video with a suitable project name.

Starting preview

Stsrt the Remotion Studio to preview a video:

npx remotion studio

Optional: one-frame render check

You can render a single frame with the CLI to sanity-check layout, colors, or timing.

Skip it for trivial edits, pure refactors, or when you already have enough confidence from Studio or prior renders.

npx remotion still [composition-id] --scale=0.25 --frame=30

At 30 fps, --frame=30 is the one-second mark (--frame is zero-based).

Captions

When dealing with captions or subtitles, load the ./rules/subtitles.md file for more information.

Using FFmpeg

For some video operations, such as trimming videos or detecting silence, FFmpeg should be used. Load the ./rules/ffmpeg.md file for more information.

Silence detection

When needing to detect and trim silent segments from video or audio files, load the ./rules/silence-detection.md file.

Audio visualization

When needing to visualize audio (spectrum bars, waveforms, bass-reactive effects), load the ./rules/audio-visualization.md file for more information.

Sound effects

When needing to use sound effects, load the ./rules/sfx.md file for more information.

How to use

Read individual rule files for detailed explanations and code examples:

  • rules/3d.md - 3D content in Remotion using Three.js and React Three Fiber
  • rules/animations.md - Fundamental animation skills for Remotion
  • rules/assets.md - Importing images, videos, audio, and fonts into Remotion
  • rules/audio.md - Using audio and sound in Remotion - importing, trimming, volume, speed, pitch
  • rules/calculate-metadata.md - Dynamically set composition duration, dimensions, and props
  • rules/can-decode.md - Check if a video can be decoded by the browser using Mediabunny
  • rules/charts.md - Chart and data visualization patterns for Remotion (bar, pie, line, stock charts)
  • rules/compositions.md - Defining compositions, stills, folders, default props and dynamic metadata
  • rules/extract-frames.md - Extract frames from videos at specific timestamps using Mediabunny
  • rules/fonts.md - Loading Google Fonts and local fonts in Remotion
  • rules/get-audio-duration.md - Getting the duration of an audio file in seconds with Mediabunny
  • rules/get-video-dimensions.md - Getting the width and height of a video file with Mediabunny
  • rules/get-video-duration.md - Getting the duration of a video file in seconds with Mediabunny
  • rules/gifs.md - Displaying GIFs synchronized with Remotion's timeline
  • rules/images.md - Embedding images in Remotion using the Img component
  • rules/light-leaks.md - Light leak overlay effects using @remotion/light-leaks
  • rules/lottie.md - Embedding Lottie animations in Remotion
  • rules/measuring-dom-nodes.md - Measuring DOM element dimensions in Remotion
  • rules/measuring-text.md - Measuring text dimensions, fitting text to containers, and checking overflow
  • rules/sequencing.md - Sequencing patterns for Remotion - delay, trim, limit duration of items
  • rules/tailwind.md - Using TailwindCSS in Remotion
  • rules/text-animations.md - Typography and text animation patterns for Remotion
  • rules/timing.md - Timing with interpolate and Bézier easing, springs
  • rules/transitions.md - Scene transition patterns for Remotion
  • rules/transparent-videos.md - Rendering out a video with transparency
  • rules/trimming.md - Trimming patterns for Remotion - cut the beginning or end of animations
  • rules/videos.md - Embedding videos in Remotion - trimming, volume, speed, looping, pitch
  • rules/parameters.md - Make a video parametrizable by adding a Zod schema
  • rules/maps.md - Add a map using Mapbox and animate it
  • rules/silence-detection.md - Adaptive silence detection using FFmpeg loudnorm and silencedetect
  • rules/voiceover.md - Adding AI-generated voiceover to Remotion compositions using ElevenLabs TTS

How to use it

Copy the folder

Take vercel/remotion-best-practices from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference npx. Without those the skill loads but fails at the first command.