agentleFS
AbdalkaderdevAbdalkaderdev/takecut/skills/video-edit/SKILL.md

video-edit

Skill0 starsChanged 35 days agoMITView on GitHub

Edit real video footage through its transcript. Probes a file, transcribes it locally with word timestamps (faster-whisper, GPU or CPU, no API key), lets you cut by editing a JSON edit decision list (EDL), and renders frame-accurate output with click-free cuts. Use when the user wants to cut, trim, rearrange or join video/audio clips by what is said, remove sections, or needs a transcript with timecodes. Also the shared engine for the video-cleanup, video-shorts and video-captions skills.

  • Reads credentials
  • Installs packages

27 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use flux-2-klein, flux-kontext and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • agentspace-soSkill

    flux-2-klein

    Generate images with Flux 2 Klein (Black Forest Labs' distilled fast variant of Flux 2) on RunComfy — bundled with the model's documented prompting patterns so the skill gets sharper output than naive prompting against the same model. Documents Flux 2 Klein's strengths (sub-second latency, multi-reference brand styling, declarative subject-first prompts), the step-count strategy (4–8 for fast iteration, ~25 for polish), the 9B vs 4B variant trade-off, and when to route to Flux 2 Pro / Seedream 5 / GPT Image 2 instead. Calls `runcomfy run blackforestlabs/flux-2-klein/9b/text-to-image` (or `/4b/`) through the local RunComfy CLI. Triggers on "flux 2 klein", "flux-2-klein", "flux klein", "BFL flux 2", or any explicit ask to generate with this model.

    Also in 4 projects that use this

  • agentspace-soSkill

    flux-kontext

    Edit images with Flux 1 Kontext Pro (Black Forest Labs' precise local image-edit model) on RunComfy — bundled with the model's documented prompting patterns so the skill gets sharper output than naive prompting against the same model. Documents Flux Kontext's strengths (single-reference precise local edits, strong prompt control, consistent high-fidelity outputs), the schema (single image + prompt), and when to route to Nano Banana Edit / GPT Image 2 edit / Flux 2 Klein instead. Calls `runcomfy run blackforestlabs/flux-1-kontext/pro/edit` through the local RunComfy CLI. Triggers on "flux kontext", "flux-kontext", "flux 1 kontext", "kontext", "BFL kontext", or any explicit ask to edit with this model.

    Also in 4 projects that use this

  • prime-skillsSkill

    ace-step

    Generate, inpaint, and outpaint music with ACE Step on RunComfy via the `runcomfy` CLI. ACE Step is StepFun-AI's open-weights music foundation model — tag-driven composition (genre, mood, instruments), multilingual lyrics with section markers, 5 s to 4 min stereo output, $0.0002–0.0003 per second (≈ 27× cheaper than ElevenLabs Music). Four endpoints: ACE Step text-to-audio (the default), ACE Step 1.5 text-to-audio (50+ language lyrics, refined structured-lyric handling), ACE Step audio-inpaint (regenerate a time range inside an existing track), ACE Step audio-outpaint (extend an existing track before or after). Triggers on "ace step", "ace-step", "acestep", "ACE music", "open music model", "cheap AI music", "inpaint audio", "audio inpaint", "extend music", "audio outpaint", "lengthen track", "music with tags", or any explicit ask to generate or edit music with ACE Step.

    Also in 3 projects that use this

  • prime-skillsSkill

    codex-pet

    Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into `${CODEX_HOME:-$HOME/.codex}/pets/<name>/` and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as `runcomfy run openai/gpt-image-2/edit` to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no `$imagegen`, no OPENAI_API_KEY required, only RUNCOMFY_TOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.

    Also in 3 projects that use this

  • +3 more from agentspace-so
  • +5 more from prime-skills

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 2 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 22 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read a video as text, decide the cut as data, render it with a tested script.

    line 13
  2. Very specific:

    Never modify, move or overwrite a source file.

    line 20
  3. Very specific:

    Always render --preview first and tell the user the path.

    line 21
  4. Distinctive:

    If it warns about variable frame rate (phone footage), convert to CFR first (see references/edl.md) and edit the converted file.

    line 32
  5. Very specific:

    Use --prompt "Names, Jargon" for unusual spellings.

    line 38

“Common” is measured: kept by at least 6 in 10 of the 22 edited versions of this file we could read. “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-edit

Read a video as text, decide the cut as data, render it with a tested script. Never improvise raw ffmpeg for cutting; use the scripts below. scripts/... means this skill's folder + scripts/...: run them by full path from the user's working directory (don't cd into the skill folder), e.g. uv run /path/to/skills/video-edit/scripts/probe.py talk.mp4.

Rules

  • Never modify, move or overwrite a source file. Everything goes to edits/<name>/ next to it.
  • Always render --preview first and tell the user the path; render the final only after they agree (or they said to go straight to final).
  • Print the exact output paths you produced.
  • Long jobs: transcription runs at a few times realtime on CPU (small) and 15x+ on a laptop GPU (large-v3-turbo). For a 1 h file on CPU, warn the user, suggest --model base, or run it in the background.

Workflow

  1. Probe - duration, fps, resolution, VFR/rotation warnings: uv run scripts/probe.py INPUT If it warns about variable frame rate (phone footage), convert to CFR first (see references/edl.md) and edit the converted file.
  2. Transcribe - writes edits/<name>/transcript.words.json and transcript.txt: uv run scripts/transcribe.py INPUT [--language en] [--model small|large-v3-turbo] [--device cpu] With an NVIDIA GPU it fetches CUDA libraries through uv once and uses large-v3-turbo. --api groq / --api openai use GROQ_API_KEY / OPENAI_API_KEY instead (audio is uploaded). Use --prompt "Names, Jargon" for unusual spellings.
  3. Read transcript.txt. One line per segment: [s0012 00:01:03.420-00:01:07.900] text. Segment ids are stable; refer to them in the EDL.
  4. Write an EDL (edits/<name>/<edit-name>.edl.json). Minimal forms:
    {"sources": {"main": "../../talk.mp4"}, "transcripts": {"main": "transcript.words.json"},
     "drop": [{"segs": "s0004-s0006"}, {"start": "00:02:10.5", "end": 135.2, "reason": "off topic"}]}
    {"sources": {"main": "../../talk.mp4"}, "transcripts": {"main": "transcript.words.json"},
     "clips": [{"segs": "s0030-s0034"}, {"segs": "s0002"}, {"start": 61.0, "end": 64.5}]}
    clips = what to keep, in output order (may reorder, may use several sources). drop = what to remove from the clips (or from whole sources when there are no clips). Full schema, options (pad, fade, loudnorm, output size) and multi-source joins: references/edl.md.
  5. Preview: uv run scripts/render.py EDL --preview -> <edit-name>.preview.mp4 (480p, fast).
  6. Final: uv run scripts/render.py EDL -> <edit-name>.mp4 plus <edit-name>.words.json and <edit-name>.txt (the transcript remapped to the new timeline; use them for captions or shorts of the edit without re-transcribing).

What render guarantees

Frame-accurate cuts (piece boundaries snap to the source frame grid), a 15 ms audio fade at every cut, audio and video of identical length per piece (A/V sync never drifts), mixed resolutions/frame rates normalized to the first source (or output.width/height/fps), sources without audio get silence, optional two-pass EBU R128 loudness normalization.

Related skills

  • video-cleanup: automatic silence / filler / retake removal -> an EDL for this renderer.
  • video-shorts: vertical 9:16 clips with face tracking and captions.
  • video-captions: SRT/VTT/styled burned-in captions and translation.
  • video-ffmpeg: tested one-off ffmpeg recipes (compress, GIF, speed, music ducking...).

Troubleshooting

  • ffmpeg not found: install it (winget install Gyan.FFmpeg / brew install ffmpeg / apt install ffmpeg).
  • CUDA errors fall back to CPU automatically; --device cpu skips the GPU entirely.
  • Bad word timings on music-heavy audio: try --no-vad or a larger --model.

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.

Reviews can't be read right now.

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.