ffmpeg-skill: Give your coding agent a video editor.
What problem it solves
Coding agents can guess incorrectly when editing video with FFmpeg, including assuming frame rates, choosing incompatible codecs, re-encoding unnecessarily, and reporting success without inspecting the output. This project provides a probe-first, verify-last workflow with structured tools, a machine-readable contract, and MCP integration for local video editing.
Key features
Local video editing tools — The project ships 42 FFmpeg and ffprobe-based tools covering cutting, joining, silence removal, fitting, captions, overlays, color workflows, audio processing, loudness, delivery checks, rendering, and batch processing. They can run without cloud services, API keys, or Python dependencies.
Source: README, scripts
Machine-readable contract — A contract describes each tool's inputs, outputs, required FFmpeg capabilities, dry-run support, and verification policy. Tool input schemas are derived from the same argument parsers used by the command-line tools so the contract and CLI cannot drift.
Source: README, scripts/_contract.py
Contract-derived MCP server — The MCP server derives its tool names, ordering, and input schemas from the shared contract. Every tool remains reachable by name through `tools/call`, while the default listing advertises a smaller core set to keep client context small.
Source: README, mcp
Probe-first and verify-last workflow — Tools measure media before editing and verify outputs afterward with probes, destination checks, and contact sheets when the picture changes. The workflow also preserves originals and avoids overwriting input files.
Source: README
FFmpeg capability detection — The `doctor` command inspects the installed FFmpeg build and reports the codecs, filters, and bitstream filters required by individual tools. Unreadable capability listings are reported as unknown rather than missing.
Source: README, docs/contract.md
Quick start
Copied verbatim from the project's README.
# 0. FFmpeg itself, once (Ubuntu/Debian shown; macOS and Windows are in the Install table below)
sudo apt install ffmpeg
# 1. install the skill for Claude Code (Cursor: --cursor, Codex: --codex, all three: --all)
npx ffmpeg-skill
# 2. check the machine: ffmpeg, ffprobe and every FFmpeg component the tools need
npx ffmpeg-skill doctor
# 3. (for agent frameworks) read the machine-readable contract
npx ffmpeg-skill contract --json | head -40S=~/.claude/skills/ffmpeg-skill/scripts
python3 $S/probe.py input.mp4 --compact
python3 $S/fit.py input.mp4 --duration 60 --aspect 9:16 --dry-run # print the plan, run nothing
python3 $S/export.py input.mp4 --preset reels --json # structured result with a probe of the outputWho it may suit
Inference: this may suit coding-agent users and MCP clients that need to inspect, edit, and verify local video files. Inference: it may also suit developers who want structured FFmpeg operations without writing raw filter graphs or managing cloud credentials.
Topics to discuss
Which local video-editing workflows should be added to the tool contract next?
How should agents handle visual decisions when crop anchors or caption placement require human judgment?
Which FFmpeg capabilities and output specifications should receive more detailed compatibility guidance?
Written by ReadmeX AI from the project's README, source and public GitHub data; it may contain mistakes.
Read the original README https://github.com/kajisho5/ffmpeg-skill#readme
ReadmeX opened this community for a trending project; it is not run by the project. Maintainers can claim it from the community page.
Comments
…