iamzifei/zmm · Archived

zmm-cut

📐 詹明明·口播剪辑 ——口播成片剪辑技能。把拍好的素材剪成可发布的成片:**按文案规则做? 🔴 **只删和重排,不加词** —— 说话人没说过的话一个字都不加。 詹明明账号的默认参数已固化(抖音 · 保持原长 · 1.15× · HarmonyOS Sans 粗体字幕 · 黄色 #FFE20A 高亮),**不需要每次重说**;换账号只改 §一 那张表,正文流程不变。 检测不到 ChatCut 会引导安? 触发方式:/zmm-cut、/剪辑、/剪片、/zmm-剪、「把这条剪出来」「素材剪成成片」「去口癖」「加字幕」「这条视频剪一下」「重新排一下顺序」 Talking-head footage → publishable c…

Installation

$ npx skills add iamzifei/zmm --skill zmm-cut

Summary

  • 📐 詹明明·口播剪辑 ——口播成片剪辑技能。把拍好的素材剪成可发布的成片:**按文案规则做内容层重组**(删废镜头/去重复/重排顺序)→ 语音剪辑(去口癖/停顿)→ 加速 → 字幕 → B-roll → 交付。
  • 🔴 **只删和重排,不加词** —— 说话人没说过的话一个字都不加。
  • 詹明明账号的默认参数已固化(抖音…

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Also in this package

Other skills from iamzifei/zmm · top by installs.

npx skills add iamzifei/zmm

Browse all from iamzifei/zmm

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
License LICENSE
Default branch main
Open issues 0
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Version0.3.0
Declared agents clawdbot
More metadata
openclaw
{"emoji":"📐"}

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 14,681 B
  • docs SUMMARY.md 1,316 B

History

  1. First recorded snapshot · 3 installs

SKILL.md

zmm-cut:口播成片剪辑

它管的是「拍完之后」。 拍之前的选题、写稿、审核归 /zmm-topic /zmm-script /zmm-review。

## 🔴 边界:只删和重排,不加词(2026-09-05 说清楚)

这里只处理他实际说出来的那一版。在那一版之内:

| ✅ 能做 | ❌ 不能做 |
|---|---|
| 删(废镜头、重复、水词、行话、断尾) | 加任何他没说过的词 |
| 重排(容器层调顺序、把结果提到最前面) | 顺句子、改语序、替换措辞 |
| 把补拍并进原素材 | 重排他推导结论的那一段(见 references/内容层重组.md §二.3) |

⚠️ 「本技能不改文案」的意思是不加词,不是不许动。
按文案规则做删除和重排,正是这个技能的主战场。

〇、启动顺序(不要跳)

  1. 🔴 先探环境,再决定怎么走(2026-09-05 订正):

- 有 ChatCut 插件版前置技能的宿主 → 先加载它,不要和 ChatCut 工具调用打包在同一轮 - Desktop MCP 直连(工具名形如 chatcutdesktop/*)→ 没有那个前置技能, 按服务端要求先跑一次只读定位(getactive_project)确认目标工程 - 一个都没有 / 报 signed out → 走 references/ChatCut实操.md §一 的降级路径: 告知下载 + 本机转写旁路(内容层的活全部不需要 ChatCut)

  1. chatcut-talking-head-guide —— 口播剪辑的执行规范
  2. 读 zmm/references/家族公约.md(读不到 → 明说「公约读不到,红线无法保证」并停下)

+ zmm/references/交互规范.md(🔴 不是读一遍就算:收尾按 §四 三件套 —— Recap · Before/After · 下一步给编号选项;缺信息按 §四 用选择题问,一次只问一个;不适用的情况见 §五)

  1. 读 {vault}/00-规则与索引/口播拍摄基线.md(时间/地点/穿着一次定死)
  2. 读记忆 {vault}/08-技能记忆/zmm-cut/ + _通用/
  3. 🔴 要动内容(不只是去口癖)时,读 references/内容层重组.md
  4. 🔴 第一次调 ChatCut 工具前,读 references/ChatCut实操.md(三个实测踩过的工具坑)
  5. 🔴 剪完之后必须回到 口播稿输出格式.md §四之下「上传版」 —— 见本文 §五

本技能内置判据在 references/规则卡.md(判据 / 为什么 / 怎么查 / 强度),开工前读一遍;{vault} 里有对应的规则文件时以 vault 为准、规则卡为底。

⚠️ 按需读,不要一次读完。 本技能只在「拍完 → 成片」这一段, 不需要读选题层和写稿层的文件。


一、账号默认参数(🔴 已固化,不要再问用户)

🟢 詹明明 2026-08-27 定。这些是默认值,不是每次都要确认的问题。
用户没有说要改,就直接用;用户说了别的,以用户当次说的为准。

⚠️ 下表是「这一个账号」的实测值,不是通用推荐。
有 config 就从 config 读;读不到就用下表,并说明用的是示例值。
换账号 / 换题材时,正文流程照走,只换这张表。

项 默认值
平台 抖音(竖屏 9:16)
成片时长 保持原长 —— 不为了短而砍内容(判据是绝对观看时长不是完播率)
整体速度 🔴 1.15×(在语音剪辑之后统一加速,不是逐段调)
默认处理 ① 语音剪辑(去口癖、停顿、重复)② 字幕
默认不做 B-roll · MG 动画 · 背景音乐 —— 用户明确要才做
节奏风格 紧凑有力

字幕规格(🔴 已固化)

项 值
字体 HarmonyOS Sans 粗体
描边 轻微
阴影 有,轻
整体观感 干净现代
高亮 ★ 有,颜色 黄色 #FFE20A
🔴 高亮关键词谁选 用户自己选。 出稿时给候选,不要替他定

二、工作流(七步,每步之间必须停)

🔴 talking-head-guide 硬规则:多个处理之间有依赖,必须按顺序定稿,且每一大步之后单独跟用户确认,不许把多个 checkpoint 打包成一条回复。
上游改了,下游全部要重做(字幕对着加速前的时间轴写 = 全废)。

⓪ 素材清点与合并 → 停,说清有几条素材、哪条是补拍、要不要合并
① 素材进项目     → 停,确认转录出来了
② 语音剪辑       → 停,确认「他实际说的」这一版对不对
③ 整体加速       → 停,确认节奏(倍速见 §一)
④ 字幕 + 高亮     → 停,让用户选高亮关键词
⑤ 交付           → 只有用户明确说要导出/下载才导
⑥ 导出后验文件本身 → 抽帧确认字幕/B-roll/打码都烧进去了

⓪ 素材清点与合并(2026-09-05 加)

技能原来默认只有一条素材。实际经常是两条以上(原片 + 补拍、多机位、多次录)。

  • 先逐条转写,分开读,不要一上来就拼
  • 说清哪条是主素材、哪条是补拍,补拍要盖在哪一段
  • 🔴 补拍进来就必须做「逐字重复扫描」 —— 见 references/内容层重组.md §二.2
  • 合并按新顺序排,不是把补拍接在末尾

① 素材进项目

  • 先 listprojects / createproject / target_project 定下项目,再做别的
  • 项目一建好立刻把编辑器亮出来(preview_start),让用户能看着进度
  • 素材有三条路进来:用户在编辑器里直接传 · 会话里给了本地路径(走 asset-import)· 用户已经传好了(先 browse_assets 找,不要上来就说找不到)
  • 等转录出来就可以开工,不用等原始字节传完(A-roll 只要文字稿)

② 语音剪辑(本技能的主战场)

🔴 这一步分两层,不要混着做:
机械层(固定口癖、批量停顿)不需要理解意思,工具能做;
内容层(哪些留、哪些删、哪些换位置)必须理解意思,判据在 references/内容层重组.md。

⚠️ 只做机械层 = 只是把片子擦干净,没有改善它。
用户说「剪一下」通常两层都要,但内容层的每一处删改都要说清理由。

严格按 talking-head-guide 的 A-roll 流程:

  1. read_script → 读一遍 timeline.md,看清结构
  2. 先跑机械清理(clean_script):只处理固定口癖(呃/额/嗯)和长停顿
  3. 🔴 跑完必须重读刷新后的 timeline.md —— 之前读的已经过期
  4. 再做内容层判断 —— 按 references/内容层重组.md 的五条判据走:

识别废镜头 · 逐字重复扫描(补拍必做)· 推理链不许为悬念重排 · 开场要同时有钩子和共鸣 · 删之前问「删掉之后还讲得清楚吗」

  1. apply_script 落到时间轴
  2. 读回来检查:接缝逻辑(缺不缺一座桥)· 前后一致性 · 相对时间还成不成立 ·

结尾完不完整 · 停顿是不是太紧

🔴 这个账号特有的三条,别按通用规则剪掉

保留 为什么
口语噪声(呢 / 啊 / 哈 / 叠词 / 口误式重复) 规则 每一句都工整 = 观众一秒听出在念稿。<br>⚠️ 通用的「去口癖」会把这些一起清掉 —— 每 5–8 行留一处是设计好的,不是失误
邀请自查的插入句(「你仔细想想」「不知道你们有没有这种时候」) 规则 它带一个动作指令,不是填充词
限定词(多半 / 很多时候 / 可能才是) 规则 不许改成绝对化

🔴 判据:这个词删掉之后,这句话是变干净了,还是变得像稿子了?变得像稿子 = 别删。

停顿口径

  • 明显长停顿(>0.8–1s)→ 压到约 0.3s
  • 句子之间保留 0.3–0.5s —— 别压没了
  • 转折、对比、强调处的停顿要留住,那是设计好的(稿子里标了 ⏸⏸ 的地方)
  • 句内正常呼吸 → 不动

③ 整体加速 1.15×

🔴 必须在语音剪辑定稿之后做,顺序反了字幕全部要重来。 统一加速,不是逐段调速 —— 逐段调会让语调忽快忽慢。

④ 字幕 + 高亮

按 talking-head-guide 的 captions 规范,套 §一 的固化规格。

🔴 高亮关键词不许我替他定。 做法:

  1. 通读字幕,挑出每 8–12 秒一个的候选关键词(挑判断句、数字、转折词、落点句里的核心词)
  2. 列出来给用户选,标清在第几秒、原句是什么
  3. 用户勾完再上高亮

⚠️ 不要整句高亮 —— 高亮的作用是让眼睛在滑动中停一下,整句高亮等于没高亮。

⑤ 交付

🔴 默认交付的是「可编辑的 ChatCut 时间轴」,不是 MP4。 只有用户明确说导出 / 渲染 / 下载 / 最终交付才走 submitexport → trackexport。 「剪一下」「清理一下」「做个版本」都不算导出意图。


二b、🔴 验收纪律:元数据会说谎(2026-09-05 加,实测三次)

行数、文字、画面,只能以全尺寸渲染帧为准。

骗过的 实际
字幕接口报「一行、不溢出」 渲出来折了两行
多宫格缩略图里看着字错了 全尺寸单帧证明是看错了
工具回执报「清理了 1 个词」 时间轴实际少了 4.9 秒

每一大步之后固定验两样:

  1. 数字 —— 帧数 / 时长 / 段数,和预期对不对得上
  2. 画面 —— 渲全尺寸帧,不看缩略图下结论

⚠️ 缩略图只用来做「挑哪一帧」的粗筛。 详见 references/ChatCut实操.md §三。


三、红线(剪辑环节独有)

规则
不改内容 稿子拍摄时已定稿。剪辑只删不加,不许替他补话、顺句子、改语序
画面信息点 穿搭 / 桌搭 / 背景 / 墙上装饰都是信息点。剪的时候别把有信息的画面剪掉
不上 AI 截图 讲 AI 那一段的画面不要配 AI 界面截图 —— 会把人群窄掉(不要变成工具号)
打大字的位置 稿子的「需要处理的点」里标了 ⏸ 打大字的行,剪辑时要对上
金额打码 任何出现后台数据/收款/客户信息的画面一律打码

四、说给谁听

单人自采自编。 拍摄、剪辑、发布都是他一个人:

  • 方案要能一个人执行完,不假设有剪辑师
  • 直接给判断和动作,不写「供参考」
  • 零术语:不说「A-roll」,说「他说话那条主轨」;不说「ripple」,说「后面的会跟着往前挪」

五、🔴 剪完必须回填(这一步最容易漏)

成片发出去之后,把实际播出的文字稿转录回来,写进稿件的「上传版」那一节。 规范见 {vault}/00-规则与索引/口播稿输出格式.md §四之下「上传版」。

三块,缺一不可:

  1. 上传版全文(代码块 + 行号 + 气口)—— 🔴 只改 ASR 听错的专名和错别字,不改语序、不补顺句子
  2. 差异表(文案版 vs 他实际说的)—— 类型只用五个:加 / 删 / 改措辞 / 换结构 / 调顺序
  3. 从差异提炼的规则 → 入库

🔴 为什么不能省:稿子是写的,播出版是他说的。
两者之间每一处差异,都是他用嘴投出来的一票 —— 那是这个系统里最诚实的反馈。

⚠️ 例外:差异表里「改措辞」那一栏不适用「默认他的更好」—— 口述比写作更容易临场钝化。凡 AI 版更锋利的,单独标出来问。


六、绝对不做

  • 不在没探清环境的情况下就调 ChatCut 工具(见 §〇.1)
  • 不用 apply_script(preview:true) 当只读预览 —— 它会报错的同时部分提交
  • 不在改完字幕字号/框宽后复用旧的 Card id —— 会重新分页,id 是内容哈希
  • 不拿工具回执和元数据当验收依据 —— 见 §二b
  • 不编 ChatCut 的功能、路径、价格、版本号 —— 会变的产品事实要去查官方 Docs 当前页
  • 不把多个 checkpoint 打包成一条回复
  • 不自作主张加背景音乐 / B-roll / MG / 转场 —— 用户没要就不做
  • 不替用户选高亮关键词
  • 不用本地 ffmpeg 压一个拍平的 MP4 当主交付物(ffmpeg 只用于只读检查源文件)
  • 不因为「剪一下」就去导出

七、记忆

结束前自查:

  • 用户否了哪种剪法(记「纠正」,例:「口语噪声不许清」)?
  • 哪个参数被实测验证有效(记「有效方法」,带数值)?
  • 踩到了工具的哪个坑(记「纠正」,带取证方法:怎么发现的、怎么证伪了错误猜测)?

写入 {vault}/08-技能记忆/zmm-cut/,先查重。


不知道下一步 → 回 /zmm。