关于 papercut-hook
papercut-hook 是用于撰写和检查短视频开场钩子的工作流技能,分别规定口播、屏幕文字和画面层,并通过事实与一致性检查筛选方案。
主要功能
- 01三层钩子区块
- 02五个钩子方案评分
- 03首帧标题配置
- 04画面与文字一致性检查
- 05场景转场动作指引
适用场景
- 01在写脚本前设计短视频开场
- 02依据研究事实筛选钩子
- 03在 episode.json 中配置标题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 0xs4n4tg/ papercut-explainer --skill papercut-hook安装后在 Claude Code 中输入/papercut-hook确认已加载。
附带文件references/hook-patterns.md
详细介绍
Papercut hook
钩子是最重要的步骤。一条短视频的钩子由三个独立、明确的层次组成,任何一层都不能跳过或含糊带过。在脚本的其他部分之前,先把它们全部写好。
预检
- 安装:保持精简即可。无需安装任何库。
- 阅读
episodes/NN-slug/research/facts.md顶部的 BRIEF(主题、格式、受众、CTA)和事实列表,以便核查每一项说法。如果没有 BRIEF,请先运行papercut-strategy。 - 阅读
SERIES.md,了解受众水平和地区。
HOOK 区块
HOOK
SAY: <the first spoken sentence>
WRITE: <the frame-0 title, 2-5 words, ideally a number; the episode.json "hook">
SHOW: <what frame 0 and the first 2 s show: the mid-action moment, the camera move>
ALIGN: <the one idea all three point at>
只有四行全部填写完并通过对齐测试后,才能构建场景。
| 层次 | 规则 |
|---|---|
| SHOW,第一帧 | 展示最引人注目的时刻,并且动作已经开始。不要用交代环境的镜头、淡入或空房间。静音时也必须看得懂。 |
| WRITE,屏幕标题 | 封面标题(2-5 个词,最好包含数字),在第 0 帧时完整显示约 2-3 秒。它承载信息差的另一半,不能与旁白使用相同的词。 |
| SAY,口播台词 | 在约 10 个词内制造信息差。点明面向谁。尽早交代利害关系或数字。绝不能自己揭晓答案。不要用没有明确来源的新闻式开场(“刚刚有人发布了……”);可信的知名来源可以点名。 |
不要采用主线第 1 拍那种“以新闻口吻陈述”的开场(“一位独立开发者刚刚开源了……”)。改为制造信息差并交代利害关系,同时在第一句话里点出观众熟悉的大品牌。
对齐测试
你展示的、你写的和你说的都指向同一个想法。措辞可以不同,但主题不能不同。如果旁白说“你的截图泄露了”,而第 0 帧是安静的桌面,标题却在讲星星,那么每个层次都开启了不同的悬念,结果哪个都落不了地。遮住其中任意两个层次,剩下的那个仍应能暗示同一个想法。
变体与钩子检查
- 从
references/hook-patterns.md的七种模式中至少选三种,写出 5 个变体(借用权威 + 赠品、点名观众再给出数字、一个物件一个数字一个反转、价格冲击、痛点、判定或冲突、自身权威)。 - 每项符合得 1 分:
- 口播台词是否在约 10 个词内制造了信息差(一个观众想要解开的疑问或悬念)?
- 是否点明面向谁,或交代利害关系?
- 是否包含一个具体数字、物件或反转,而不是含糊的说法?
- 是否把答案留到后面?
- 关闭声音时,第 0 帧和标题是否依然有效?
- 所有说法是否都符合事实表?
- 选得分最高的变体。剔除任何第 6 题不合格的变体。
第 0 帧标题(episode.json 中的 "hook")
每条短视频都以钩子开场。episode.json 中的 hook 键会从第 0 帧起在屏幕上显示封面标题(build_vo.py 会将其写入 plan.json),并在标题消失前挡住横幅。
"hook": {"lines": [["AI", "LEAKED"], ["13,000+"]], "hot": ["13,000+"], "until": "yes", "size": 108, "top": 220}
lines:将 WRITE 文本拆成撕裂标签,每行对应一个词数组。hot:要贴上黄色标签的词。- 标题会在
until指定的词开始出现时消失(["yes", 2]表示第 2 次出现),或者在"hold"指定的秒数后消失(默认 2.4 秒)。 - 标题保持 2-5 个词,且不得与 SAY 共用词语。
钩子结束时的剪辑要带有动势
钩子若以定格姿势结束,会让衔接显得突兀,并流失刚刚吸引来的注意力。
- 给钩子场景最后约 10 帧加入逐渐加速的推镜(先稍微拉远)。
- 场景 2 从焦点道具上的一次撞击开始,然后镜头平稳拉回场景。例如,证据卡片用
stamp砸在板子上,镜头从 1.17x 开始,角色从画外匆忙跑进来。 - 在剪辑点结束标题,并设置
"hook": {"hold": <S01 seconds>},这样标题会在推镜过程中移开,而不是遮住场景 2 的开头几帧。
门槛
- SHOW 在第 0 帧处于动作进行中,且读起来语气平淡。
- WRITE 出现在第 0 帧,且不是口播内容。
- SAY 在 10 个词以内打开信息缺口。
- 三者均通过对齐测试,且 ALIGN 点明一个想法。
- 胜出版本得分最高,并通过问题 6。
交接
在 episodes/NN-slug/papercut/STORYBOARD.md 顶部写入 HOOK 块(如果文件不存在,则创建)。记下钩子的关键词或数字;脚本的最后一行会重复它。接下来是 papercut-script,它也会将 SAY 写入 narration/script.json 的 l1_hook 行。
评论
支持 Markdown