remotion-ffmpeg-skill@0.14.0
VERIFIED· startup onlyPublisher 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.
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 deviationsStatic findings
…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.…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.…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.…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.* npx remotion-ffmpeg-skill # Claude CodeFix: Pin versions and sources; vendor anything fetched at install time.text = 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.out = 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.return 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.* npx remotion-ffmpeg-skill --cursor # Cursor (~/.cursor/skills/remotion-ffmpeg-skill)Fix: Pin versions and sources; vendor anything fetched at install time.proc = 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."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.* npx remotion-ffmpeg-skill --all # all of the aboveFix: Pin versions and sources; vendor anything fetched at install time."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.out = 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.* npx remotion-ffmpeg-skill --codex # Codex (~/.agents/skills/remotion-ffmpeg-skill)Fix: Pin versions and sources; vendor anything fetched at install time.die(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.proc = 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."npx ffmpeg-skill (or set FFMPEG_SKILL_DIR)")Fix: Pin versions and sources; vendor anything fetched at install time.die("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.die(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.proc = 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.proc = 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.* npx remotion-ffmpeg-skill --dir ./skills # custom parent directoryFix: Pin versions and sources; vendor anything fetched at install time.sys.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.Cost to the agent
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.