Skill detail
auto-editor
Edits video/audio with the auto-editor CLI: cuts dead space, sets pace, makes manual cuts, and renders. Directly covers video editing operations.
Inspect before use
Read the source instructions and check the requirements before you install this skill.
SKILL.md
The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.
--- name: auto-editor description: Record a microphone or edit video/audio with the auto-editor CLI — cut out dead space (silence, motionlessness, black frames), set the pace, make manual cuts, and render the result. Use when someone wants to capture and trim a microphone, remove silence, shorten a recording, speed through quiet parts, or otherwise edit media with auto-editor. --- # Editing with auto-editor auto-editor analyzes a media file, marks every timebase section as **active** (e.g. loud) or **inactive** (e.g. silent), then applies an action to each. The defaults: keep active sections unchanged, **cut** inactive ones. ```bash auto-editor path/to/video.mp4 # writes video_ALTERED.mp4 auto-editor video.mp4 -o out.mp4 # choose the output name ``` Run the installed `auto-editor`, or `./auto-editor` from this repo. `auto-editor info FILE` shows streams/codecs/duration; `--preview` prints what *would* be cut and exits without rendering — use it to sanity-check before a long render. ## Record and edit a microphone Use `:mic` as the input on macOS, Windows, or Linux. Stop capture gracefully with Ctrl-C; auto-editor then analyzes and edits the recording normally. ```bash auto-editor :mic # → mic_ALTERED.wav auto-editor :mic --sample-rate 44.1kHz -o trimmed.m4a auto-editor :mic --edit audio:threshold=6% ``` All normal edit, action, and rendering options apply. Editor and timeline exports preserve the source capture separately; use the **auto-editor-export** skill for recording-codec and naming details. ## 1. Choose what counts as "active" — `--edit METHOD` `audio:threshold=0.04,stream=all` is the default. Threshold takes a 0–1 fraction or a `dB` value (case-sensitive). | Method | Marks active when… | Key args (defaults) | |---|---|---| | `audio` | loudest sample ≥ threshold | `threshold=0.04`, `stream=all` | | `motion` | frame-to-frame change ≥ threshold | `threshold=0.02`, `stream=0`, `width=400`, `blur=9` | | `blackdetect` | frame is mostly black | `threshold=0.98`, `pixel-black=0.10` (wrap in `not` to cut black) | | `subtitle`/`regex` | a subtitle line matches `pattern` | `pattern` (required), `ignore-case=#f` | | `word` | a whole word appears in subtitles | `value` (required), `ignore-case=#t` | | `1` / `0` | **every** / **no** moment is active (keep-all / cut-all) | aliases `none` / `all`; a base for manual ranges | ```bash auto-editor video.mp4 --edit audio:threshold=0.04 auto-editor video.mp4 --edit audio:-19dB # dB form auto-editor video.mp4 --edit motion:threshold=0.02 auto-editor video.mp4 --edit blackdetect # cut to remove black: --edit "(not blackdetect:0.98)" ``` Combine streams/methods with boolean operators `or`, `and`, `xor`, `not`. Inside an operator, give the method an explicit arg in call form (`audio:0.04`, not bare `audio`) — a bare method there errors with `Bad kind`: ```bash auto-editor multi.mov --edit "(or audio:stream=0 audio:threshold=10%,stream=1)" auto-editor video.mp4 --edit "(or audio:0.03 motion:0.06)" # threshold is always positional arg 1 auto-editor video.mp4 --edit "(not audio:0.04)" # invert: keep the quiet parts ``` ### Labels — more than just silent vs. loud (`--edit:N`, `--when:N`) Every moment is tagged with an integer **label** (0–255), and each label has an action. Two labels are built in: | Label | Meaning | Set the membership with | Set the action with (default) | |---|---|---|---| | `0` | silent / inactive | (whatever `--edit` does *not* match) | `--when-inactive` = `-w:0` = `--when:0` (`cut`) | | `1` | normal / active | `--edit EXPR` (i.e. `--edit:1 EXPR`) | `--when-active` = `-w:1` = `--when:1` (`nil`) | So plain `--edit audio` is shorthand for `--edit:1 audio`: matched moments become label 1, the rest stay 0. `-w:0`/`-w:1` are just `--when:0`/`--when:1`. Add **custom classes** with `--edit:N EXPR` (N = 2–255) and give each its own action with `--when:N ACTION` (default `nil` =Read the full source on GitHub (opens external page)