Agent skill

Remotion Video

by Mathews-Tom in Mathews-Tom/armory

Create motion graphics and videos using Remotion (React) with audio sync, web fonts, and TailwindCSS.

MITAuto-check passedMedia & Creative

Install Remotion Video

skills CLI
$ npx skills add Mathews-Tom/armory --skill remotion-video -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Mathews-Tom/armory remotion-video --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Mathews-Tom/armory.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/remotion-video .claude/skills/remotion-video && rm -rf skills-src

Use ~/.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/

Facts

Skill name
remotion-video
GitHub stars
329
Token cost
~3.1k tokens
SKILL.md length
1,001 words
Files
20 (incl. scripts, references)
Skills in repo
80
Repo updated
First seen
Licence
MIT

At a glance

Create motion graphics and videos using Remotion (React) with audio sync, web fonts, and TailwindCSS.

  • Works in 7 steps: Ensure Dependencies → Scaffold the Project → Interpret the Concept → …
  • : create a Remotion video
  • SKILL.md covers Reference Files, Why Remotion, Workflow and Step 0: Ensure Dependencies, plus 10 more sections
  • Calls npm, bash and node

What it does

Remotion Video is an agent skill from Mathews-Tom/armory. Create motion graphics and videos using Remotion (React) with audio sync, web fonts, and TailwindCSS. Triggers on: "create a Remotion video", "React video", "motion graphics", "branded video", "product demo video", "video with voiceover". NOT for math animations, use concept-to-video.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 23 other files, including scripts and reference files (for example `evals/cases.yaml`, `references/rules/animations.md` and `references/rules/audio.md`).

It sits in Media & Creative, covering Video production. It works with Remotion, React and Tailwind CSS. The repository describes itself as: Curated, production-grade skills for AI coding agents. Battle-tested workflows for developers who use AI seriously. The licence is MIT.

When your agent uses it

  • : create a Remotion video
  • Motion graphics
  • Product demo video
  • Video with voiceover

Example prompts

  • “create a Remotion video”
  • “React video”
  • “motion graphics”
  • “/remotion-video”

Requirements

  • Node.js

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Ensure Dependencies
  2. Scaffold the Project
  3. Interpret the Concept
  4. Compose the Components
  5. Preview
  6. Iterate
  7. Render

What it can do on your machine

Read from SKILL.md and the folder at commit 4594fb7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • npm
    • bash
    • node
    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Remotion Video loads about 3.1k tokens when it runs, and up to ~35k if it reads all its reference files. Until then it costs about 75 tokens; SKILL.md has 1,001 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~75
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~35k

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.

Safety

Auto-check passed

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); the scripts in this folder are not scanned.

SKILL.md

The full file from Mathews-Tom/armory at commit 4594fb7, republished under its MIT licence (© Mathews-Tom). 1,001 words, ~3,057 tokens.

