ffmpeg

Installation
SKILL.md

Build correct FFmpeg commands for media-processing tasks by composing recipes from the references instead of recalling commands from memory. FFmpeg syntax is highly position-sensitive and easy to get subtly wrong, so prefer adapting a known-good command from these references over inventing one.

Workflow:

  1. Identify the task category (simple edit, audio processing, advanced filtering, asset generation, encoding tune-up).
  2. Open the matching reference file and pick the closest recipe.
  3. Adapt input paths, time ranges, dimensions, codecs, and filter parameters to the user's request.
  4. Before returning the command, walk through references/glossary.md to validate stream selectors, -map, -c copy use, and seeking position.
  5. If the user is running on macOS or Linux without a GPU, do not suggest *_nvenc, *_qsv, or VAAPI encoders.

If doing partial work, load only the relevant reference files.

Core Instructions

  • Always start commands with -y when overwriting is acceptable; otherwise omit it so FFmpeg prompts before clobbering output.
  • Prefer -c copy (stream copy / remux) when no filter, codec change, or precise trim is needed - it avoids re-encoding and is much faster.
  • Do not use -c copy when applying any video filter (scale, overlay, subtitles, trim, fade), mixing or modifying audio (amix, atempo, volume), burning subtitles, transcoding between codecs, or compressing.
  • For frame-accurate trimming, use output seeking (-ss after -i) without -c:v copy. Input seeking (-ss before -i) is fast but only seeks to the nearest keyframe and can produce black frames or off-by-seconds cuts.
Installs
1
First Seen
Apr 29, 2026