/new-edit-style
输入参考素材,输出一个锁定的 /<style>-edit 技能,用它做出的每一段剪辑都像参考素材的风格。这就是构建 /kallaway-edit 的流程,已写清并打磨过。使用它的人通常不是技术人员:纯英文、每步一条简短消息、绝不让他们碰代码。
SK = ${CLAUDE_SKILL_DIR},本技能的文件夹。ENGINE = ${CLAUDE_SKILL_DIR}/../kallaway-edit,它所依赖的成熟剪辑技能(包含了设置向导、转录、剪切、切出、声音、构建、渲染和质量检查)。永远不要写入 SK 或 ENGINE:更新会替换它们。
DATA = $HOME/.claude-video-editor,剪辑师自己的文件夹,在更新中保留(设置、Python、音效、字体缓存)。ROOT = 项目文件夹(DATA/config.json 中的 projectRoot)。
通过且仅通过以下方式运行每个脚本,以确保它找到用户的设置:
PY = VIDEO_EDITOR_DATA="$HOME/.claude-video-editor" "$HOME/.claude-video-editor/venv/bin/python" -I
SYS = VIDEO_EDITOR_DATA="$HOME/.claude-video-editor" python3 -I(在设置运行前使用)
STYLE = 短横线命名的小写名称(如 "kallaway")。SDIR = ROOT/references/<STYLE>/。
WORK = ROOT/work/new-edit-style/<STYLE>/(进度 PNG 放在 WORK/progress/ 中,按编号排列)。
硬性规则
- 仅使用免费工具(ffmpeg、Python、faster-whisper、HyperFrames、OFL 字体)。无付费 API,无登录。
下载参考链接时保持登出状态(
yt-dlp --no-cookies);绝不使用浏览器的 cookie。 - 绝不触碰用户的原始文件;绝不删除任何内容(将旧版本移动到
ROOT/archive/)。 - 绝不运行
npx hyperframes init或npx hyperframes skills;不在~/.claude/skills或~/.agents/skills中添加任何内容。 - 绝不把猜测当作测量结果,也绝不把声音当作听到的。智能体无法听到;用户听觉检查是最终决定。
- 复制剪辑风格是可以的;但绝不将创作者的原版素材、标志、音乐或文字复制到剪辑中。
- 子智能体:每个参考素材对应一个负责拆解(Sonnet 即可),最多同时 3 个,使用
references/breakdown-brief.md进行简报。需要判断或视觉的工作,由你亲自完成。
工作流程
0. 首次设置
如果 DATA/config.json 中缺少 "setupComplete": true,先运行剪辑师的设置向导:调用 kallaway-edit 技能并带上 setup(或阅读 ENGINE/SKILL.md 步骤 0,其中 ${CLAUDE_SKILL_DIR} 指 ENGINE,$HOME/.claude-video-editor 指 DATA):检查 Claude Code、检查工具、创建项目文件夹、安装。如果 ENGINE 缺失,请说:“本技能需要 kallaway-edit 技能安装在它旁边(因为它包含了剪辑引擎)。请从 https://github.com/learnaiwithhugo/video-editor-skills 重新安装两者,然后重新运行 /new-edit-style。” 然后停止。本技能还需要 yt-dlp(用于下载参考素材),所以始终使用 SYS "ENGINE/scripts/setup.py" --check --for new-edit-style 进行检查,无论是首次运行还是后续运行。如果 yt-dlp 缺失,请给用户修复命令(brew install yt-dlp,粘贴到终端应用),等待用户说完成,然后再次检查。
1. 输入(约 2 分钟)
一条消息询问:“请发送 2 或 3 个视频(链接或文件),来自同一个创作者,你想复制他的剪辑风格,最好是你喜欢的他们的剪辑,再给一个简短的名字来命名这个风格。” 3 个最好:规则来自所有视频共有的特点。然后:
SYS "SK/scripts/fetch.py" STYLE "ROOT" <链接或文件> ... -> SDIR/STYLE-1.mp4 ...
说:“收到。现在逐帧测量(大约需要 2 分钟)。”
2. 准备,全部脚本化(每个视频约 30 秒)
PY "SK/scripts/prep.py" "SDIR" SDIR/STYLE-*.mp4
每个视频在 SDIR/prep/<reel>/ 中:带时间戳的转录、每帧的剪切扫描、4 fps 的缩略图接触页(含时间)、全尺寸静帧、频谱图、立体声音效命中点、响度,以及 fingerprint.json(测量的风格数据)。此外还有 SDIR/style-check.png 和 SDIR/style-spec.json。
现在查看 style-check.png。 如果有一个视频明显与其他视频风格不同(不同布局、字幕、颜色),告诉用户并请求替换素材,然后再花费智能体资源。将其复制到 WORK/progress/01-style-check.png。
3. 拆解,每个视频一个智能体,并行运行(约 15 分钟)
为每个视频填写一次 references/breakdown-brief.md,并在一条消息中启动它们。每个智能体写入 SDIR/prep/<reel>/edit-log.md。在它们运行时,执行第 4 步的字体匹配。
4. 字体匹配(约 20 秒)
PY "SK/scripts/font_match.py" SDIR/STYLE-1.mp4 SDIR/prep/STYLE-1/transcripts/STYLE-1.words.json "SDIR/font"
查看 font-match.png:获胜者必须在视觉上匹配。如果前两名得分相差小于 0.01,则对第二个视频运行一次。(Kallaway:Archivo 800 at -0.045 em 得分为 0.773,高于 Helvetica Neue Bold 的 0.759。)
5. 合并到风格指南(你,约 10 分钟)
按照 references/merge-guide.md 操作:共识规则、测量数据、你需要亲自查看的关键帧面板,以及拍摄部分。输出 SDIR/STYLE-style-guide.md + SDIR/STYLE-key-frames.png。
打开关键帧面板给用户看,并提供一段总结。
6. 创建风格技能(约 2 分钟 + 你的重写,约 30 分钟)
SYS "SK/scripts/make_style_skill.py" STYLE "SDIR" --title "显示名称"
它会把成熟的引擎(ENGINE,位于本技能旁边)克隆到 ROOT/.claude/skills/STYLE-edit/:这是一个位于用户自己视频文件夹中的项目技能,而不是全局技能文件夹中,因此更新永远不会影响它。克隆共享 DATA(无需二次安装)。它添加了匹配工具(scripts/match/),从测量规格写入 style.json,并打印需要从风格指南重写的风格文件清单(SKILL.md 风格规则、style-rules.md、graphics-recipes.md、sound-map.md、filming-guide.md、工具包 CSS/JS,以及 build.py 中的布局——仅当风格具有不同布局时才需要)。重写清单上的每一项。引擎脚本保持不动,除非布局需要调整。
7. 锁定风格(约 45-60 分钟)
按照 references/lock.md 操作:在用户的素材上进行测试剪辑 -> 匹配评分 -> 修正 -> 对参考窗口进行黄金复盘 -> 修正 -> 一次评审 -> 听觉检查 -> 签收。将每个数据记录在 STYLE-edit/references/lock-log.md 中。
8. 交付
告诉用户:新命令(/STYLE-edit,只要在 ROOT 中打开 Claude Code 就可使用;如果尚未显示,请在那里重启 Claude Code),用一段描述它的功能,匹配评分和黄金数据,如何为它拍摄(从拍摄部分列出 3-4 条要点),以及仍然不匹配的内容。
预计用时(在 M4 Pro Mac 上,3 个约 1.5 分钟的视频)
fetch 1 分钟 · prep 1.5 分钟 · breakdowns 15-18 分钟(并行) · font match 20 秒 · merge 10 分钟 · make skill 2 分钟 + rewrite 30 分钟 · lock 45-60 分钟。总计约 2 小时,主要是智能体和渲染时间。
文件
scripts/:fetch.py, prep.py, fingerprint.py(测量/规格/评分), font_match.py, golden.py,
make_style_skill.py, engine.py(找到 ENGINE)。references/:breakdown-brief.md, merge-guide.md,
lock.md。templates/:style-rules.md, graphics-recipes.md, lock-log.md(复制到新的风格技能中)。