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 CraftOS-dev/CraftBot --skill remotion-best-practicesgit clone --depth 1 https://github.com/CraftOS-dev/CraftBotWrote 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/craftos-dev/craftbot/remotion-best-practices)<a href="https://agentmods.dev/skills/craftos-dev/craftbot/remotion-best-practices"><img src="https://agentmods.dev/badge/skills/craftos-dev/craftbot/remotion-best-practices/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/craftos-dev/craftbot/remotion-best-practices"><img src="https://agentmods.dev/badge/skills/craftos-dev/craftbot/remotion-best-practices.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 4 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium MCP Rug Pull · line 17 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
- medium Data Exfiltration · line 164 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium MCP Rug Pull · line 199 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
- medium MCP Rug Pull · line 208 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
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.02378 |
| Opus 5.5 | $0.00007 | $0.00951 |
| Sonnet 5.5 | $0.00003 | $0.00476 |
| 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.
Copies of this mod
5 near-identical copies found in the catalogue:
- remotion-best-practices — 100% identical, 0 lines differ
- remotion-best-practices — 100% identical, 0 lines differ
- remotion-best-practices — 100% identical, 0 lines differ
- remotion-best-practices — 100% identical, 0 lines differ
- remotion-best-practices — 92% identical, 4 lines differ
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
38 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/assets/charts-bar-chart.tsx 3.3 KB
- rules/assets/text-animations-typewriter.tsx 2.1 KB
- rules/assets/text-animations-word-highlight.tsx 2.3 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.5 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/maplibre.md 12 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 829d9e0b1c5a
remotion-best-practices is a skill published in the GitHub repository CraftOS-dev/CraftBot (400 stars, last pushed yesterday), licensed MIT. It adds 17 tokens to every session and 2,378 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
web-artifacts-builder
Suite of tools for creating elaborate, multi-component HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn/ui). Use for complex artifacts requiring state management, routing, or shadcn/ui components - not for simple single-file HTML/JSX artifacts.
material-ui-tailwind
Integrates Material UI with Tailwind CSS v4 using cascade layers (enableCssLayer, @layer order) and documents Tailwind v3 interoperability (preflight, important, injectFirst, portals). Use when combining MUI with Tailwind utilities, slotProps className, or theme token bridges.
r3f-best-practices
React Three Fiber (R3F) and Poimandres ecosystem best practices. Use when writing, reviewing, or optimizing R3F code. Triggers on tasks involving @react-three/fiber, @react-three/drei, zustand, @react-three/postprocessing, @react-three/rapier, or leva.
fast-typescript-check
Keep www-sacred's TypeScript fast to type-check and fast to run. Use when touching the ASCII/canvas animation components (the only real per-frame code here), tightening type-check wall-clock, or auditing a change for runtime or compiler regressions. Scoped to this repo — a React 19 / Next.js 16 component library plus…
react-native-ease-refactor
Scan for Animated/Reanimated code and migrate to EaseView.
implementation-readiness
Verify BRD-lite, PRD, SRS/FRS, UX, and test prerequisites before implementation starts.