agentleFS
pinguypinguy/Skills/skills/video-clip-editor/SKILL.md

video-clip-editor

Skill0 starsChanged 57 days agoApache-2.0View on GitHub

Trim, cut, name, and verify local video clips with ffmpeg.

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
  1. Very specific:

    Use when the user asks to trim, cut, rename, or make a shareable clip from a local video file.

    line 8
  2. Distinctive:

    Do not assume an extension.

    line 15
  3. Distinctive:

    Write beside the input unless the user asks otherwise.

    line 18
  4. Very specific:

    Use a clean, descriptive basename from the requested title/game, e.g.

    line 19
  5. Very specific:

    Default to .mkv for Matroska/WebM input or unknown/no-extension containers.

    line 21
  6. Very specific:

    Keep the temporary file in the same intended container as the final output: use .tmp.mkv for Matroska and .tmp.mp4 for MP4.

    line 22
  7. Very specific:

    If the user says from A to B, compute duration as B - A and use -ss A -t duration.

    line 25
  8. Distinctive:

    Always probe the result. If duration includes preroll, starts early, or misses the requested boundary, replace it with an accurate …

    line 34
  9. Very specific:

    Use libx265 only when the user asks for HEVC/smaller output or the existing workflow clearly prefers HEVC.

    line 41
  10. Distinctive:

    Verify before reporting done:

    line 43
  11. Distinctive:

    Check the duration is within normal encoder tolerance of the requested duration.

    line 49
  12. Distinctive:

    If verification passes, move/rename the temp file to the final output path without changing container type.

    line 51
  13. Distinctive:

    Do not delete source videos or failed outputs unless the user explicitly asks.

    line 62

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

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

  1. 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.
  2. 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 .mkv for Matroska/WebM input or unknown/no-extension containers. Use .mp4 only when codecs/container compatibility is intended.
    • Keep the temporary file in the same intended container as the final output: use .tmp.mkv for Matroska and .tmp.mp4 for MP4. Renaming a Matroska file to .mp4 does not convert its container.
  3. Convert time ranges carefully:
    • If the user says from A to B, compute duration as B - A and use -ss A -t duration.
    • Example: 00:00:03 to 00:05:23 is 00:05:20, not 00:05:23 of output.
  4. 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
    • CONTAINER must match the intended final container, for example mkv or mp4.
    • 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 libx265 only when the user asks for HEVC/smaller output or the existing workflow clearly prefers HEVC; it is slower and may be less broadly shareable.
  5. 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.
  6. 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 ffprobe as 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.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.