# Chengfeng Videocut Workbench

操作 chengfeng-videocut 剪辑工作台的已有工程，通过 Runtime CLI...

- Repository: https://github.com/Agentchengfeng/chengfeng-videocut-skills (3168 stars)
- Category: Engineering
- License: Apache-2.0
- Last updated: 2026-10-10
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Agentchengfeng/chengfeng-videocut-skills --skill chengfeng-videocut-workbench -g -a claude-code -y`
Codex: `npx skills add Agentchengfeng/chengfeng-videocut-skills --skill chengfeng-videocut-workbench -g -a codex -y`
Cursor: `npx skills add Agentchengfeng/chengfeng-videocut-skills --skill chengfeng-videocut-workbench -g -a cursor -y`
Gemini CLI: `npx skills add Agentchengfeng/chengfeng-videocut-skills --skill chengfeng-videocut-workbench -g -a gemini-cli -y`

## Description

操作 chengfeng-videocut 剪辑工作台的已有工程，通过 Runtime CLI 查工程与词句位置、添加或替换画面覆盖层、移除画面、删除明确指定的词句或片段、拆分裁剪移动已有片段、调整画布比例并回读核验。用户说插入片段、删掉这句、移除动画、换个画面、调整顺序或管理时间线时使用；先区分画面覆盖与主轨顺延插入，不负责自动判断口误、创作动画、制作字幕、导出或排查安装故障。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 工作台操作

把明确的编辑要求变成现有 CLI 操作，始终在同一工程回读结果。不是另一套编辑引擎，也不是每次使用其他 Skill 前的必读入口。

## 先辨认动作

| 用户要做什么 | 本 Skill 的路径 |
|---|---|
| 看当前工程、找一句话、看已有片段和画面 | 只读定位，见 [操作方法](references/operations.md#查看与定位) |
| 在一句话上放动画或视频，保留原口播 | 画面覆盖；时间线不加长，见 [操作方法](references/operations.md#添加或替换画面) |
| 删除画面、词句或片段 | 区分对象与声音影响，见 [删除方法](references/deletion.md) |
| 分成两段、缩短一段、调换已有片段顺序 | EDL 修改，见 [操作方法](references/operations.md#拆分裁剪和移动已有片段) |
| 改横竖比例、画面铺满或完整显示 | 分清工程画布和媒体 fit，见 [操作方法](references/operations.md#画布与适配) |
| 在主时间线任意位置插新素材并顺延 | 先查当前能力；没有通用插入命令就明确缺口，不把覆盖或移位冒充插入 |

用户说“插入”时，先判断是盖画面且口播继续，还是添加新时长、让后面顺延；说“删除”时，先判断是移除画面还是剪掉声音与时间。意图已明确就执行，不重复追问；重复句、重用素材或目标不唯一时，列出位置供确认，不凭文本猜实例。

需要自动判断口误、重复和保留哪一版，交给剪口播 Skill；字幕内容与排版交给字幕 Skill；镜头/动画创作交给相应设计 Skill；成片输出交给导出 Skill；连接故障和升级交给维护与排障。不自动启动额外 Agent，也不自动安装缺失 Skill。

## 一次操作的固定流程

1. **连接**：首次或身份变化时完整读 [连接与提交](references/connection.md)。保留已确认的 Runtime 参数数组、显式 origin、服务器 projectId 和能力，不每个动作重新发现环境。
2. **读取**：仅读相关文档；保存文档自己的 revision、目标 ID、原值和预期结果。词句定位必要时分页完整读取，确认源身份和实例；不能拿字幕 cue ID 当 word ID。
3. **计划**：简短说明会改哪个对象、是否缩短时间/影响声音。用户已明确授权的范围不反复确认；新影响（额外移除关联层等）须先取得授权。
4. **提交**：按实际 `workbench commands --json` 的字段和模式调用。写操作的 `--confirmed` 表示已有授权，不是授予 Agent 权限的开关。编辑正式工程只通过 Runtime，不直接改工程 JSON。
5. **核验**：读取受影响资源，核对 ID、差异和时长，必要时检查词锚点、字幕状态及画面时序。连做多个 patch 时前一步成功回读后才构造下一步；这不是原子批量事务。
6. **交付**：分别说明数据已写入、画面/声音是否实际复核、未支持或未验证项。提交成功不等于预览/成片通过，页面没刷新也不等于没写入，先回读，不能再次提交来“刷新”。

## 失败就收住写入

- 冲突：重新读当前差异，旧批准不能通过替换成新 revision 自动重放；确认新的目标和影响后才另作计划。
- 超时、断连或 readback 失败：结果可能已写入，保存原请求和身份。按对应资源、资产哈希或原 operationId 精确查询；找不到也不证明未提交。不换 ID 盲重试。
- 资源不足、歧义目标、缺 capability：报告具体卡点，保留现有工程。不自动升级、重启、重转录、改 registry 或切到其他工具。
- 不提供通用撤销/重做、音量混音、播放控制或任意位置新媒体顺延插入的虚构命令。`playback` 是读取播放词流，`operation-recover` 是受限事务恢复，不是任意 undo。
- 删除仅指工程中的指定对象；不清理原视频、录音、已导入资产、模块文件或缓存。

## 典型请求

- “在第二句上盖这段 MP4，声音不动。” → 定位真实词 ID、导入媒体、保留旧层新增覆盖、回读。
- “把刚加的小黑动画移除。” → 定位唯一 layer，只移除该层；不剪口播，不删动画源文件。
- “把第三次说的这句删掉，后面接上。” → 核实第三个实例，走已支持的词/片段删除流程并核验新时长。
- “把第一段分两半，再把后半放到结尾。” → 使用片段局部剪后秒数拆分，回读新 ID，再按磁性时间线规则移动。

