video-clip-editor
Skill0 starsChanged 57 days agoApache-2.0View on GitHub
Trim, cut, name, and verify local video clips with ffmpeg.
In this repository12 other files it gives its agents.
- blackboardSkill
- chatterbox-tts-recoverySkill
- check-notes-firstSkill
- council-blackboardSkill
- invariant-guarded-debuggingSkill
- local-model-runtime-profilerSkill
- minimum-sufficient-changeSkill
- openwebui-regression-testSkill
- privileged-operationsSkill
- risk-aware-retrySkill
- session-handoverSkill
- symlink-space-saverSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 7 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 8
Use when the user asks to trim, cut, rename, or make a shareable clip from a local video file.
- Distinctive: line 15
Do not assume an extension.
- Distinctive: line 18
Write beside the input unless the user asks otherwise.
- Very specific: line 19
Use a clean, descriptive basename from the requested title/game, e.g.
- Very specific: line 21
Default to .mkv for Matroska/WebM input or unknown/no-extension containers.
- Very specific: line 22
Keep the temporary file in the same intended container as the final output: use .tmp.mkv for Matroska and .tmp.mp4 for MP4.
- Very specific: line 25
If the user says from A to B, compute duration as B - A and use -ss A -t duration.
- Distinctive: line 34
Always probe the result. If duration includes preroll, starts early, or misses the requested boundary, replace it with an accurate …
- Very specific: line 41
Use libx265 only when the user asks for HEVC/smaller output or the existing workflow clearly prefers HEVC.
- Distinctive: line 43
Verify before reporting done:
- Distinctive: line 49
Check the duration is within normal encoder tolerance of the requested duration.
- Distinctive: line 51
If verification passes, move/rename the temp file to the final output path without changing container type.
- Distinctive: line 62
Do not delete source videos or failed outputs unless the user explicitly asks.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Video Clip Editor
Use when the user asks to trim, cut, rename, or make a shareable clip from a local video file. Prefer deterministic ffmpeg/ffprobe work and keep the source untouched.
Workflow
- Inspect the input first:
ls -lh <input>ffprobe -hide_banner -show_format -show_streams -print_format json <input>- Do not assume an extension; SSR/Matroska files may have no suffix.
- Choose the output path:
- Write beside the input unless the user asks otherwise.
- Use a clean, descriptive basename from the requested title/game, e.g.
clip-2026-08-16_01.00.00.mkv. - Preserve the original file. If the output exists, use a suffix or ask before overwriting.
- Default to
.mkvfor Matroska/WebM input or unknown/no-extension containers. Use.mp4only when codecs/container compatibility is intended. - Keep the temporary file in the same intended container as the final output: use
.tmp.mkvfor Matroska and.tmp.mp4for MP4. Renaming a Matroska file to.mp4does not convert its container.
- Convert time ranges carefully:
- If the user says
from A to B, compute duration asB - Aand use-ss A -t duration. - Example:
00:00:03to00:05:23is00:05:20, not00:05:23of output.
- If the user says
- Pick the cut method:
- Fast/lossless attempt when approximate keyframe boundaries are acceptable:
ffmpeg -hide_banner -y -ss START -i INPUT -t DURATION -map 0 -c copy -avoid_negative_ts make_zero OUTPUT.tmp.CONTAINER CONTAINERmust match the intended final container, for examplemkvormp4.- Always probe the result. If duration includes preroll, starts early, or misses the requested boundary, replace it with an accurate re-encode.
- Accurate default for user-facing clips:
ffmpeg -hide_banner -y -i INPUT -ss START -t DURATION -map 0 \ -c:v libx264 -preset veryfast -crf 22 -pix_fmt yuv420p \ -c:a aac -b:a 128k OUTPUT.tmp.CONTAINER - Use
libx265only when the user asks for HEVC/smaller output or the existing workflow clearly prefers HEVC; it is slower and may be less broadly shareable.
- Fast/lossless attempt when approximate keyframe boundaries are acceptable:
- Verify before reporting done:
- Probe duration, size, codecs, dimensions, and container:
ffprobe -hide_banner -show_entries format=format_name,duration,size:stream=index,codec_name,codec_type,width,height,avg_frame_rate \ -of default=noprint_wrappers=1 OUTPUT.tmp.CONTAINER - Check the duration is within normal encoder tolerance of the requested duration.
- Confirm the probed container matches the intended final extension.
- If verification passes, move/rename the temp file to the final output path without changing container type.
- Probe duration, size, codecs, dimensions, and container:
- Final response:
- Give the final absolute path.
- State the requested source range and final probed duration.
- Mention the original was left untouched.
Notes
- Stream copy is not enough by itself for exact starts: keyframes can preserve a few seconds of preroll. Treat
ffprobeas the judge. - For game clips, 1080p/60 H.264 CRF 22 with AAC 128k is a good default balance of speed, compatibility, and size.
- Do not delete source videos or failed outputs unless the user explicitly asks; overwrite temp files freely.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

