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.

MatchDirectRecommended for Video Editing
Sourcewyattblue/​auto-editorExternal source
Reported installs394Popularity signal only

Inspect before use

Read the source instructions and check the requirements before you install this skill.

Saved source preview

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)
Context

Related work