The fastest way to quickly non destructively edit a video in 3 steps. AI auto edit -> EDIT -> Render
- Get your agent to do he hard work of cutting the video using our YAML format below which says what gets kept.
- Open the Tiny Video Editor HTML file (all contained in one file, amazing what you can do with HTML). Select your video folder, then fine tune or fully change your cuts. to make your video flow better.
- Hit save then ask your agent to render the video - use the YAML format with with FFMPEG to produce the final output.
All done locally (well not the AI part).
Just point your agent at this URL and ask it to install this skill. Simple.
fps: 30
sources:
master: interview.mp4
broll: cutaways.mp4
timeline:
- src: master
in: 00:00:12.400
out: 00:00:28.960
label: opening line
- src: broll
in: 00:01:02.000
out: 00:01:09.500
label: hands on keyboardThat is the whole format. Re-order the list, re-order the video.
An agent can read a transcript and tell you which forty seconds of a seven-minute recording are worth keeping. It cannot tell you whether a cut lands mid-syllable, because it cannot watch or listen. You can, instantly.
So the work splits: the agent drafts the structure, you nudge the frames, the agent renders. The YAML is the handoff, and it round-trips — your edits survive the agent's, and the agent's comments survive yours.
| file | what it is |
|---|---|
assets/cutlist.html |
the editor — one file, no build, no dependencies, no server |
assets/render.py |
YAML → MP4 via ffmpeg, frame accurate |
SKILL.md |
instructions for the agent |
Copy cutlist.html next to your footage and open it. That's it — no install,
no npm, no server. Click Choose footage folder, pick the folder, edit.
python3 render.py cutlist.yaml # -> cutlist.mp4
python3 render.py cutlist.yaml --preview # fast half-size draft
python3 render.py cutlist.yaml --dry-run # print the ffmpeg commandNeeds ffmpeg on your PATH. Chromium-based browsers (Chrome, Edge, Arc) get
save-in-place; Safari and Firefox fall back to downloading a copy.
Drop the folder into ~/.claude/skills/ (or ask agent to install from above URL) and ask your agent to edit a video.
It will survey the footage, find the dead air (silence detection, or a
transcript if whisper is available), draft a cutlist, hand you the editor,
wait, and offer to render when you're done.
- Waveform under the video — cut in the silence between words, not mid-consonant. Decoded in-browser at 8 kHz; peaks cached per file.
- Zoom with
+/−, down to a 250 ms window. At full-source zoom on a seven-minute file one frame is 0.08 px; zoomed in it's ~130 px. - Frame-accurate nudging with the arrow keys. In/out points snap to the frame grid, so repeated nudges don't drift.
- Filmstrip of every cut along the bottom, generated from the footage.
- This cut / All cuts — play one cut and stop on its out frame while you're tuning it, or play the whole timeline through.
- Save overwrites the YAML in place (Chromium), and remembers the folder between sessions.
<input type="file"> and showDirectoryPicker() are read-permission grants,
not uploads. The bytes never leave the machine — the page makes no network
requests at all, and has no external scripts, fonts or stylesheets. You can
read the whole thing; it's one HTML file.
Cuts, trims and re-ordering. No transitions, titles, colour or audio mixing.
For a title card, render one with ffmpeg and add it as another source.
MIT