mcpField
R
roughcut

roughcut

github.com/barefootford创意与媒体61437 次安装5 周前更新
代码仓库

关于 roughcut

roughcut 是用于视频剪辑的 Skill,可将已批准的剪辑方案转为时间线并导出编辑器可用的 XML。它支持 Final Cut Pro X、Adobe Premiere Pro 和 DaVinci Resolve,并根据方案的具体程度选择直接构建或交由子 Agent 探索素材。

主要功能

  1. 01规划并确认剪辑方案
  2. 02根据方案构建时间线 YAML
  3. 03为三种编辑器导出 XML
  4. 04可选将 XML 复制到桌面
  5. 05备份视频素材库

适用场景

  1. 01将含片段和时间码的方案转为时间线
  2. 02从素材库探索片段以落实节拍方向
  3. 03为非线性编辑器导出粗剪
  4. 04剪辑后保留素材库快照

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/barefootford/buttercut --skill roughcut

安装后在 Claude Code 中输入/roughcut确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agent_prompt.md
export.rb
planning.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 会收到最终的编辑器应用值:

  1. 如果 library.yaml 中设置了 editor,则使用该值。
  2. 否则,回退使用 libraries/settings.yaml 中的 editor,并将该值写回 library.yaml。
  3. 如果两者都没有设置,则询问用户(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:

  1. 如果该键的值为 true,则将导出的 XML 复制到 ~/Desktop/,方便用户获取并导入编辑器。
  2. 如果该键的值为 false,则跳过此步骤。
  3. 如果缺少该键,则询问用户是否要将每次导出的副本放到桌面上,将其回答(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 文件

评论

支持 Markdown