cut-filler
Video-side companion to trim-filler. Takes the clip-local keeps.json (a list of [t0, t1] ranges to keep) plus the input clip, and re-encodes a new clip containing only the kept ranges, concatenated in order.
Invoke
.claude/skills/cut-filler/cut-filler.sh <in_clip> <keeps.json> <out_clip>
in_clip— clip-local mp4 (postcut-clip + rebase, pretighten-pace)keeps.json— emitted bytrim-fillerout_clip— written mp4 with filler ranges removed
How
Builds a single select / aselect filter expression over the keep ranges and re-encodes once with libx264 + AAC. If keeps covers the entire clip (nothing to cut), the input is copied through unchanged.
Idempotent via <out>.cfmeta (clip mtime + keeps mtime).
Pairs with
trim-filler— produces thekeeps.jsonthis skill consumes.
Caveats
- Always re-encodes (ffmpeg
selectcannot stream-copy). - The trimmed transcript is written by
trim-filler, not by this skill — downstream skills consume it directly.