
Videocut Clip
- 240 installs
- 263 repo stars
- Updated July 22, 2026
- zrt-ai-lab/opencode-skills
Automates video editing by cutting segments from footage using FFmpeg based on timestamp-driven deletion tasks, then re-transcribes and generates subtitles iteratively until the edit is clean.
About
Videocut-clip is a video editing skill that automates the process of cutting segments from video footage using FFmpeg, driven by timestamp-based deletion tasks from a prior review step. It iteratively re-transcribes the edited video and loops until all errors are eliminated, then generates SRT subtitles. A solo content creator reaches for this skill when they need to programmatically trim a recorded video and produce a subtitle file without manually running FFmpeg commands.
- FFmpeg-based video cutting using precise timestamps, not text search
- Iterative review loop: re-transcribe after each cut until errors are eliminated
- Automatic subtitle generation after final clean edit
- Supports version numbering (v1→v2→v3) per iteration cycle
- Produces edited video, re-transcription JSON, and SRT subtitle file
Videocut Clip by the numbers
- 240 all-time installs (skills.sh)
- Ranked #541 of 2,719 Automation & Workflows skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/zrt-ai-lab/opencode-skills --skill videocut-clipAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 240 |
|---|---|
| repo stars | ★ 263 |
| Last updated | July 22, 2026 |
| Repository | zrt-ai-lab/opencode-skills ↗ |
What it does
Automates video editing by cutting segments from footage using FFmpeg based on timestamp-driven deletion tasks, then re-transcribes and generates subtitles iteratively until the edit is clean.
Who is it for?
Content creators who record long videos and need to trim segments and add subtitles programmatically
Skip if: Real-time video streaming or live video processing
When should I use this skill?
You have a recorded video and a list of timestamped segments to delete
What you get
Produces a clean edited video with accurate SRT subtitles through automated iterative refinement
- edited video file
- SRT subtitle file
- re-transcription JSON
Files
<!-- input: 删除任务 TodoList(口误+静音) output: 剪辑后视频、字幕文件 pos: 执行 skill,用户确认删除任务后调用
架构守护者:一旦我被修改,请同步更新: 1. ../README.md 的 Skill 清单 2. /CLAUDE.md 路由表 -->
剪辑
执行删除 → 重新审查 → 循环直到零口误 → 生成字幕
快速使用
用户: 确认,执行剪辑
用户: 全删
用户: 保留静音3和5,其他都删前置条件
需要先执行 /videocut:剪口播 生成删除任务 TodoList
流程
1. 读取用户确认的删除任务
↓
2. 计算保留时间段
↓
3. 生成 FFmpeg filter_complex
↓
4. 执行剪辑
↓
5. 重新转录 + 审查 ←───┐
↓ │
有口误? ──是─────────┘
↓ 否
6. 生成字幕(SRT)
↓
7. 完成进度 TodoList
启动时创建:
- [ ] 确认删除任务
- [ ] 执行 FFmpeg 剪辑
- [ ] 重新转录审查
- [ ] 生成字幕循环时更新版本号(v2→v3→...)
---
一、读取删除任务(时间戳驱动)
从 /videocut:剪口播 输出的 TodoList 读取。直接使用时间戳,不要搜索文本:
口误(N处):
- [x] 1. `(start-end)` 删"错误文本" → 保留"正确文本" ← 勾选=删除
语气词(N处):
- [x] 1. `(前字end-后字start)` 删"嗯" ← 勾选=删除
静音(N处):
- [x] 1. `(start-end)` 静音Xs ← 勾选=删除
- [ ] 2. `(start-end)` 静音Xs ← 未勾选=保留⚠️ 关键规则
1. 直接用时间戳:从 (start-end) 解析,不要搜索文本 2. 不要重新搜索:审查稿已经计算好精确时间戳 3. 勾选 = 删除,未勾选 = 保留
---
二、FFmpeg 命令
ffmpeg -y -i input.mp4 \
-filter_complex_script filter.txt \
-map "[outv]" -map "[outa]" \
-c:v libx264 -crf 18 -c:a aac \
output.mp4filter.txt 格式
[0:v]trim=start=0:end=1.36,setpts=PTS-STARTPTS[v0];
[0:a]atrim=start=0:end=1.36,asetpts=PTS-STARTPTS[a0];
[0:v]trim=start=2.54:end=10.5,setpts=PTS-STARTPTS[v1];
...
[v0][a0][v1][a1]...concat=n=N:v=1:a=1[outv][outa]---
三、重新转录审查
剪辑后必须: 1. 用 FunASR 重新转录 2. 检查是否还有口误 3. 有 → 回到 /videocut:剪口播 重新识别 4. 无 → 生成字幕
---
四、输出文件
01-xxx-v2.mp4 # 剪辑后视频
01-xxx-v2_transcript.json # 重新转录(验证用)
01-xxx-v2.srt # 字幕文件版本递增:v1→v2→v3...
---
五、反馈记录
2026-01-15
- 语气词删除边界不精确:删语气词时把前面的字也删了
- 原因:直接用语气词的时间戳删除
- 正确:从前一字 end 到后一字 start
- 语气词 + 静音要一起删:
A [静音] 语气词 B要删整段 (A.end - B.start) - 教训:删除语气词时,边界是
前一字.end到后一字.start
2026-01-14
- 口误文字没删干净,只删了静音段
- 教训:直接从 TodoList 读取时间戳,不要重新查找
- "拉满新"删成了"会的时候":搜索"拉满新"时间戳跨度7秒(含6秒静音),把"拉满"也删了
- 教训:对于"删前面保后面"的口误,只删差异部分
- "AI就是AI"出现两次AI:只删了"就是",没删第一个"AI"
- 教训:替换型口误必须删完整的第一个版本
- 系统性解决:时间戳驱动,审查稿直接标注
(start-end),剪辑脚本不再搜索文本
<!-- 架构守护者:一旦此文件夹内容变化,请更新此文件 -->
videocut:剪辑
FFmpeg 视频剪辑执行 skill
文件清单
| 文件 | 用途 |
|---|---|
SKILL.md | skill 定义(剪辑流程) |
README.md | 本文件 |
依赖
- FFmpeg(
brew install ffmpeg)
输入输出
- 输入:审查稿 + 原始视频
- 输出:剪辑后视频 (v2.mp4)