Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Monet-AI-Editor/Monet --skill remotion-skillgit clone --depth 1 https://github.com/Monet-AI-Editor/MonetWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/monet-ai-editor/monet/remotion-skill)<a href="https://agentmods.dev/skills/monet-ai-editor/monet/remotion-skill"><img src="https://agentmods.dev/badge/skills/monet-ai-editor/monet/remotion-skill/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/monet-ai-editor/monet/remotion-skill"><img src="https://agentmods.dev/badge/skills/monet-ai-editor/monet/remotion-skill.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00017 | $0.02383 |
| Opus 5.5 | $0.00007 | $0.00953 |
| Sonnet 5.5 | $0.00003 | $0.00477 |
| Haiku 4.5 | $0.00002 | $0.00238 |
Grade A, and why
remotion-best-practices scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
92% identical to remotion-best-practices — 4 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 341 lines — stays where its author put it; the contents beside it link to each section on GitHub.
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.
Designing a video
Animate properties using useCurrentFrame() and interpolate(). Use Easing to customize the timing of the animation.
import { useCurrentFrame, Easing } from "remotion";
export const FadeIn = () => {
const frame = useCurrentFrame();
const { fps } = useVideoConfig();
const opacity = interpolate(frame, [0, 2 * fps], [0, 1], {
extrapolateRight: "clamp",
extrapolateLeft: "clamp",
easing: Easing.bezier(0.16, 1, 0.3, 1),
});
return <div style={{ opacity }}>Hello World!</div>;
};
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 images using the <Img> component:
import { Img, staticFile } from "remotion";
export const MyComposition = () => {
return <Img src={staticFile("logo.png")} style={{ width: 100, height: 100 }} />;
};
Add videos using the <Video> component from @remotion/media:
import { Video } from "@remotion/media";
import { staticFile } from "remotion";
export const MyComposition = () => {
return <Video src={staticFile("video.mp4")} style={{ opacity: 0.5 }} />;
};
Add audio using the <Audio> component from @remotion/media:
import { Audio } from "@remotion/media";
import { staticFile } from "remotion";
export const MyComposition = () => {
return <Audio src={staticFile("audio.mp3")} />;
};
Assets can be also referenced as remote URLs:
import { Video } from "@remotion/media";
export const MyComposition = () => {
return <Video src="https://remotion.media/video.mp4" />
};
What ships with it
35 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- rules/3d.md 2.2 KB
- rules/audio-visualization.md 4.8 KB
- rules/audio.md 3.5 KB
- rules/calculate-metadata.md 3.2 KB
- rules/compositions.md 3.3 KB
- rules/display-captions.md 5.3 KB
- rules/ffmpeg.md 1.1 KB
- rules/get-audio-duration.md 1.3 KB
- rules/get-video-dimensions.md 1.6 KB
- rules/get-video-duration.md 1.3 KB
- rules/gifs.md 3.6 KB
- rules/google-fonts.md 1.7 KB
- rules/html-in-canvas.md 3.4 KB
- rules/images.md 1.4 KB
- rules/import-srt-captions.md 2.2 KB
- rules/light-leaks.md 2.3 KB
- rules/local-fonts.md 1.5 KB
- rules/lottie.md 1.8 KB
- rules/mapbox.md 11 KB
- rules/measuring-dom-nodes.md 973 B
- rules/measuring-text.md 2.7 KB
- rules/parameters.md 2.3 KB
- rules/sequencing.md 3.2 KB
- rules/sfx.md 867 B
- rules/silence-detection.md 2.5 KB
- rules/subtitles.md 922 B
- rules/tailwind.md 420 B
- rules/text-animations.md 700 B
- rules/timing.md 4.4 KB
- rules/transcribe-captions.md 1.9 KB
- rules/transitions.md 5.7 KB
- rules/transparent-videos.md 2.2 KB
- rules/trimming.md 1.2 KB
- rules/videos.md 3.4 KB
- rules/voiceover.md 3.2 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 341 lines · 17 tokens per session scan A c802b22ed319
remotion-best-practices is a skill published in the GitHub repository Monet-AI-Editor/Monet (119 stars, last pushed 3mo ago), licensed MIT. It adds 17 tokens to every session and 2,383 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 92% identical to remotion-best-practices, differing in 4 lines, and is treated as a copy.
Other skills, from other repositories
nextjs
Use when building, reviewing, testing, securing, or optimizing a Next.js App Router app: Server vs Client boundaries, use server actions, route handlers, the v15 vs v16 use cache caching model, metadata/SEO, auth, and Core Web Vitals. NOT framework-agnostic React or a Vite SPA (that is react), and NOT visual/UI design…
react
Use when building or reviewing a client-side React SPA bundled by Vite (React 19.2): components, where state lives, hooks, server data fetching, client routing, re-render and effect bugs. NOT App Router / server components / SSR (that is nextjs); NOT native screens (that is react-native).
ask-sonner
Sonner, the React toast library: mounting Toaster once, toast() calls, promise and loading toasts, updating, dismissing, styling, theming, dark mode, positioning. Use when toasts do not appear, appear twice, sit behind a modal, ignore Tailwind classes, or do nothing from a server action.
routing-state
Use when adding routes or deciding where state lives - carry resource ids and navigation-surviving state in the URL, keep route components thin, and lift shared state to a hook not a global store.
rudder
Use locally captured coding-session intent to resolve a device-local behavioral spec, generate focused tests from that spec, implement the smallest production changes through red-green TDD, and verify coverage with the repository's native tooling. Use when the user asks to run Rudder, create or regenerate tests for…
animate-expo
Build animation and gestures in React Native and Expo with Reanimated worklets on the UI thread — sheets, drawers, screen transitions, swipe, drag, press feedback, haptics. Use when adding gestures to an Expo app, or when motion stutters, janks or drops frames on a real Android or iOS device.