Download SKILL.mdSave it as .claude/skills/remotion-video/SKILL.md (or your agent's skills folder). This skill also uses 19 other files; get the full folder from GitHub.
name
remotion-video
description
Create motion graphics and videos using Remotion (React) with audio sync, web fonts, and TailwindCSS. Triggers on: "create a Remotion video", "React video", "motion graphics", "branded video", "product demo video", "video with voiceover". NOT for math animations, use concept-to-video.
metadata.version
1.1.1
metadata.category
business
metadata.tags
video, react, remotion, motion-graphics
metadata.difficulty
advanced

Remotion Video

Creates production-grade videos using Remotion — a React framework where video is code. Every frame is a React component. Animations use spring physics and frame-based interpolation.

Reference Files

FilePurpose
references/rules/fundamentals.mduseCurrentFrame, useVideoConfig, interpolate, spring, core hooks
references/rules/animations.mdEasing, spring config, interpolateColors, timing patterns
references/rules/compositions.mdComposition, registerRoot, Folder, calculateMetadata
references/rules/media.mdImg, Video, OffthreadVideo, Audio, staticFile, async loading
references/rules/text-and-fonts.mdGoogle Fonts, local fonts, text measurement, typography
references/rules/tailwind.mdTailwindCSS integration, utility-first styling in Remotion
references/rules/audio.mdAudio component, volume curves, trimming, frame-synced audio
references/rules/subtitles.mdCaption system, SRT/VTT parsing, word-level timing
references/rules/three-d.md@remotion/three, ThreeCanvas, React Three Fiber integration
references/rules/charts.mdBar, pie, line chart animation patterns
references/rules/rendering.mdCLI render, renderMedia API, quality presets
references/rules/data-driven.mdDataset rendering, batch generation, parametric compositions
references/templates/explainer.tsxParametric tech explainer template
references/templates/product-demo.tsxProduct showcase template
references/templates/data-viz.tsxAnimated chart composition template
scripts/scaffold_project.shBootstrap a new Remotion project with TailwindCSS
scripts/render.shRender wrapper with quality presets and format options

Why Remotion

Remotion treats video as a React application. Each frame is a pure function of time — given frame N and total frames F, your component renders deterministically. This means:

  • Component composition: Nest scenes, reuse components, apply CSS.
  • Spring physics: spring() gives natural motion without hand-tweaking cubic beziers.
  • Asset pipeline: Import images, audio, video — the same way you import in React.
  • Iterative workflow: Edit code → hot-reload preview → render final. The .tsx file IS the editable intermediate.
  • Data-driven at scale: Render thousands of personalized videos by passing different props to the same composition.

Workflow

text
Scaffold → Compose → Preview → Iterate → Render
  1. Scaffold the project (once per video project)
  2. Interpret the user's concept — choose the right template and rule files
  3. Compose React components for each scene
  4. Preview in Remotion Studio (npm run dev)
  5. Iterate based on user feedback
  6. Render final video via scripts/render.sh

Step 0: Ensure Dependencies

Node.js 18+ is required. Check before scaffolding:

bash
node --version   # Must be >= 18.0.0
npm --version

If Node.js is not available, inform the user — Remotion cannot run without it.

Step 1: Scaffold the Project

Run scripts/scaffold_project.sh to create a new Remotion project. The script is idempotent — it detects an existing project and skips re-initialization.

bash
bash scripts/scaffold_project.sh my-video-project
cd my-video-project
npm run dev   # Opens Remotion Studio at localhost:3000

Step 2: Interpret the Concept

Determine the best approach. Read the relevant rule file for detailed patterns.

Content typeRule fileTemplate
Explainer / educationalfundamentals.mdexplainer.tsx
Product demo / marketinganimations.mdproduct-demo.tsx
Data visualization / animated chartcharts.mddata-viz.tsx
Video with voiceover / narrationaudio.md + subtitles.mdexplainer.tsx
Social media clip (short, looping)animations.mdproduct-demo.tsx
3D scene / abstract motion graphicsthree-d.md(custom)
Personalized / batch generationdata-driven.mdany
Video with embedded mediamedia.mdany

Step 3: Compose the Components

Core rules for writing Remotion components:

  • One composition per video: registerRoot points to one root composition.
  • Sequences for timing: Use <Sequence from={30} durationInFrames={60}> to place scenes at specific frames.
  • AbsoluteFill for layering: Use <AbsoluteFill> as the base for any full-screen element.
  • Frame-based math only: Derive all animation state from useCurrentFrame(). Never use Date.now() or setTimeout.
  • Spring over easing: Prefer spring({ frame, fps }) for natural motion.
  • Props for everything variable: Hardcoded values → props. This enables data-driven rendering.
Component structure pattern
tsx
import {
  useCurrentFrame,
  useVideoConfig,
  interpolate,
  spring,
  AbsoluteFill,
  Sequence,
} from "remotion";

type MySceneProps = {
  title: string;
  accentColor: string;
};

export const MyScene: React.FC<MySceneProps> = ({ title, accentColor }) => {
  const frame = useCurrentFrame();
  const { fps, durationInFrames } = useVideoConfig();

  const opacity = interpolate(frame, [0, 30], [0, 1], {
    extrapolateRight: "clamp",
  });
  const scale = spring({ frame, fps, config: { damping: 12, stiffness: 100 } });

  return (
    <AbsoluteFill style={{ backgroundColor: "#0a0a0a" }}>
      <div
        style={{ opacity, transform: `scale(${scale})`, color: accentColor }}
      >
        {title}
      </div>
    </AbsoluteFill>
  );
};

Step 4: Preview

Remotion Studio provides hot-reload preview. Start it with:

bash
npm run dev

Studio opens at http://localhost:3000. The timeline scrubber lets you inspect any frame.

Use <Still> component for frame-accurate screenshots during iteration.

Step 5: Iterate

RequestAction
"Slower/faster"Adjust durationInFrames on <Sequence> or change FPS
"Different color"Update props passed to composition
"Add a section"Add new <Sequence> block with incremented from offset
"Change font"Load via @remotion/google-fonts, apply as CSS fontFamily
"Add background music"Add <Audio src={staticFile('audio.mp3')} /> to root composition
"Make it loop"Set durationInFrames and design matching first/last frame state
"Add captions"See subtitles.md for SRT parsing and word-level timing

Step 6: Render

Use scripts/render.sh to render the final video:

bash
bash scripts/render.sh --composition MyComposition --quality final --format mp4
Show full SKILL.md (401 more words)Show less
Quality presets
PresetResolutionFPSUse case
preview480p15Fast layout check
draft720p30Client draft review
final1080p30Standard delivery
4k2160p60Presentation / cinema
Format options
FormatUse case
mp4Standard delivery (H.264)
webmWeb-optimized
gifEmbeddable in docs, social media

Error Handling

ErrorCauseResolution
node: command not foundNode.js not installedInstall Node.js 18+ from nodejs.org
Cannot find module 'remotion'Dependencies not installedRun npm install in the project directory
Composition not foundWrong composition IDCheck registerRoot and <Composition id= match
delayRender timed outAsync asset load > 30sIncrease timeout via delayRender('reason', { timeoutInMilliseconds: 60000 })
OffthreadVideo failedVideo codec not supportedConvert to H.264 MP4 with ffmpeg first
ENOMEM during renderOut of memory on large compositionsReduce --concurrency flag, or lower resolution
Port 3000 already in useAnother dev server runningKill existing process or set --port 3001
Spring animation goes past 1.0Missing { extrapolateRight: 'clamp' }Add extrapolation clamp to interpolate calls
Fonts not loading in renderFont not loaded before render startsUse @remotion/google-fonts or delayRender for font face load

Limitations

  • Node.js required — Remotion is a Node.js framework. Cannot run in Python-only or headless container environments.
  • Chromium dependency — Remotion renders via Chromium. The npx remotion render command downloads it automatically, but it requires ~300MB disk space.
  • No server-side Lambda in v1 — Cloud rendering via @remotion/lambda is deferred to a future skill version. Local rendering only.
  • Large renders are slow — A 60-second 1080p video at 30fps = 1800 frames rendered through Chromium. Plan for 10-30 minutes on a typical laptop.
  • GIF size — GIFs at full resolution are large. Limit to 480p and <10 seconds for embeddable GIFs.
  • Audio in preview — Remotion Studio supports audio playback in preview. Rendered audio requires ffmpeg.

Design Principles

  • Frame-based thinking: Every visual state is a function of the current frame number. No timers, no intervals.
  • Composition-first: Split video into logical <Sequence> blocks. Each scene is its own component.
  • Spring over easing: spring() gives physically accurate motion. Only use interpolate with easing when spring doesn't fit.
  • Props for content: Never hardcode strings, colors, or data inside components. Pass via props to enable reuse.
  • Type everything: All composition props have TypeScript types enforced via z.infer<typeof schema> (Zod) or explicit interfaces.

Cross-Reference

For mathematical animations, algorithm visualizations, or when Node.js is unavailable, use concept-to-video (Manim/Python) instead. Manim runs in any Python environment and excels at geometric proofs, equation animations, and LaTeX rendering.

© Mathews-Tom, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 19 other files (scripts, references) in skills/remotion-video of Mathews-Tom/armory.

  • SKILL.md
  • evals/cases.yaml
  • references/rules/animations.md
  • references/rules/audio.md
  • references/rules/charts.md
  • references/rules/compositions.md
  • references/rules/data-driven.md
  • references/rules/fundamentals.md
  • references/rules/media.md
  • references/rules/rendering.md
  • references/rules/subtitles.md
  • references/rules/tailwind.md
  • references/rules/text-and-fonts.md
  • references/rules/three-d.md
  • references/templates/data-viz.tsx
  • references/templates/explainer.tsx
  • references/templates/product-demo.tsx
  • … and 3 more

Open the folder on GitHubat commit 4594fb7

Compare with similar skills

Remotion Video 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.

Remotion Video compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Remotion Video this skillMathews-Tom/armory329—~3.1kAutomated safety check: PassMIT
Remotion Createremotion-dev/remotion63k—~699Automated safety check: PassCustom licence
Remotion Createguanyang/open-agent-hub9771 repos~353Automated safety check: PassMIT
Remotion Video Creationaffaan-m/ECC276k—~680Automated safety check: PassMIT
Remotion Video Creationaffaan-m/ECC276k—~605Automated safety check: PassMIT
Remotion Createsickn33/agentic-awesome-skills47k1 repos~785Automated safety check: NotesMIT

Similar skills

  • Remotion Create

    remotion-dev/remotion

    Official

    Create a new Remotion video

    63k GitHub stars~699 tokensUpdated today
    Media & CreativeAuto-check passed
  • Remotion Create

    guanyang/open-agent-hub

    Creating a new Remotion video

    977 GitHub starsUsed in 1 repo~353 tokens
    Media & CreativeAuto-check passed
  • Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

    276k GitHub stars~680 tokensUpdated today
    Media & CreativeAuto-check passed
  • Remotion 最佳实践 - 在 React 中创建视频。29 条领域特定规则,涵盖 3D、动画、音频、字幕、图表、过渡等。

    276k GitHub stars~605 tokensUpdated today
    Media & CreativeAuto-check passed
  • Remotion Create

    sickn33/agentic-awesome-skills

    Create a new Remotion video

    47k GitHub starsUsed in 1 repo~785 tokens
    Media & CreativeAuto-check: notes
  • Remotion Best Practices

    lyonjs/shortvid.io

    Best practices for Remotion - Video creation in React. An agent skill from lyonjs/shortvid.io.

    147 GitHub starsUsed in 33 repos~1k tokens
    Media & CreativeAuto-check passed

More from Mathews-Tom/armory

All 80 skills in this repo
  • Architecture Reviewer

    Mathews-Tom/armory

    Architecture reviews across 7 dimensions (structural, scalability, enterprise readiness, performance, security, ops, data) with scored reports.

    329 GitHub stars~4.6k tokensUpdated 4 days ago
    Auto-check passed
  • Concept To Image

    Mathews-Tom/armory

    Turn concepts into static HTML visuals exported as PNG or SVG files via HTML/CSS/SVG.

    329 GitHub stars~2.6k tokensUpdated 4 days ago
    Auto-check passed
  • Watch

    Mathews-Tom/armory

    A skill your agent uses when analyzing an existing video URL or local recording: "watch this video", "analyze youtube video", "summarize this video", "youtube transcript", "find this moment", "what…

    329 GitHub stars~2.8k tokensUpdated 4 days ago
    Auto-check passed
  • Code Refiner

    Mathews-Tom/armory

    Deep code simplification and refactoring preserving behavior across Python, Go, TypeScript, Rust.

    329 GitHub stars~3.1k tokensUpdated 4 days ago
    Auto-check passed
  • Concept To Video

    Mathews-Tom/armory

    Turn concepts into animated explainer videos using Manim (Python) with MP4/GIF output, audio overlay, multi-scene composition.

    329 GitHub stars~4.9k tokensUpdated 4 days ago
    Auto-check passed
  • Decision Map

    Mathews-Tom/armory

    Maps the unresolved architecture, policy, and scope decisions that must be answered before planning can start: one durable decision ticket per question on the issue tracker, typed and blocker-linked…

    329 GitHub stars~2.7k tokensUpdated 4 days ago
    Auto-check passed

Questions about Remotion Video

What does Remotion Video do?

Create motion graphics and videos using Remotion (React) with audio sync, web fonts, and TailwindCSS. Remotion Video is an agent skill from Mathews-Tom/armory. Create motion graphics and videos using Remotion (React) with audio sync, web fonts, and TailwindCSS.

When should I use Remotion Video?

Remotion Video fits situations like: : create a Remotion video; motion graphics; product demo video; video with voiceover.

How do I install Remotion Video in Claude Code?

Run `npx skills add Mathews-Tom/armory --skill remotion-video -a claude-code`. Or copy the skill folder (skills/remotion-video in Mathews-Tom/armory) into .claude/skills/remotion-video in your project. Claude Code loads it when a task matches its description.

How do I install Remotion Video in Codex?

Run `npx skills add Mathews-Tom/armory --skill remotion-video -a codex`. Or copy the skill folder (skills/remotion-video in Mathews-Tom/armory) into .agents/skills/remotion-video in your project. Codex loads it when a task matches its description.

Can I use Remotion Video in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Mathews-Tom/armory --skill remotion-video -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-video, .gemini/skills/remotion-video, .github/skills/remotion-video and .opencode/skills/remotion-video in your project.

What does Remotion Video need to run?

Going by SKILL.md and its folder, Remotion Video needs the command-line tools its instructions call (npm, bash, node and npx). Our summary lists: Node.js.

Does Remotion Video access the network?

SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Remotion Video safe to install?

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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Remotion Video use?

Remotion Video is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Remotion Video use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 32k tokens, read only when the agent opens those files.

What are the alternatives to Remotion Video?

Skills that share tags, products or a category with Remotion Video: Remotion Create (remotion-dev/remotion, 63k stars), Remotion Create (guanyang/open-agent-hub, 977 stars), Remotion Video Creation (affaan-m/ECC, 276k stars) and Remotion Video Creation (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Remotion Video?

Mathews-Tom (a GitHub user) maintains it in Mathews-Tom/armory, which has 329 GitHub stars. The repository holds 80 skills in this directory. The repository was last updated on October 6, 2026.

Source: Mathews-Tom/armory on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.