关于 roughcut
roughcut 是用于视频剪辑的 Skill,可将已批准的剪辑方案转为时间线并导出编辑器可用的 XML。它支持 Final Cut Pro X、Adobe Premiere Pro 和 DaVinci Resolve,并根据方案的具体程度选择直接构建或交由子 Agent 探索素材。
主要功能
- 01规划并确认剪辑方案
- 02根据方案构建时间线 YAML
- 03为三种编辑器导出 XML
- 04可选将 XML 复制到桌面
- 05备份视频素材库
适用场景
- 01将含片段和时间码的方案转为时间线
- 02从素材库探索片段以落实节拍方向
- 03为非线性编辑器导出粗剪
- 04剪辑后保留素材库快照
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ barefootford/ buttercut --skill roughcut安装后在 Claude Code 中输入/roughcut确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agent_prompt.mdexport.rbplanning.md详细介绍
Skill:Roughcut
与用户规划剪辑,然后构建时间线并导出,供用户的编辑器使用。
1. 规划剪辑
如果通过 skill 参数传入了计划文件路径(libraries/[library-name]/plans/plan_[short-name]_[timestamp].md),且该文件已存在,则跳到第 2 步——计划已获批准。
否则,阅读 skills/roughcut/planning.md,并与用户一起执行其中的流程。流程涵盖验证片段覆盖情况、询问用户是否有脚本或纸面剪辑稿、选择时长、提出概念、细化节拍、获得明确批准,以及保存计划 Markdown 文件。
只有当 libraries/[library-name]/plans/plan_[short-name]_[timestamp].md 中存在计划文件后,才能继续执行第 1 步之后的内容。
2. 确定编辑应用(仅父 Agent)
子 Agent 会收到最终的编辑器应用值:
- 如果
library.yaml中设置了editor,则使用该值。 - 否则,回退使用
libraries/settings.yaml中的editor,并将该值写回library.yaml。 - 如果两者都没有设置,则询问用户(Final Cut Pro X / Adobe Premiere Pro / DaVinci Resolve),然后将选择保存到
library.yaml和libraries/settings.yaml。
3. 决定:直接构建还是启动子 Agent
根据还剩多少编辑工作,选择以下两种路径:
如果计划已经足够具体,则在主线程中直接构建。 如果获批的计划指定了具体片段和具体的入点/出点时间戳(或对话片段足够精确,可通过 grep 音频转录文本映射到时间戳),则探索工作已经完成。主线程在规划期间已掌握相关片段和裁剪点;交给子 Agent 只会重复已知工作。按照 agent_prompt.md(YAML 结构、对话修正、导出命令)自行编写 YAML 并导出。导出命令如下,便于你直接使用:
# Final Cut Pro X
mise exec -- ruby -Ilib ./.claude/skills/roughcut/export.rb --editor fcpx libraries/[library-name]/roughcuts/[slug]_[timestamp].yaml libraries/[library-name]/roughcuts/[slug]_[timestamp].fcpxml
# Premiere Pro
mise exec -- ruby -Ilib ./.claude/skills/roughcut/export.rb --editor premiere libraries/[library-name]/roughcuts/[slug]_[timestamp].yaml libraries/[library-name]/roughcuts/[slug]_[timestamp].xml
# DaVinci Resolve
mise exec -- ruby -Ilib ./.claude/skills/roughcut/export.rb --editor resolve libraries/[library-name]/roughcuts/[slug]_[timestamp].yaml libraries/[library-name]/roughcuts/[slug]_[timestamp].xml
如果 mise 不可用,则去掉 mise exec -- 前缀。
如果计划只是节拍级方向,则启动子 Agent。 如果计划只描述节拍意图(“找一个 X 的瞬间”“在聚会到场画面上叠加 B-roll”、跨多个片段的数分钟粗剪),则构建过程需要广泛探索素材库——阅读摘要、扫描转录文本,并从数十个候选片段中挑选。这项工作应交给子 Agent,以保护主线程上下文。
经验法则:如果对话内容精确,且只有 5 或 6 个片段,就自行直接构建。如果要生成的粗剪需要探索,则使用子 Agent。
调用子 Agent
Agent tool with:
- subagent_type: "general-purpose"
- description: "Build roughcut YAML and XML from approved plan"
- prompt: [see template below]
Agent 提示词模板
You are a video editor AI agent for the "{library_name}" library. The plan below is approved direction — beats, intent, rough length, format. The specific clips are yours to find inside the library. Create an initial draft that focuses on a coherent story with coherent dialogue, then review your work, focusing on the dialogue, consider what improvements should be made, then make those improvements and refine before returning.
LIBRARY YAML: libraries/{library_name}/library.yaml
APPROVED PLAN:
{paste full plan markdown}
EDITOR: {editor}
TASK:
1. Read `.claude/skills/roughcut/agent_prompt.md`
2. Follow the steps there in order (the plan is already approved — don't re-propose)
3. Return paths to the YAML and XML, plus your editorial notes (alternatives, judgment calls, plan deviations) in conversational prose
4. 上下文约定
启动子 Agent 时,它会直接读取 library.yaml——它需要完整的素材清单,以及 footage_summary 和 user_context。这是对并行 skill 约定的有意例外:roughcut 以单个 Agent 运行(不存在竞争风险),而编辑工作所需的素材库上下文,比内联传递能轻松支持的范围更广。
5. 将 XML 复制到桌面(如果启用)
检查 libraries/settings.yaml 中的 save_to_desktop_after_export:
- 如果该键的值为
true,则将导出的 XML 复制到~/Desktop/,方便用户获取并导入编辑器。 - 如果该键的值为
false,则跳过此步骤。 - 如果缺少该键,则询问用户是否要将每次导出的副本放到桌面上,将其回答(
true/false)保存到libraries/settings.yaml,然后按设置执行。
cp [library xml path] ~/Desktop/
素材库中的副本仍是规范文件;桌面副本只是为了方便。
6. 备份素材库
运行 backup-library skill。此操作会快照素材库(yaml、转录文本、摘要、计划、粗剪),以便在需要时恢复进度。
7. 报告结果
向用户展示 Agent 的返回消息——如果用户启用了库 XML 路径或桌面 XML 路径,则展示相应路径。还要附上 Agent 提供的极简编辑备注。不要包含 YAML 路径——它是内部构建产物,不是用户要打开的内容。这些备注是后续对话的切入点;小改动可以直接在 YAML 中完成,然后重新导出,无需再调用另一个子 Agent。对于较大的改动,可以指派 Claude Sonnet 或同等水平的子 Agent 来完成。
还要附上所用编辑器的一行导入说明:
- **Final Cut Pro X:**在 Final Cut Pro 中打开剪辑,选择「文件 → 导入 → XML」
- **Adobe Premiere Pro:**在 Premiere 中打开剪辑,选择「文件 → 导入」,然后选择 XML 文件
- **DaVinci Resolve:**在 Resolve 中打开剪辑,选择「文件 → 导入 → 时间线」,然后选择 XML 文件