mcpbeat

Remotion Best Practices

gooseworks-ai/remotion-best-practices

Best practices for Remotion - Video creation in React

1k tokens
context cost
the whole folder, loaded on every use
2
files
instructions only
0
copies elsewhere
how many repositories repackaged it
1086
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/gooseworks-ai/goose-skills --skill remotion-best-practices

What comes with it

293 bytes besides the instruction
skill.meta.json

The instruction itself

5 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.

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.

Audio visualization

When needing to visualize audio (spectrum bars, waveforms, bass-reactive effects), load the ./rules/audio-visualization.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 - Interpolation curves in Remotion - linear, easing, spring animations
  • 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/voiceover.md - Adding AI-generated voiceover to Remotion compositions using ElevenLabs TTS

How to use it

Copy the folder

Take gooseworks-ai/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.