Remotion Best Practices
lyonjs/shortvid.io
Best practices for Remotion - Video creation in React. An agent skill from lyonjs/shortvid.io.
Best practices for writing Remotion React Markup. An agent skill from guanyang/open-agent-hub.
$ npx skills add guanyang/open-agent-hub --skill remotion-markup -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install guanyang/open-agent-hub remotion-markup --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/guanyang/open-agent-hub.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/remotion-best-practices/remotion-markup .claude/skills/remotion-markup && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "remotion-markup" agent skill from https://github.com/guanyang/open-agent-hub/tree/main/skills/remotion-best-practices/remotion-markup into .claude/skills/remotion-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "remotion-markup", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/guanyang/open-agent-hub/tree/main/skills/remotion-best-practices/remotion-markupType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add guanyang/open-agent-hub --skill remotion-markup -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install guanyang/open-agent-hub remotion-markup --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/guanyang/open-agent-hub.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/remotion-best-practices/remotion-markup .agents/skills/remotion-markup && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "remotion-markup" agent skill from https://github.com/guanyang/open-agent-hub/tree/main/skills/remotion-best-practices/remotion-markup into .agents/skills/remotion-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "remotion-markup", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add guanyang/open-agent-hub --skill remotion-markup -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install guanyang/open-agent-hub remotion-markup --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/guanyang/open-agent-hub.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/remotion-best-practices/remotion-markup .cursor/skills/remotion-markup && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "remotion-markup" agent skill from https://github.com/guanyang/open-agent-hub/tree/main/skills/remotion-best-practices/remotion-markup into .cursor/skills/remotion-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "remotion-markup", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/guanyang/open-agent-hub.git --path skills/remotion-best-practices/remotion-markup--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add guanyang/open-agent-hub --skill remotion-markup -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install guanyang/open-agent-hub remotion-markup --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/guanyang/open-agent-hub.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/remotion-best-practices/remotion-markup .gemini/skills/remotion-markup && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "remotion-markup" agent skill from https://github.com/guanyang/open-agent-hub/tree/main/skills/remotion-best-practices/remotion-markup into .gemini/skills/remotion-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "remotion-markup", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install guanyang/open-agent-hub remotion-markupInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add guanyang/open-agent-hub --skill remotion-markup -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/guanyang/open-agent-hub.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/remotion-best-practices/remotion-markup .github/skills/remotion-markup && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "remotion-markup" agent skill from https://github.com/guanyang/open-agent-hub/tree/main/skills/remotion-best-practices/remotion-markup into .github/skills/remotion-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "remotion-markup", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add guanyang/open-agent-hub --skill remotion-markup -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install guanyang/open-agent-hub remotion-markup --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/guanyang/open-agent-hub.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/remotion-best-practices/remotion-markup .opencode/skills/remotion-markup && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "remotion-markup" agent skill from https://github.com/guanyang/open-agent-hub/tree/main/skills/remotion-best-practices/remotion-markup into .opencode/skills/remotion-markup/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "remotion-markup", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
remotion-markupBest practices for writing Remotion React Markup. An agent skill from guanyang/open-agent-hub.
Remotion Markup is an agent skill from guanyang/open-agent-hub. Best practices for writing Remotion React Markup
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 92 other files, including assets (for example `3d.md`, `REFERENCE.md` and `agents/openai.yaml`).
It sits in Media & Creative, covering Video production. It works with Remotion and React. The repository describes itself as: A lightweight, zero-dependency CLI tool to manage and activate capabilities for AI coding assistants (such as Claude Code, Cursor, Trae, etc.). The licence is MIT.
Read from SKILL.md and the folder at commit acd7c6c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
remotion.mediaAlso links to:
remotion.devFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Remotion Markup loads about 2.4k tokens when it runs. Until then it costs about 16 tokens; SKILL.md has 805 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from guanyang/open-agent-hub at commit acd7c6c, republished under its MIT licence (© guanyang). 805 words, ~2,369 tokens.
.claude/skills/remotion-markup/SKILL.md (or your agent's skills folder). This skill also uses 90 other files; get the full folder from GitHub.This is guidance for writing Remotion React Markup. If this is not relevant, load Remotion Best Practices instead.
Animate properties using useCurrentFrame() and interpolate().
Use interpolate() over spring().
Use Easing.bezier() to customize timing, including jumpy or overshooting motion.
Use Easing.spring() if you want spring animations
HTML Elements which make sense to be made interactive in the Studio should use Interactive: <div> -> <Interactive.Div>.
Set a descriptive name prop such as name="Hero title" for Interactive, Solid, Sequence.
import { useCurrentFrame, Easing, interpolate, Interactive } from "remotion";
export const FadeIn = () => {
const frame = useCurrentFrame();
return (
<Interactive.Div
name="Title"
style={{
opacity: interpolate(frame, [0, 60], [0, 1], {
extrapolateRight: "clamp",
extrapolateLeft: "clamp",
easing: Easing.bezier(0.16, 1, 0.3, 1),
}),
}}
>
Hello World!
</Interactive.Div>
);
};Keep the interpolate() call inline in the style prop.
Prefer scale, translate, rotate CSS properties over transform.
// 👍 Inline editable keyframes and transform shorthands
style={{
scale: interpolate(frame, [0, 100], [0, 1]),
translate: interpolate(frame, [0, 100], ["0px 0px", "100px 100px"]),
rotate: interpolate(frame, [0, 100], ["20deg", "90deg"]),
}}
// 👎 Hidden values and transform strings become harder to edit in Studio
const scale = interpolate(frame, [0, 100], [0, 1]);
style={{
transform: `scale(${scale})`,
}}CSS transitions or animations are FORBIDDEN - they will not render correctly.
Tailwind animation class names are FORBIDDEN - they will not render correctly.
Place assets in the public/ folder at your project root.
Use staticFile() to reference files from the public/ folder.
Add video and audio using @remotion/media.
Add images using the <Img> component.
Use staticFile() for files in public/ or pass a remote URL directly:
import { Audio, Video } from "@remotion/media";
import { staticFile } from "remotion";
export const MyComposition = () => {
return (
<>
<Video src={staticFile("video.mp4")} style={{ opacity: 0.5 }} />
<Audio src={staticFile("audio.mp3")} />
<Img src={staticFile("logo.png")} style={{ width: 100, height: 100 }} />
<Video src="https://remotion.media/video.mp4" />
</>
);
};To delay content wrap it in <Sequence> and use from.
To limit the duration of an element, use durationInFrames of <Sequence>.
<Sequence> by default is an absolute fill covering the scene.
For inline content, use layout="none".
const Main = () => {
const {fps} = useVideoConfig();
return (
<AbsoluteFill>
<Sequence name="Background">
<Background />
</Sequence>
<Sequence name="Title" from={30} durationInFrames={60} layout="none">
<Title />
</Sequence>
<Sequence name="Subtitle" from={60} durationInFrames={60} layout="none">
<Subtitle />
</Sequence>
</AbsoluteFill>
);
}
export const Title = () => {
const frame = useCurrentFrame();
return (
<div
style={{
opacity: interpolate(frame, [0, 60], [0, 1], {
extrapolateRight: "clamp",
extrapolateLeft: "clamp",
easing: Easing.bezier(0.16, 1, 0.3, 1),
}),
}}
>
Title
</div>
);
};
export const Subtitle = () => {
return <div>Subtitle</div>;
};See map.md for choosing between simple static maps, Mapbox maps, and MapLibre maps.
See text-highlights.md for text highlights (highlight markers), circles, underlines, strike-throughs, crossed-off text, boxes, and brackets.
See voiceover.md for adding AI-generated voiceover to Remotion compositions using ElevenLabs TTS.
See trimming.md for trimming patterns - cutting the beginning or end of animations.
See embedding-videos.md for advanced knowledge about embedding videos - trimming, volume, speed, looping, pitch.
See video-editing.md for structuring editable video timelines in Remotion Studio.
See audio.md for advanced audio features like trimming, volume, speed, pitch.
See transitions.md for scene transition patterns.
When creating a visual effect, prefer: 1. normal Remotion/HTML/CSS/SVG/filter/blend/mask animation, 2. a listed effect via effects.md, including on HTML rendered through <HtmlInCanvas>, 3. a custom createEffect() via effects.md when the user asks for a reusable/project-specific effect, 4. custom <HtmlInCanvas onPaint> via html-in-canvas.md only if no effect fits.
For light leak overlays, see light-leaks.md. Docs: https://www.remotion.dev/docs/effects
Available effects: brightness(), contrast(), colorKey(), duotone(), grayscale(), hue(), invert(), saturation(), tint(), linearGradient(), linearGradientTint(), thermalVision(), blur(), linearProgressiveBlur(), radialProgressiveBlur(), zoomBlur(), dropShadow(), glow(), lightTrail(), evolve(), venetianBlinds(), mirror(), scale(), uvTranslate(), xyTranslate(), barrelDistortion(), chromaticAberration(), fisheye(), cornerPin(), wave(), burlap(), emboss(), dotGrid(), halftone(), noise(), noiseDisplacement(), paper(), roughenEdges(), pattern(), pixelate(), pixelDissolve(), scanlines(), speckle(), shine(), shrinkwrap(), vignette(), contourLines(), checkerboard(), halftoneLinearGradient(), gridlines(), whiteNoise(), tvSignalOff(), lines(), rings(), waves(), zigzag(), lightLeak(), starburst().
See 3d.md for 3D content in Remotion using Three.js and React Three Fiber.
When needing to use sound effects, load the ./sfx.md file for more information.
When needing to visualize audio (spectrum bars, waveforms, bass-reactive effects), load the ./audio-visualization.md file for more information.
When dealing with captions or subtitles, load the Remotion Captions skill for more information.
Is the recommended way to load fonts in Remotion. See google-fonts.md for how to load Google Fonts.
See local-fonts.md for how to load local fonts.
See gifs.md for how to display GIFs synchronized with Remotion's timeline.
See images.md for sizing and positioning images, dynamic image paths, and getting image dimensions.
See lottie.md for embedding Lottie animations in Remotion.
See timing.md for advanced timing with interpolate and Bézier easing, and springs.
See parameters.md for making a composition parametrizable by adding a Zod schema.
See measuring-dom-nodes.md for measuring DOM element dimensions in Remotion.
See measuring-text.md for measuring text dimensions, fitting text to containers, and checking overflow.
For some video operations, such as trimming videos or detecting silence, FFmpeg should be used. Load the ./ffmpeg.md file for more information.
When needing to detect and trim silent segments from video or audio files, load the ./silence-detection.md file.
See calculate-metadata.md for dynamically set composition duration, dimensions, and props.
See compositions.md for how to define stills, folders, default props and for how to nest compositions.
See sequencing.md for more sequencing patterns - delay, trim, limit duration of items.
Use npx remotion add to add new packages with the right version:
npx remotion add @remotion/mediaThis goes for @remotion/* packages, mediabunny, @mediabunny/*, and zod.
Only do this if you think the user wants to see the preview.
npx remotion studio --no-openThis will start a long-running process and print the server URL for the preview.
If already started, the URL will be printed.
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=30At 30 fps, --frame=30 is the one-second mark (--frame is zero-based).
© guanyang, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 90 other files (assets) in skills/remotion-best-practices/remotion-markup of guanyang/open-agent-hub.
Open the folder on GitHubat commit acd7c6c
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in guanyang/open-agent-hub, which our catalogue first saw on October 7, 2026.
Remotion Markup next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Remotion Markup this skillguanyang/open-agent-hub | 977 | 1 repos | ~2.4k | Automated safety check: Pass | MIT | |
| Remotion Best Practiceslyonjs/shortvid.io | 147 | 33 repos | ~1k | Automated safety check: Pass | MIT | |
| Remotion to HyperFrames Porterheygen-com/hyperframes | 60k | 3 repos | ~2.8k | Automated safety check: Pass | Apache-2.0 | |
| Anything2explainerVincentwei1021/anything2explainer | 2.4k | — | ~2.7k | Automated safety check: Pass | Custom licence | |
| Remotion Motion Graphicshaidrrrry/claude-remotion-skill | 340 | — | ~2k | Automated safety check: Pass | MIT | |
| Remotion BitsMarve10s/Better-Fullstack | 756 | 1 repos | ~8.2k | Automated safety check: Pass | MIT |
lyonjs/shortvid.io
Best practices for Remotion - Video creation in React. An agent skill from lyonjs/shortvid.io.
heygen-com/hyperframes
Ports an existing Remotion (React) composition to HyperFrames HTML with GSAP, one way, and grades the result against a tiered set of reference fixtures.
Vincentwei1021/anything2explainer
给一个主题,产出一条黑底 MG 风格(幕底可选星点或点阵波)、有配音字幕章节进度条的科普讲解视频(中文或英文;Remotion 代码动画;时长由用户定,常用 3–5 分钟)。内含可编译模板、图元库、配音/分镜/渲染工具、风格与动效规范、多 agent 分工协议与 QC 判据,以及一条完整样片(《RAG 与知识库》)作为质量标尺。Turn any topic into a narrated…
haidrrrry/claude-remotion-skill
Create and edit professional motion graphics videos with Remotion (React-based video).
Marve10s/Better-Fullstack
Animation components and utilities for Remotion video projects.
Marve10s/Better-Fullstack
Create Remotion videos using the Geist design system aesthetic.
guanyang/open-agent-hub
This skill should be used when long-running agent sessions need context compression, structured summarization, compaction, token-per-task optimization, or durable handoff summaries that preserve…
guanyang/open-agent-hub
This skill should be used to explain or reason about the foundational concepts of context engineering: what context is, the anatomy of a context window, how attention mechanics work, the U-shaped…
guanyang/open-agent-hub
This skill should be used when building agent evaluation systems: deterministic checks, regression suites, multi-dimensional rubrics, quality gates, production monitoring, baseline comparison, and…
guanyang/open-agent-hub
This skill should be used when designing multi-agent systems that need context isolation, supervisor or swarm coordination, explicit handoffs, parallel execution, or a decision on whether multiple…
guanyang/open-agent-hub
This skill should be used for project-level decisions about LLM-powered systems: whether an LLM is the right primitive for the task at hand, the shape of a multi-stage batch or agent pipeline, token…
guanyang/open-agent-hub
This skill should be used for the tool-interface layer of an agent system specifically: writing tool descriptions agents can route on, designing tool schemas and response formats, naming…
Categories
Best practices for writing Remotion React Markup. An agent skill from guanyang/open-agent-hub. Remotion Markup is an agent skill from guanyang/open-agent-hub.
Remotion Markup fits situations like: tasks that involve Video production.
Run `npx skills add guanyang/open-agent-hub --skill remotion-markup -a claude-code`. Or copy the skill folder (skills/remotion-best-practices/remotion-markup in guanyang/open-agent-hub) into .claude/skills/remotion-markup in your project. Claude Code loads it when a task matches its description.
Run `npx skills add guanyang/open-agent-hub --skill remotion-markup -a codex`. Or copy the skill folder (skills/remotion-best-practices/remotion-markup in guanyang/open-agent-hub) into .agents/skills/remotion-markup in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add guanyang/open-agent-hub --skill remotion-markup -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/remotion-markup, .gemini/skills/remotion-markup, .github/skills/remotion-markup and .opencode/skills/remotion-markup in your project.
Going by SKILL.md and its folder, Remotion Markup needs the command-line tools its instructions call (npx). Our summary lists: Node.js.
SKILL.md names 2 domains. In commands or code: remotion.media; the agent is likely to contact it when it follows the instructions. As links in the text: remotion.dev. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Remotion Markup is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Remotion Markup: Remotion Best Practices (lyonjs/shortvid.io, 147 stars), Remotion to HyperFrames Porter (heygen-com/hyperframes, 60k stars), Anything2explainer (Vincentwei1021/anything2explainer, 2.4k stars) and Remotion Motion Graphics (haidrrrry/claude-remotion-skill, 340 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
guanyang (a GitHub user) maintains it in guanyang/open-agent-hub, which has 977 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 10, 2026.
Source: guanyang/open-agent-hub on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.