← All skills
ffmpeg-skill
56 / 100 · Review before installing
Check before installing. Some of what it can do is expected: a media skill usually calls an AI service over the internet.
By kajisho5/ffmpeg-skill (GitHub) · media · 4,939 stars · scanned at commit 6e42a79
Edit video and audio with local FFmpeg: cut, join, reframe, speed, captions, overlays, silence removal, sync, loudness, HDR to SDR, platform exports and checks. Use whenever the user mentions a video or audio file (mp4, mov, wav, m4a), footage, captions, a reel or short, YouTube/TikTok delivery, LUFS or ffmpeg, even without saying "edit". Needs FFmpeg 6.1+ and Python 3.10+; stdlib only, no cloud.
Works with any agent that supports SKILL.md skills.
What this skill can do
Downloads and installs other software
This is disclosed by the author in the skill's SKILL.md or README.
Found in 76 places.
Show 17 more
- .claude/skills/github-actions/SKILL.md, line 199
- run: brew install swiftlint swiftformat - .claude/skills/mcp-server-design/SKILL.md, line 204
`pip install`s it, even though `uv run server.py` works locally. If you ship a - .claude/skills/reproducing-ci-locally/SKILL.md, line 112
uvx ruff@0.16.4 format --check . # exactly what the runner would install - .claude/skills/reproducing-ci-locally/SKILL.md, line 118
npx -y prettier@3.8.3 --check web - .claude/skills/reproducing-ci-locally/SKILL.md, line 144
uv pip install --python "$PWD/.venv/bin/python" -e ".[dev,web]" - .claude/skills/reproducing-ci-locally/SKILL.md, line 239
`brew install ffmpeg-full` / `choco install ffmpeg`), then `python - .claude/skills/verifying-external-behavior/SKILL.md, line 166
uv pip install --dry-run . # resolves; does NOT build → misses build-time errors - CHANGELOG.md, line 737
- README: `join.py` always re-encodes, so it is not a stream-copy tool. The no-Node install copies the same files `npx ffmpeg-skill` does (`templates/` and `pac - CHANGELOG.md, line 978
- **`npx ffmpeg-skill doctor` on Windows tries the next Python when `python3` is the Store alias.** That alias spawns and exits non-zero, which the installer us - CHANGELOG.md, line 1087
- **macOS: a lean Homebrew `ffmpeg` on `PATH` no longer hides `ffmpeg-full`.** When the `ffmpeg` on `PATH` is Homebrew's `ffmpeg` / `ffmpeg@N` formula and the s - CHANGELOG.md, line 3193
- **`doctor`: this installed copy's own `version`.** `doctor --json` and the human-readable `doctor` now report the version of the copy answering, read locally - CHANGELOG.md, line 3195
- **`doctor`'s Windows fix hint for a missing subtitles/drawtext/zscale filter** now names the same remedy README documents for that platform (`winget install G - CHANGELOG.md, line 3439
- `mcp/server.py` (new): the whole toolkit as an MCP server over stdio (JSON-RPC 2.0, standard library only). Every script is a tool; named args or raw argv; re - README.md, line 34
npx ffmpeg-skill - README.md, line 64
**Standalone**, this is a local FFmpeg engine: probe → edit → verify, `npx ffmpeg-skill` and nothing else. No API key, no account, no other repo required. Every - README.md, line 104
sudo apt install ffmpeg - README.md, line 107
npx ffmpeg-skill
and 56 more places
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README.
Found in 421 places.
Show 17 more
- .claude/skills/code-review/SKILL.md, line 29
git fetch origin && git log --oneline -1 origin/main - .claude/skills/code-review/SKILL.md, line 74
grep -rn "validate_color(" scripts/ # colour flags are validated at tool level, not per call site - .claude/skills/code-review/SKILL.md, line 113
npm test # tests/test_all.py + tests/test_contract.py - .claude/skills/concurrent-branches/SKILL.md, line 25
git log --format= --name-only -n 200 | sort | uniq -c | sort -rn | head -15 - .claude/skills/concurrent-branches/SKILL.md, line 57
jq -r '.plugins[].components[]' manifest.json | while read -r p; do - .claude/skills/concurrent-branches/SKILL.md, line 81
git fetch origin main - .claude/skills/concurrent-branches/SKILL.md, line 99
git checkout --merge -- src/ ui/app.jsx # resolve the real inputs first - .claude/skills/concurrent-branches/SKILL.md, line 149
git checkout origin/main -- pyproject.toml - .claude/skills/concurrent-branches/SKILL.md, line 165
grep -oE '^\s*(def test_[A-Za-z0-9_]+|it\(.[^,]*|test\(.[^,]*)' tests/test_thing.py \ - .claude/skills/concurrent-branches/SKILL.md, line 197
git grep -n "computes the retry budget" # a phrase only their change added - .claude/skills/concurrent-branches/SKILL.md, line 206
git log --graph --oneline -20 # merge commits, or a linear rebased history? - .claude/skills/cross-surface-changes/SKILL.md, line 82
rg 'old_field|new_field' . - .claude/skills/defect-reports/SKILL.md, line 105
git show origin/main:path/to/file.py | grep -n 'the_symbol' - .claude/skills/defect-reports/SKILL.md, line 125
echo 'exit 1' > .git/hooks/pre-commit - .claude/skills/git-hygiene/SKILL.md, line 23
git rm --cached path/to/file # untrack, leave working-tree copy in place - .claude/skills/git-hygiene/SKILL.md, line 36
git ls-files | grep -iE '\.(env|pem|key|p12|profraw|log|bak|db|sqlite3?)$' - .claude/skills/git-hygiene/SKILL.md, line 86
git config --global core.excludesFile ~/.gitignore_global
and 401 more places
Changes files outside its own folder
The author does not mention this.
Found in 8 places.
Show 5 more
Reads your saved credentials, such as SSH keys or .env files
The author does not mention this.
Found in 3 places.
Sends data to these websites: github.com, api.example.com
This is disclosed by the author in the skill's SKILL.md or README. Expected for a media skill.
Found in 13 places.
Show 10 more
- .claude/skills/verifying-external-behavior/SKILL.md, line 27
curl -s -o /dev/null -w '%{http_code}\n' https://api.example.com/v1/things - .claude/skills/verifying-external-behavior/SKILL.md, line 28
curl -s -o /dev/null -w '%{http_code}\n' https://api.example.com/v1/things/1 - .claude/skills/verifying-external-behavior/SKILL.md, line 66
requests.Session.request = spy - tests/corpus.py, line 20
import urllib.request - tests/corpus.py, line 59
def fetch(entry: dict, force: bool = False) -> Path: - tests/corpus.py, line 65
head = urllib.request.urlopen(urllib.request.Request(entry["url"], headers=UA, method="HEAD"), timeout=60) - tests/corpus.py, line 82
with urllib.request.urlopen(urllib.request.Request(entry["url"], headers=headers), timeout=60) as resp: - tests/corpus.py, line 140
p = fetch(e, args.force) - tests/test_contract.py, line 5741
for mod in ("urllib", "http.client", "socket", "requests"): - tests/test_picture.py, line 3952
for banned in ("urllib", "http.client", "requests", "socket."):
Safer alternatives
Low-risk skills in the same category (media) that look related. Check that one does what you need.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'ffmpeg-skill' ] || [ -L ~/.agents/skills/'ffmpeg-skill' ]; then echo 'A skill folder named ffmpeg-skill already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/kajisho5/ffmpeg-skill' "$d" && git -C "$d" checkout --quiet '6e42a79247909659b3d80833120b272fb5e46aba' -- '.' && mkdir -p ~/.agents/skills && cp -R "$d/." ~/.agents/skills/'ffmpeg-skill' && rm -rf ~/.agents/skills/'ffmpeg-skill'/.git && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'ffmpeg-skill' ~/.claude/skills/'ffmpeg-skill' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for kajisho5/ffmpeg-skill shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/kajisho5/ffmpeg-skill/)
Score history
| Date | Version | Score |
|---|
| 2026-11-08 | 6e42a79 | 56 |
| 2026-11-07 | 6e42a79 | 56 |