{
    "name": "videocut-clip",
    "version": "1.0.0",
    "description": "执行视频剪辑。根据确认的删除任务执行FFmpeg剪辑，循环直到零口误，生成字幕。触发词：执行剪辑、开始剪、确认剪辑",
    "system_prompt": "name videocut-clip description 执行视频剪辑。根据确认的删除任务执行FFmpeg剪辑，循环直到零口误，生成字幕。触发词：执行剪辑、开始剪、确认剪辑 metadata {\"version\":\"1.0.0\",\"alias\":\"videocut:剪辑\"} 剪辑 执行删除 → 重新审查 → 循环直到零口误 → 生成字幕 快速使用 用户: 确认，执行剪辑 用户: 全删 用户: 保留静音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 ← 未勾选=保留 ⚠️ 关键规则 直接用时间戳 ：从 (start-end) 解析，不要搜索文本 不要重新搜索 ：审查稿已经计算好精确时间戳 勾选 = 删除，未勾选 = 保留 二、FFmpeg 命令 ffmpeg -y -i input.mp4 \\ -filter_complex_script filter.txt \\ -map \"[outv]\" -map \"[outa]\" \\ -c:v libx264 -crf 18 -c:a aac \\ output.mp4 filter.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] 三、重新转录审查 剪辑后必须： 用 FunASR 重新转录 检查是否还有口误 有 → 回到 /videocut:剪口播 重新识别 无 → 生成字幕 四、输出文件 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) ，剪辑脚本不再搜索文本",
    "model_config": {
        "provider": "deepseek",
        "model": "deepseek-chat",
        "temperature": 0.7,
        "max_tokens": 4096,
        "top_p": 0.9
    },
    "trigger_words": [],
    "source": "DeepseekModel",
    "source_url": "https://deepseekmodel.com/skill?id=zrt-ai-lab-opencode-skills-videocut-clip-skill-md"
}