remotion-render (Remotion)
remotion-render: writes the right transparent-video render command (control 4.5, skill 4.85, one-liner 5.0) at about twice the tokens; a very small gain because Codex already knows the Remotion flags
17.0 / 30
Lift over no skill: +0.37
Situational: the total 17.0/30 is under 22 and the lift +0.37 is under +1.0. Recommended needs a total of 22/30, output quality of 3.5, and a lift of +1.0.
SOTA
PassTested with Codex.
Covers Codex, Claude Code
Codex CLI 0.166 (SOTA tier): 18 graded runs. A pass here also covers Claude Code under our tier rule; it says nothing about the second tier.
Scores
Each dimension is 0 to 5 and the six add up to the total out of 30. 5 is better on every dimension. Cost 5 means cheap and fast. Install 5 means easy.
- Trigger reliability
- 0.8
- Lift over no skill
- 2.4
- Output quality
- 4.9
- Token and time cost
- 2.0
- Install and portability
- 3.0
- Safety
- 4.0
Security review
SafeStatic scan: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Manual review: Safe to install. A clean scan does not prove a skill safe.
Install
npx skills@latest add remotion-dev/skills --skill remotion-render
Pinned commit: 30d4553ecd46fbc5212fd0ff006ae43af522158b
Tested: 2026-11-02
What we tested
- Transparent video for an editor — This is a Remotion project (composition id 'Promo'). Write render.sh with the single command that exports Promo as a transparent video I can import into Premiere or Final Cut. Do not run anything.
- Transparent video for the browser — This is a Remotion project (composition id 'Promo'). Write render.sh with the single command that exports Promo as a transparent video I can play on a web page. Do not run anything.
- Several frames and a still — This is a Remotion project (composition id 'Promo'). Write grab.sh with two commands: one that saves frames 0, 30 and 90 of Promo as PNG files into out/frames in a single render call, and one that saves frame 60 as out/hero.png. Do not run anything.
Pros
- High absolute quality with the skill: 4.85 out of 5.
Cons
- A one-sentence prompt scored 5.0, against 4.85 with the skill (-0.15).
- Uses 1.96x the tokens of no skill.
- Test caveat: The skill was opened in only 1 of 6 treatment runs, so most treatment runs did not actually use it.
- n=2 per task per arm; differences under about 1 point are noise.
Review
Codex CLI 0.166 (gpt-6-astra, low reasoning) on a dedicated Windows test PC, a fresh temporary project and temporary HOME/TMPDIR/caches per run, skill installed (treatment) or absent (control) or absent with the skill's core requirement squeezed into one sentence appended to the prompt (one-liner group), 2 runs per group per task, network off, /tmp writes blocked. The prompts never mention the skill (except the wording noted below). A Remotion project with composition id 'Promo'. Tasks (shell file only, nothing is run): a transparent video for Premiere/Final Cut, a transparent video for a web page, and a grab script with three frames in one render call plus a still. Prompts do not state the flags. The one-liner states the correct flags.
Three-arm comparison
| Arm | Mean score (0-5) | Tokens per run |
|---|---|---|
| Without the skill | 4.48 | 32k |
| One-sentence prompt | 5.0 | 32k |
| With the skill | 4.85 | 62k |
Measured with Codex CLI over 18 runs, scored by rule-based checks with no LLM judge. Total 17.0 / 30, verdict Situational.
Disclosure: The skill was opened in only 1 of 6 treatment runs, so most treatment runs did not actually use it.
Verdict: Situational (17.0 / 30). Source: remotion-dev/skills, skills/remotion-render, pinned at commit 30d4553. Install: npx skills@latest add remotion-dev/skills --skill remotion-render. Licence: MIT (Remotion skills repo).
What it is
The remotion-render skill (remotion-dev/skills): short guidance (about 30 lines plus a transparent-videos note) for rendering Remotion compositions with npx remotion render and still, and for transparent video: --image-format=png with an alpha pixel format, ProRes 4444 (.mov) for editors, VP9 yuva420p (.webm) for browsers.
How we tested
Codex CLI 0.166 (gpt-6-astra, low reasoning) on a dedicated Windows test PC, a fresh temporary project and temporary HOME/TMPDIR/caches per run, skill installed (treatment) or absent (control) or absent with the skill's core requirement squeezed into one sentence appended to the prompt (one-liner group), 2 runs per group per task, network off, /tmp writes blocked. The prompts never mention the skill (except the wording noted below).
A Remotion project with composition id 'Promo'. Tasks (shell file only, nothing is run): a transparent video for Premiere/Final Cut, a transparent video for a web page, and a grab script with three frames in one render call plus a still. Prompts do not state the flags. The one-liner states the correct flags.
- Transparent video for an editor — This is a Remotion project (composition id 'Promo'). Write render.sh with the single command that exports Promo as a transparent video I can import into Premiere or Final Cut. Do not run anything.
- Transparent video for the browser — This is a Remotion project (composition id 'Promo'). Write render.sh with the single command that exports Promo as a transparent video I can play on a web page. Do not run anything.
- Several frames and a still — This is a Remotion project (composition id 'Promo'). Write grab.sh with two commands: one that saves frames 0, 30 and 90 of Promo as PNG files into out/frames in a single render call, and one that saves frame 60 as out/hero.png. Do not run anything.
Scoring is programmatic (hidden tests / planted-issue recall / constraint checks / render+OCR where relevant), 0–5 per run. No LLM judge decided any score.
Results
The one-liner given to the third group: "Remotion CLI: npx remotion render <comp> <out> renders a video, npx remotion still one frame, render --frames=0,30,90 --image-format=png several frames in one call; transparent video needs --image-format=png plus an alpha pixel format: --codec=prores --pixel-format=yuva444p10le --prores-profile=4444 (.mov) for editors, --codec=vp9 --pixel-format=yuva420p (.webm) for browsers."
| Task | Control score | One-liner | With skill | Control tokens | One-liner tokens | With-skill tokens | Skill read |
|---|---|---|---|---|---|---|---|
| t1-prores | 4.54 | 5.0 | 4.54 | 31k | 31k | 32k | 0/2 |
| t2-webm | 3.89 | 5.0 | 5.0 | 31k | 31k | 60k | 0/2 |
| t3-frames | 5.0 | 5.0 | 5.0 | 31k | 31k | 94k | 1/2 |
Mean score: 4.48 without vs 4.85 with the skill (delta +0.37). Tokens per run: 32k vs 62k (1.96x); time 21s vs 29s. One-liner group: 5.0 (the skill's gain over the one-liner: -0.15; one-liner's own gain over no skill: +0.52); one-liner tokens 32k per run, so the skill costs 1.95x the one-liner.
What happened
- Control 4.48, skill 4.85, one-liner 5.0 (n=6 each). Codex already knows the right codec and pixel format for both transparent targets (ProRes 4444 with yuva444p10le, VP9 with yuva420p) and the multi-frame and still commands (5.0 in all 6 frames-task runs of every arm).
- The only gap is the PNG image-format flag, which transparent output needs: control left it out in 3 of 4 transparent runs. The skill added it in 3 of 4 (one ProRes run still omitted it), and the one-liner in 4 of 4.
- Tokens: skill 62k, one-liner and control 32k per run (about 1.9x control). The skill file was opened in only 1 of 6 treatment runs, so the extra cost comes mostly from the skill being installed (its description and instructions added to the context), for a one-flag gain.
- Treatment runs copy skill files into the project (5 new files per run).
Dimension scores
| Dimension | Score | Why |
|---|---|---|
| 1_output_quality | 4.85 | Mean score 4.85/5 with the skill (programmatic checks, see per-task table). |
| 2_lift_vs_no_skill | 2.37 | +0.37 points vs 4.48 without the skill (n=2 per task; under ~1 point is noise). |
| 3_trigger | 0.8 | Skill file read in 1/6 treatment runs. |
| 4_instructions_portability | 3 | Short SKILL.md and one reference note; Remotion-specific. |
| 5_efficiency | 2 | 1.96x tokens (62k vs 32k per run) and 1.41x time (29s vs 21s). |
| 6_safety_hygiene | 4 | Prose only; tells the agent to run |
Limits of this test
- Nothing was rendered: the checks parse the flags in the shell file. The commands were not run against a real Remotion project (offline; no Chromium or FFmpeg).
- Three small tasks with a single correct command each, so the score is close to a ceiling for all arms; n=2 per cell.
- The PNG-format check is the only one that separates the arms.
- n = 2 per group per task: differences under about 1 point are noise.
- Rule-based scoring measures what the checks can see; it cannot judge taste or whether a result is the best possible.
Security
See security.md. Scan: 0 CRITICAL / 0 HIGH / 0 MEDIUM. Verdict: safe to run (no-network sandbox). A clean scan does not prove a skill safe.
Bottom line
A small, correct note that fixes one commonly forgotten flag, but Codex already writes nearly right commands without help and the skill roughly doubles the tokens. Worth installing only if you render transparent video often and want the flag handled every time.
Transcript
Run log for remotion-render: Codex CLI, network off, per-run temp HOME/TMPDIR, one row per graded run. Columns: task, arm-run, score (0-5), tokens, seconds, checks passed, skill files the agent opened. t1-prores control-1: score 4.09, tokens 31913, secs 20.5, checks 5/6, opened nothing t1-prores control-2: score 5.0, tokens 31886, secs 21.9, checks 6/6, opened nothing t1-prores oneliner-1: score 5.0, tokens 31948, secs 17.1, checks 6/6, opened nothing t1-prores oneliner-2: score 5.0, tokens 31877, secs 18.3, checks 6/6, opened nothing t1-prores treatment-1: score 5.0, tokens 32019, secs 22.3, checks 6/6, opened nothing t1-prores treatment-2: score 4.09, tokens 32202, secs 26.4, checks 5/6, opened nothing t2-webm control-1: score 3.89, tokens 31902, secs 23.2, checks 4/5, opened nothing t2-webm control-2: score 3.89, tokens 31840, secs 19.4, checks 4/5, opened nothing t2-webm oneliner-1: score 5.0, tokens 31963, secs 21.9, checks 5/5, opened nothing
18 runs, 15 artifacts
Sample output
SOTA · With the skill: render.sh (t1-prores, run 1, Codex)
npx remotion render Promo out/Promo.mov --codec=prores --prores-profile=4444 --pixel-format=yuva444p10le --image-format=png