video-cut

video-cut is a skill for Claude Code from zenstory-ai/video-recap-skills. It costs 119 tokens per session (1,764 once invoked), scanned A, original, MIT.

A video-editing skill that turns selected time ranges from a long source video into a shorter video. It follows decisions recorded in a clip plan and can also map an existing narration timeline to the edited result.

In plain words
What is it for?
Use it to validate a clip plan, select sections from one or more videos, join them into an edited source video, and optionally map narration timings.
Why use it?
It handles the mechanical cutting and joining after the desired moments have been chosen. It also checks clip boundaries against speech and natural pauses to help avoid cutting off audio.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter.

Part of the video-recap-skills plugin — 6 skills shipped together

Good fit Use it to validate a clip plan, select sections from one or more videos, join them into an edited source video, and optionally map narration timings.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/zenstory-ai/video-recap-skills/video-cut
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add zenstory-ai/video-recap-skills --skill video-cut
Clone the repo
git clone --depth 1 https://github.com/zenstory-ai/video-recap-skills

Made for: Claude Code.

Or install video-recap-skills, the plugin that ships this one along with the rest of its 6 skills.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for video-cut

README.md
[![agentmods](https://agentmods.dev/badge/skills/zenstory-ai/video-recap-skills/video-cut/github.svg)](https://agentmods.dev/skills/zenstory-ai/video-recap-skills/video-cut)
Your own site
<a href="https://agentmods.dev/skills/zenstory-ai/video-recap-skills/video-cut"><img src="https://agentmods.dev/badge/skills/zenstory-ai/video-recap-skills/video-cut/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for video-cut

Your own site · 80×15
<a href="https://agentmods.dev/skills/zenstory-ai/video-recap-skills/video-cut"><img src="https://agentmods.dev/badge/skills/zenstory-ai/video-recap-skills/video-cut.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 119 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,764 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00119 $0.01764
Opus 5 $0.00060 $0.00882
Sonnet 5 $0.00024 $0.00353
Haiku 4.5 $0.00012 $0.00176

Measured 13d ago against content hash 6ac561990a6e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade A, and why

video-cut scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 13d ago.

The scan reads SKILL.md. This mod also ships 8 executable files (scripts/cut_cli.py, scripts/cut_contract.py, scripts/cut_render.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

Copies of this mod

1 near-identical copy found in the catalogue:

  • video-cut — 100% identical, 0 lines differ
skills/video-cut/SKILL.md · 91 lines

How it starts

The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.

1. 定位

本技能只执行 Agent 已经做出的剪辑决定:

  1. 校验并补全 clip_plan.json,写出带 clip_id、原片/输出时间与时长的 clip_plan_validated.json
  2. 先避开原片硬切附近的闪帧风险,最后把边界吸附到可靠句末/自然停顿;声音完整性拥有最终优先级。
  3. 拼接选定区间,输出 edited_source.mp4
  4. 编排流程默认到此停止,由 Agent 按真实输出时间线写 narration.json
  5. 旧版单阶段路径还会把原片时间的旁白映射为 narration_mapped.json

相同输入会得到相同输出。缓存仅表示:当 edited_source.mp4 新于 clip_plan.json 时复用成片。

2. 输入契约

work_dir/clip_plan.json 可以是数组,也可以是 {"clips": [...]}

{"start": 12.0, "end": 28.5, "reason": "b02 | turn | power: A→B | POV=女主 | 保留反应 | 入点=问题落下 | 出点=沉默结束"}
  • start / end 是原片秒数;也接受 source_start / source_endin / out
  • 顶层可选 target_duration,例如 "10m"
  • 多视频项目的每个片段还必须填写 source_id
  • speech_boundary_anchors.json 与 ASR 时间段由理解阶段提供;Agent 先写大致区间,工具会尝试吸附并把仍在讲话区间内的入/出点作为 blocker 返回。

work_dir/narration.json 只在旧版单阶段路径中可选读取;该路径要求旁白使用原片时间。若允许重复或重叠片段,旁白可带 source_clip_id 消歧。

3. 剪辑意图契约

工具不会替 Agent 做创作选择。写片段前先完成本节的剪辑意图检查,并让每个区间映射到 recap_story_plan.json 的一个 beat。

使用现有自由文本 reason 保存简洁决定:

beat_id | function | change | POV | preferred moment | 入点 reason | 出点 reason

不要因为“事件重要”就保留整段;要保留最能让 change 成立的具体表演、反应、动作或揭示。理解与情绪允许时晚进早出,同时保证台词、动作和技术边界完整。

下面的 scripts/... 均相对于本技能目录。若执行器从仓库根目录启动,请给脚本路径加上本技能的绝对目录。脚本不从其他技能目录读取文件;外部输入仅限命令显式传入的视频、参数与 work_dir 产物。

4. 运行命令

python3 scripts/cut.py <video> --work-dir <work_dir> \
  [--target-duration 10m] [--clip-padding 0] [--allow-overlap]

5. 输出契约

  • clip_plan_validated.json:标准化片段,包含 clip_idsource_start/endoutput_start/endduration
  • edited_source.mp4:按计划拼接后的短视频。
  • narration_mapped.json:仅旧版单阶段路径生成;编排流程使用 --no-narration-map,不会生成该文件。

编排流程下游把 edited_source.mp4 当作视频,把 Agent 按输出时间写的 narration.json 当作旁白。

6. 边界与时间线规则

  • 旧版路径中,clip_plan.jsonnarration.json 都使用原片时间;本工具负责原片 → 输出映射。
  • 编排路径中,narration.json 直接使用剪后输出时间,不再映射。
  • 默认禁止重叠或重复原片区间;--allow-overlap 开启后,旁白应填写 source_clip_id
  • 片段起点只能位于源头、可靠句末/静音窗,或与上一片段构成无损同源连续连接;片段终点同理。ASR 判定仍在讲话且无法吸附时写入 unsafe_clip_sentence_boundary 并阻断。
  • SCENE_CUT_SNAP 默认开启:先按画面把 source start 向后、source end 向前吸附到附近硬切,随后句末吸附再做最终修正,避免视觉修正重新制造半句原声。默认范围为 SCENE_CUT_SNAP_MARGIN=0.5 秒,检测阈值为 SCENE_CUT_DETECT_THRESHOLD=0.4
  • scene-change score 只提供接点候选,不证明接点自然。先检查短时间窗内是否出现密集候选,再区分来源:原片自带的无关短镜头整段删除;相关但短到像闪帧的镜头通过扩展 IN/OUT 保留完整动作、反应或台词,不用定格/慢放伪造时长;由本次拼接制造的切点则优先移动边界、恢复同源连续运动、合并相邻片段或改用更自然的连接,尽量消除。成片后仍要逐个播放接点前后约 0.5–1 秒;白闪或曝光叠化再结合逐帧亮度定位,不能为了通过视觉检测切断完整台词,也不能用转场遮掩坏接点。
  • 连续同源片段的无损连接不做句中双侧音频淡出;非连续片段仍在安全停顿内做防爆音淡入淡出。
  • 旧版旁白映射若跨越 clip 边界,不再裁短后继续:clamped_beats 永久阻断,--allow-sparse-cut 也不能绕过旁白句子完整性。

Read the full file on GitHub · 91 lines

Files

What ships with it

8 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 13d ago First seen · 91 lines · 119 tokens per session scan A 6ac561990a6e

Subscribe to this mod's changes

video-cut is a skill published in the GitHub repository zenstory-ai/video-recap-skills (505 stars, last pushed today), licensed MIT. It adds 119 tokens to every session and 1,764 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

narrator-ai-cli

A command-line client for creating AI-narrated movie and short-drama videos. It can guide a workflow from selecting source material, templates, music, and voices to writing narration and combining the video.

NarratorAI-Studio/narrator-ai-cli-skill · 132 tokens

narrator-ai-cli

Create AI-narrated film/drama commentary videos via CLI. Two workflow paths (Original & Adapted narration), 93 movies, 146 BGM tracks, 63 dubbing voices in 11 languages, 90+ narration templates. Use when creating narration videos, film commentary, short drama dubbing, or video production.

NarratorAI-Studio/narrator-ai-cli · 73 tokens

director-agent

Skill "director-agent" from 6174/recut, covering director agent, core rule, usability and anti-laziness contract, output must be usable and modes.

6174/recut · 0 tokens

recut-editor

A timeline-editing skill for creating new videos or changing parts of an existing timeline in a CapCut-style editor. It can work with media assets and export the result while keeping edits undoable.

6174/recut · 78 tokens

recut-directing-qc

A quality-control workflow for diagnosing problems in a finished video. It connects each visible symptom to a likely cause and a repair, then checks whether the fix passes review.

6174/recut · 47 tokens

recut-directing-short-drama

A directing guide for planning the production of story-based AI short dramas, animated dramas, and narrative short videos. It covers decisions from story intent through a controlled production process and contract management.

6174/recut · 56 tokens