← All skills
stitch-videos-ffmpeg
87 / 100 · Low risk
Fine to try.
By gooseworks-ai/goose-skills (GitHub) · media · 1,319 stars · scanned at commit df82981
Stitch video segments with ffmpeg concat, xfade, overlay, audio mux, and export settings, and trim a source into named clips at exact windows (trim_clips.py). Ships montage.py, a free montage assembler (python3 + ffmpeg, no keys). It takes a JSON EDL of clips and stills, normalizes them and hard-cuts them in order, burns captions from an SRT, a cue list or word timings, and lays a VO over a music bed that ducks under it, mastered to -14 LUFS.
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
The author does not mention this.
Found in 26 places.
Show 17 more
- skills/video/stitch-videos-ffmpeg/scripts/composite.py, line 84
subprocess.run([ - skills/video/stitch-videos-ffmpeg/scripts/composite.py, line 133
subprocess.run(pass2_args, check=True) - skills/video/stitch-videos-ffmpeg/scripts/composite_final.py, line 18
out = subprocess.run( - skills/video/stitch-videos-ffmpeg/scripts/composite_final.py, line 75
subprocess.run(cmd, check=True) - skills/video/stitch-videos-ffmpeg/scripts/composite_final.py, line 88
subprocess.run(cmd, check=True) - skills/video/stitch-videos-ffmpeg/scripts/montage.py, line 113
proc = subprocess.run([str(c) for c in cmd], capture_output=True, text=True, cwd=cwd) - skills/video/stitch-videos-ffmpeg/scripts/montage.py, line 584
out = subprocess.run(["ffmpeg", "-hide_banner", "-filters"], capture_output=True, text=True).stdout - skills/video/stitch-videos-ffmpeg/scripts/trim_clips.py, line 59
proc = subprocess.run(["ffprobe", "-v", "error", "-show_entries", "format=duration", - skills/video/stitch-videos-ffmpeg/scripts/trim_clips.py, line 137
proc = subprocess.run(cmd, capture_output=True, text=True) - skills/video/stitch-videos-ffmpeg/scripts/voiceless/composite.py, line 32
subprocess.run(cmd, check=True) - skills/video/stitch-videos-ffmpeg/scripts/voiceless/composite.py, line 40
subprocess.run([ - skills/video/stitch-videos-ffmpeg/scripts/voiceless/composite.py, line 139
subprocess.run(cmd, check=True) - skills/video/stitch-videos-ffmpeg/tests/test_stitch_montage.py, line 27
subprocess.run(["ffmpeg", "-y", "-hide_banner", "-loglevel", "error", *map(str, args)], check=True) - skills/video/stitch-videos-ffmpeg/tests/test_stitch_montage.py, line 31
proc = subprocess.run([sys.executable, str(SCRIPT), *map(str, args)], capture_output=True, text=True) - skills/video/stitch-videos-ffmpeg/tests/test_stitch_montage.py, line 39
out = subprocess.run(["ffprobe", "-v", "error", "-count_frames", "-show_entries", - skills/video/stitch-videos-ffmpeg/tests/test_stitch_montage.py, line 52
err = subprocess.run(["ffmpeg", "-hide_banner", "-nostdin", "-i", str(path), "-vn", "-af", - skills/video/stitch-videos-ffmpeg/tests/test_stitch_montage.py, line 59
raw = subprocess.run(["ffmpeg", "-hide_banner", "-loglevel", "error", "-ss", f"{t}", "-i", str(path),
and 6 more places
Downloads and installs other software
This is disclosed by the author in the skill's SKILL.md or README.
Found in 3 places.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'stitch-videos-ffmpeg' ] || [ -L ~/.agents/skills/'stitch-videos-ffmpeg' ]; then echo 'A skill folder named stitch-videos-ffmpeg already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/gooseworks-ai/goose-skills' "$d" && git -C "$d" checkout --quiet 'df8298140d434a6363de0c265eb6af2e571d97a5' -- 'skills/video/stitch-videos-ffmpeg' && mkdir -p ~/.agents/skills && cp -R "$d"/'skills/video/stitch-videos-ffmpeg' ~/.agents/skills/'stitch-videos-ffmpeg' && 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/'stitch-videos-ffmpeg' ~/.claude/skills/'stitch-videos-ffmpeg' (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 gooseworks-ai/goose-skills shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/gooseworks-ai/goose-skills/)
Score history
| Date | Version | Score |
|---|
| 2026-11-08 | df82981 | 87 |
| 2026-11-06 | df82981 | 87 |