关于 cut-as-code
cut-as-code 是视频编辑工作的入口技能,会依据项目状态和交付目标进行路由。它选择对应的视频技能并协调依赖与多步操作,但不负责编辑决策。
主要功能
- 01按项目状态和交付目标路由
- 02依据共享项目清单恢复进度
- 03协调操作依赖与执行顺序
- 04路由期间保持只读
- 05将工作交给专用视频技能
适用场景
- 01继续现有项目中的视频操作
- 02为新素材选择合适的视频流程
- 03协调字幕、内容卡片和动态图形
- 04准备已验证项目以供渲染
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ whitetowerai/ cut-as-code --skill cut-as-code安装后在 Claude Code 中输入/cut-as-code确认已加载。
详细介绍
Cut as Code 入口
将此作为 cut-as-code 视频工作的强制入口。仅负责路由和项目状态恢复。选定的叶子技能负责编辑决策、审核关卡、脚本、渲染细节和自检。
1. 从项目状态开始
应用第一个匹配的行。不要评估其后的行。
| 状态 | 操作 |
|---|---|
| 用户指定了对现有项目执行的具体操作 | 仅检查该操作所需的状态,然后加载负责该操作的技能。跳过常规信息收集。 |
明确指定的项目根目录中包含 work/project.json | 读取 work/project.json、work/timeline.json,以及仅与所选操作相关的计划/证据。根据记录的状态恢复。如果负责的技能不唯一,只问一个仅涉及路由的问题。 |
| 用户提供了源文件或 URL,没有项目,但明确说明了交付成果 | 加载 /video-understand 以初始化项目并准备共享证据,然后继续执行所请求的操作。 |
| 无法确定项目/源文件,或无法识别预期交付成果 | 简洁地提出一个问题,请求提供缺失的项目/源文件和预期结果。暂不启动技能。 |
项目根目录必须明确指定;绝不要将仓库根目录视为视频项目。将 work/project.json 视为唯一的共享清单。根据操作的 status、revision、based_on、check 和渲染状态判断进度,而不是根据目录是否存在来判断。不要重新执行已验证的工作。如果依赖项缺失或已过时,先完成该依赖项,再恢复所请求的操作。
路由过程只读。在决定将任务交给哪个技能时,绝不要修复、重置、批准、移除或激活任何操作。
2. 按交付成果路由
根据请求的输出进行匹配,而不是根据顺带提及的关键词。
| 请求的结果 | 负责的技能或工作流 |
|---|---|
| 探查、转录、客观分析、语义理解或初始化新项目 | /video-understand |
| 收紧、缩短、删除薄弱部分,或创建初版/粗剪 | 在 /video-understand 之后使用 /video-cut |
| 校正颜色、创建/选择视觉风格,或交付/应用 LUT | /video-color-grade;仅当用户明确要求不采用 Project Protocol 交付时,才使用其独立流程 |
| 添加与转录时间同步的视觉插入镜头 | 在 /video-understand 之后使用 /video-add-b-roll |
| 添加来源明确的动态图形或动画语义叠加 | 在 /video-understand 之后使用 /video-add-motion-graphics |
| 添加标题、下三分之一字幕、统计数据、引言、章节或行动号召 | 在 /video-understand 之后使用 /video-add-content-cards |
| 添加字幕、隐藏式字幕或卡拉 OK 字幕 | 在 /video-understand 之后使用 /video-add-captions |
| 按源时间将原片与实际最终像素进行比较 | 在已存在经过验证的主交付成果后使用 /video-edit-compare |
| 选择、审核并规划短视频片段范围 | 在 /video-understand 之后使用 /video-to-shorts;应在所请求的内容卡片和字幕之前完成 |
| 完成并提取获批的横向或竖向短视频衍生版本 | 在已存在经过验证的主交付成果后恢复 /video-to-shorts |
| 编译或渲染现有的 Project Protocol 交付成果 | 在所有选定的活动操作均通过各自关卡后,使用 /video-understand 中的 build_render_plan.py 和 render_project.py |
像“编辑这个视频”这样的通用请求并不能唯一确定 /video-cut。除非现有项目状态或上下文请求已明确预期输出,否则应提出一个路由问题。
3. 编排多项操作请求
仅冻结用户请求的操作;绝不要把路由表变成默认操作包。只运行一次共享理解前置步骤。按规范顺序执行选定的主序列操作:
cut -> color-grade -> b-roll -> captions -> content-cards -> motion-graphics
对于包含 Shorts、内容卡片或字幕的请求,使用以下分阶段流程:
/video-understand
-> /video-to-shorts plan and candidate review only
-> /video-add-captions
-> /video-add-content-cards
-> /video-add-motion-graphics
-> compile and render the shared main delivery once
-> /video-to-shorts finalize and extract approved derivatives
在规划 Shorts 之前,先完成任何会更改时间线的操作,例如 /video-cut;变更后的 work/timeline.json 会使候选内容审批失效。Shorts 规划会写入共享计划/审核状态,但不得创建 final.mp4 或 final/shorts/ 下的任何内容。随后,字幕、内容卡片和动态图形按此顺序分别添加自己的共享计划和叠加内容。只选其中任意两项时,也适用相同顺序:先字幕,再内容卡片,最后动态图形。每次交接前都重新读取 work/project.json。如果叶子技能可能写入 work/project.json、work/timeline.json、操作计划或共享渲染产物,就不要并行运行。所有选定的活动操作均通过验证后,再构建并渲染一次主交付内容。针对已验证的交付内容运行 /video-edit-compare,并且只运行 /video-to-shorts 的最终化/提取阶段;Shorts 不属于 sequences.main.operations。
对于 /video-add-content-cards 和 /video-add-motion-graphics,整个提示期间都要为每位主要人物或前景人物、演讲者、主持人、受访者或具有重要语义的人物保留可见面部和头部轮廓。仅出现在背景、且并非叙事或视觉焦点的偶然人物可不受此限制;不确定时应予以保护。如果叠加内容触及受保护的面部或头部,应先重新定位,再缩放或重新设计;如果找不到合规位置,则跳过该提示。
如果所属技能允许,全跳过或零提示结果均有效。不要为了让某项操作保持活动状态而捏造填充工作。
4. 完成交接,然后退出
开始操作前,阅读所选技能的完整 SKILL.md 以及所有必需的子技能。对于单项操作,只交接一次,然后退出此入口。对于用户请求的多项操作,逐项进入对应负责人;完成自检后,恢复项目状态并继续执行下一个冻结操作,无需重新进行请求确认。
如果路由明确无误,不要让用户批准路由。只有在缺少输入、路由确有歧义、需要凭据,或需要由所属技能作出编辑/审核决策时,才与用户交互。除非用户明确授权,否则绝不要以 Agent 的决定替代必需的人工决定。
示例
对于“继续处理这个已理解的项目并添加字幕”的请求,先读取当前项目和时间线版本,然后进入 /video-add-captions。不要重新转录、重新剪辑,也不要询问用户是否要走字幕这条路由。无关的待处理操作不会改变路由,但活动中尚未验证的操作可能会阻止最终共享渲染;编译器必须报告这一点。
失败规则
- 项目状态无效:报告确切的验证问题;绝不要在其上重新初始化。
- 缺少叶子技能或前置步骤:停止并指出缺少的内容;不要凭记忆重新构建。
- 缺少源文件/项目路径:在唯一一次路由提问中询问。
- 请求的输出相互冲突:询问本次运行应以哪个交付内容为准。
- 已有用户更改或产物:予以保留,并依据记录的状态开展工作。