remotion
Best practices and comprehensive guide for Remotion - programmatic video creation in React with animations, compositions, and media handling
Best use case
remotion is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Best practices and comprehensive guide for Remotion - programmatic video creation in React with animations, compositions, and media handling
Teams using remotion should expect a more consistent output, faster repeated execution, less prompt rewriting, better workflow continuity with your supporting tools.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
- You already have the supporting tools or dependencies needed by this skill.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/remotion/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How remotion Compares
| Feature / Agent | remotion | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Best practices and comprehensive guide for Remotion - programmatic video creation in React with animations, compositions, and media handling
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
ChatGPT vs Claude for Agent Skills
Compare ChatGPT and Claude for AI agent skills across coding, writing, research, and reusable workflow execution.
SKILL.md Source
# Remotion - Video Creation in React
Comprehensive skill set for creating programmatic videos using Remotion, a framework for creating videos programmatically using React.
## When to use
Use this skill whenever you are dealing with Remotion code to obtain domain-specific knowledge about:
- Creating video compositions with React components
- Animating elements using frame-based animations
- Working with audio, video, and image assets
- Building charts and data visualizations
- Implementing text animations and captions
- Using 3D content with Three.js
- Applying transitions and sequencing
- Integrating Tailwind CSS and Lottie animations
## Core Concepts
Remotion allows you to create videos using:
- **React Components**: Build video content with familiar React syntax
- **Frame-based Animations**: All animations driven by `useCurrentFrame()` hook
- **Compositions**: Define video compositions with duration, dimensions, and props
- **Assets**: Import and manipulate images, videos, audio, and fonts
- **Rendering**: Export videos programmatically with customizable settings
## Key Features
- Frame-by-frame control over animations
- Dynamic metadata calculation
- Media processing (trimming, volume, speed, pitch)
- Caption generation and display
- Data visualization with charts
- 3D content integration
- Professional text animations
- Scene transitions and sequencing
## How to use
Read individual rule files for detailed explanations and code examples:
### Core Animation & Timing
- **[references/animations.md](references/animations.md)** - Fundamental animation techniques for Remotion
- **[references/timing.md](references/timing.md)** - Interpolation curves: linear, easing, spring animations
- **[references/sequencing.md](references/sequencing.md)** - Delay, trim, and limit duration of items
- **[references/trimming.md](references/trimming.md)** - Cut the beginning or end of animations
### Compositions & Metadata
- **[references/compositions.md](references/compositions.md)** - Defining compositions, stills, folders, default props
- **[references/calculate-metadata.md](references/calculate-metadata.md)** - Dynamically set composition duration, dimensions, and props
### Assets & Media
- **[references/assets.md](references/assets.md)** - Importing images, videos, audio, and fonts
- **[references/images.md](references/images.md)** - Embedding images using the Img component
- **[references/videos.md](references/videos.md)** - Embedding videos with trimming, volume, speed, looping, pitch
- **[references/audio.md](references/audio.md)** - Using audio and sound with trimming, volume, speed, pitch
- **[references/gifs.md](references/gifs.md)** - Displaying GIFs synchronized with timeline
### Text & Typography
- **[references/text-animations.md](references/text-animations.md)** - Typography and text animation patterns
- **[references/measuring-text.md](references/measuring-text.md)** - Measuring text dimensions, fitting text, checking overflow
- **[references/fonts.md](references/fonts.md)** - Loading Google Fonts and local fonts
### Captions & Transcription
- **[references/display-captions.md](references/display-captions.md)** - Displaying captions with TikTok-style pages and word highlighting
- **[references/import-srt-captions.md](references/import-srt-captions.md)** - Importing .srt subtitle files using @remotion/captions
- **[references/transcribe-captions.md](references/transcribe-captions.md)** - Transcribing audio to generate captions
### Data Visualization
- **[references/charts.md](references/charts.md)** - Chart and data visualization patterns
### Advanced Features
- **[references/3d.md](references/3d.md)** - 3D content using Three.js and React Three Fiber
- **[references/lottie.md](references/lottie.md)** - Embedding Lottie animations
- **[references/transitions.md](references/transitions.md)** - Scene transition patterns
### Styling & Layout
- **[references/tailwind.md](references/tailwind.md)** - Using TailwindCSS in Remotion
- **[references/measuring-dom-nodes.md](references/measuring-dom-nodes.md)** - Measuring DOM element dimensions
### Media Processing (Mediabunny)
- **[references/can-decode.md](references/can-decode.md)** - Check if a video can be decoded by the browser
- **[references/extract-frames.md](references/extract-frames.md)** - Extract frames from videos at specific timestamps
- **[references/get-audio-duration.md](references/get-audio-duration.md)** - Getting the duration of an audio file
- **[references/get-video-dimensions.md](references/get-video-dimensions.md)** - Getting the width and height of a video file
- **[references/get-video-duration.md](references/get-video-duration.md)** - Getting the duration of a video file
## Quick Start Example
```tsx
import { useCurrentFrame, useVideoConfig, interpolate } from "remotion";
export const MyComposition = () => {
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
const opacity = interpolate(frame, [0, 2 * fps], [0, 1], {
extrapolateRight: 'clamp',
});
return (
<div style={{ opacity }}>
<h1>Hello Remotion!</h1>
</div>
);
};
```
## Best Practices
1. **Always use `useCurrentFrame()`** - Drive all animations from the current frame
2. **Avoid CSS animations** - They won't render correctly in videos
3. **Think in seconds** - Multiply time in seconds by `fps` for frame calculations
4. **Use interpolate for smooth animations** - Built-in interpolation with easing functions
5. **Clamp extrapolation** - Prevent values from exceeding intended ranges
6. **Test frequently** - Preview in Remotion Studio before rendering
## Resources
- **Documentation**: https://www.remotion.dev/docs
- **Repository**: https://github.com/remotion-dev/remotion
- **Skills Repository**: https://github.com/remotion-dev/skills
- **Community**: Discord and GitHub Discussions
- **License**: MITRelated Skills
remotion-best-practices
Best practices for Remotion - Video creation in React
async-python-patterns
Comprehensive guidance for implementing asynchronous Python applications using asyncio, concurrent programming patterns, and async/await for building high-performance, non-blocking systems.
slack-automation
Automate Slack workspace operations including messaging, search, channel management, and reaction workflows through Composio's Slack toolkit.
linear-automation
Automate Linear tasks via Rube MCP (Composio): issues, projects, cycles, teams, labels. Always search tools first for current schemas.
jira-automation
Automate Jira tasks via Rube MCP (Composio): issues, projects, sprints, boards, comments, users. Always search tools first for current schemas.
gitops-workflow
Complete guide to implementing GitOps workflows with ArgoCD and Flux for automated Kubernetes deployments.
github-automation
Automate GitHub repositories, issues, pull requests, branches, CI/CD, and permissions via Rube MCP (Composio). Manage code workflows, review PRs, search code, and handle deployments programmatically.
github-actions-templates
Production-ready GitHub Actions workflow patterns for testing, building, and deploying applications.
zustand-store-ts
Create Zustand stores following established patterns with proper TypeScript types and middleware.
zod-validation-expert
Expert in Zod — TypeScript-first schema validation. Covers parsing, custom errors, refinements, type inference, and integration with React Hook Form, Next.js, and tRPC.
tanstack-query-expert
Expert in TanStack Query (React Query) — asynchronous state management. Covers data fetching, stale time configuration, mutations, optimistic updates, and Next.js App Router (SSR) integration.
tailwind-design-system
Build production-ready design systems with Tailwind CSS, including design tokens, component variants, responsive patterns, and accessibility.