Claude Skill MartBrowse skillsQuick linesLearn by videoTerminal guideWhat is a Skill?
Back to list

video-cut

Executes an agent's editing decisions: validates clip_plan.json, snaps cut points to safe scene/sentence boundaries, and concatenates the source video into edited_source.mp4.

Image & VideoAdvanced47086AI score 8/10Last updated: Aug 24, 2026

What it does

  • Validates and normalizes clip_plan.json (source-time start/end ranges) into clip_plan_validated.json with clip_id, source/output times and durations.
  • Concatenates the chosen ranges into edited_source.mp4. Deterministic output; the render is reused when it is newer than the clip plan.
  • Enforces cut-boundary safety: it first snaps to nearby hard cuts to avoid flash frames (SCENE_CUT_SNAP, margin 0.5s, detect threshold 0.4), then snaps to reliable sentence ends / silence windows. If ASR says the in/out point is mid-speech and cannot be snapped, it blocks with unsafe_clip_sentence_boundary.
  • Overlapping/duplicate source ranges are rejected by default; --allow-overlap requires narration lines to carry source_clip_id. Same-source continuous joins are lossless with no mid-sentence fades; non-continuous joins get anti-pop fades inside safe pauses.
  • Legacy single-stage mode also maps source-time narration into narration_mapped.json; the orchestrated flow uses --no-narration-map and stops after the cut.

Who it's for

  • Builders of agent-driven recap / video-summary pipelines who want the LLM to make creative choices while a script handles technically safe cutting.
  • Editors automating ffmpeg-based assembly who keep hitting half-sentence audio and jarring joins.
  • Intermediate-to-advanced users comfortable with Python + ffmpeg CLI; the docs are written in Chinese.

Examples

  1. With ASR data and speech_boundary_anchors.json from the understanding phase, the agent drafts rough ranges, then runs python3 scripts/cut.py movie.mp4 --work-dir work --target-duration 10m --no-narration-map and writes narration.json against the output timeline.
  2. To audit rapid cutting, recall candidates with ffmpeg -i input.mp4 -vf "select='gt(scene,0.35)',showinfo" -an -f null -, then classify them as original short shots, flash-like shots needing extended IN/OUT, or artifacts of this concatenation.
  3. To intentionally reuse a source moment twice, enable --allow-overlap and tag each narration line with source_clip_id for disambiguation.

· · · Install guide · · ·

Try it now, no install

Paste this into Claude to use the skill without installing anything.

Read the instructions in this file and follow them to help me:
https://raw.githubusercontent.com/zenstory-ai/video-recap-skills/HEAD/skills/video-cut/SKILL.md

What I want: (describe your task here)

If Claude can't open the link, open it yourself and paste the contents instead.

If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.

Install in the Claude app (no terminal)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Download ZIP
Install in Claude Code

Let Claude do it — paste this into Claude Code

Install the skill I found on Claude Skill Mart.
Copy the skills/video-cut folder from the GitHub repo zenstory-ai/video-recap-skills into my ~/.claude/skills/zenstory-ai-video-cut/.
When it's done, tell me in one line what this skill can do.

Install with a command instead

git clone https://github.com/zenstory-ai/video-recap-skills.git && mkdir -p ~/.claude/skills && cp -r video-recap-skills/skills/video-cut ~/.claude/skills/

This is a third-party skill. Check the source repository before installing.

  1. Open a terminal in your working folder.
  2. Clone the repo: git clone https://github.com/zenstory-ai/video-recap-skills.git
  3. Create the skills folder: mkdir -p ~/.claude/skills
  4. Copy this skill: cp -r video-recap-skills/skills/video-cut ~/.claude/skills/
  5. Verify prerequisites: python3 --version and ffmpeg -version must both work (macOS: brew install ffmpeg).
  6. Prepare a work_dir containing the source video and a clip_plan.json. This skill never picks clips itself, so also install the repo's understanding/planning skills for the full two-stage flow.
  7. Restart Claude Code and ask something like "cut the video using this clip plan" to trigger the skill.