Skills/npm/remotion-ffmpeg-skill

remotion-ffmpeg-skill@0.14.0

VERIFIED· startup only

Publisher claims: "Agent Skill: ffmpeg-skill measures the footage, Remotion draws the motion graphics from those measurements, ffmpeg-skill checks and delivers the result. Timeline-driven captions, silence jump cuts and audio-peak motion with probe-first / verify-last rende" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry npm (MCP server)Publisher kajisho5 · publishing for 72 daysInstalls 3,367Last detonated 6 h ago
$claude mcp add remotion-ffmpeg-skill -- npx -y remotion-ffmpeg-skill
WatchReport an issue

Coverage

Startup only; authenticated tool behavior not tested.
Tested
server startup over stdio (initialize sent) · every file read, file written and host contacted by what ran
Not tested
the tool list (the server exited before answering) · what the tools do when called with real credentials

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; startup only; authenticated tool behavior not tested) on 2026-11-14 and scored it 82/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 20 s · 2 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
20sclaimedstartup only: exited (0) before answering · (node:1102) [UNDICI-EHPA] Warning: EnvHttpProxyAgent is experimental, expect them to change at any time. (Use `node --trace-warnings ...` to show where the warning was created) installed remotion-ffmpeg-skill -> /tmp/ks-detonate-WwxVCA/task/home/.claude/skills/remotion-ffmpeg-skill note: ffmpeg-skill is not next to it yet. Install it too: npx ffmpeg-skill
20sprocessscript backend runs setup only
20sprocessno install scripts to re-run

Static findings

MEDIUM
File type combined with upload actionSKILL.md:19 · File type combined with upload action — agent may exfiltrate local data files…ender.** `render.py --project ./motion --comp NAME --timeline TL [--options look.json] -o OUT.mp4` (`--fast` = half-size preview, `--frames 0-89` = a range, `--codec prores -o master.mov` = a master). It verifies the output against the tim…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actionSKILL.md:55 · File type combined with upload action — agent may exfiltrate local data files…ake these words pop" / speech bubbles, comment cards | `analyze.py --words WORDS.json --emphasis words.json` (the user's words: `["42%", {"text": "launch", "at": 12.3, "style": "box"}]`; `--emphasis-auto numbers,names` adds the captions' o…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actionSKILL.md:54 · File type combined with upload action — agent may exfiltrate local data files…e transcript" (transcription-skill output) | `analyze.py --words talk.transcript.json` → `render.py --comp Captioned` or `Karaoke`. Only schema `transcription-skill/transcript/0.1` is read, checked against its contract; another version, a …Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actionSKILL.md:17 · File type combined with upload action — agent may exfiltrate local data files…Measure.** `analyze.py SOURCE [--captions FILE.srt] [--beats] -o SOURCE.timeline.json`. Read the summary and the `warnings`. A variable-frame-rate or HDR / BT.2020 source is refused (`kind: input`, `conform_needed`): Remotion renders SDR o…Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagecli/remotion-ffmpeg-skill.js:8 · npx invocation of non-well-known package — may execute untrusted code* npx remotion-ffmpeg-skill # Claude CodeFix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Hidden zero-width characters detectedscripts/_captions.py:33 · Hidden zero-width characters detected — may conceal contenttext = text.replace("", "").replace("\r\n", "\n").replace("\r", "\n")Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST07
MEDIUM
Python subprocess execution detectedscripts/doctor.py:24 · Python subprocess execution detectedout = subprocess.run(cmd, capture_output=True, text=True, timeout=15)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/_common.py:110 · Python subprocess execution detectedreturn subprocess.run(list(cmd), cwd=str(cwd) if cwd else None, env=env,Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
npx invocation of non-well-known packagecli/remotion-ffmpeg-skill.js:9 · npx invocation of non-well-known package — may execute untrusted code* npx remotion-ffmpeg-skill --cursor # Cursor (~/.cursor/skills/remotion-ffmpeg-skill)Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Python subprocess execution detectedscripts/_common.py:446 · Python subprocess execution detectedproc = subprocess.run([sys.executable, str(skill / "scripts" / "_contract.py"), "doctor", "--json"],Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
File type combined with upload actionscripts/_contract.py:39 · File type combined with upload action — agent may exfiltrate local data files"writes": "timeline.json (+ the joined source for several inputs, the conformed copy with --conform)",Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagecli/remotion-ffmpeg-skill.js:11 · npx invocation of non-well-known package — may execute untrusted code* npx remotion-ffmpeg-skill --all # all of the aboveFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionscripts/_contract.py:179 · File type combined with upload action — agent may exfiltrate local data files"because its timeline.json records the input's absolute path",Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
Python subprocess execution detectedscripts/doctor.py:58 · Python subprocess execution detectedout = subprocess.run([sys.executable, str(skill / "scripts" / "_contract.py"), "doctor", "--json"],Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
npx invocation of non-well-known packagecli/remotion-ffmpeg-skill.js:10 · npx invocation of non-well-known package — may execute untrusted code* npx remotion-ffmpeg-skill --codex # Codex (~/.agents/skills/remotion-ffmpeg-skill)Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionscripts/_common.py:538 · File type combined with upload action — agent may exfiltrate local data filesdie(f"{where}: {v!r} is not a colour (use RRGGBB, as ffmpeg-skill's brand.json does)", "input")Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
Python subprocess execution detectedmcp/server.py:87 · Python subprocess execution detectedproc = subprocess.run([sys.executable, str(SCRIPTS / f"{name}.py"), *argv],Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
npx invocation of non-well-known packagescripts/doctor.py:54 · npx invocation of non-well-known package — may execute untrusted code"npx ffmpeg-skill (or set FFMPEG_SKILL_DIR)")Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagescripts/_common.py:154 · npx invocation of non-well-known package — may execute untrusted codedie("ffmpeg-skill not found. Install it with `npx ffmpeg-skill` (it lands next to this skill), "Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionscripts/_common.py:309 · File type combined with upload action — agent may exfiltrate local data filesdie(f"{project} is not a Remotion project made by init.py (needs package.json and src/index.ts)", "input")Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
Python subprocess execution detectedscripts/pipeline.py:60 · Python subprocess execution detectedproc = subprocess.run(cmd, capture_output=True, text=True, encoding="utf-8", errors="replace")Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/render.py:142 · Python subprocess execution detectedproc = subprocess.run(ffskill_cmd("overlay", ["--help"]), capture_output=True, text=True, timeout=60)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
npx invocation of non-well-known packagecli/remotion-ffmpeg-skill.js:12 · npx invocation of non-well-known package — may execute untrusted code* npx remotion-ffmpeg-skill --dir ./skills # custom parent directoryFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Python subprocess execution detectedscripts/_contract.py:343 · Python subprocess execution detectedsys.exit(subprocess.call([sys.executable, str(HERE / "doctor.py"), *sys.argv[2:]]))Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05

Cost to the agent

Instructions loaded
≈3,865 tok
1 file · 38 in bundle
Tool list per prompt
≈0 tok
0 tools · 0 per tool
Handshake
no reply
launch to tools/list, stdio
Undocumented tools
0
description under 20 chars · avg 0

Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.

Known vulnerabilities

No advisories in OSV for remotion-ffmpeg-skill@0.14.0 as of 6 h ago. This is the package itself, not its dependencies.