把博客里倒数第二新的一篇长文,做成一条 25 秒的动效短片。素材只用原文真实截图,不生成伪界面;先写分镜表,再确定性逐帧渲染,成片自己过一遍质检。
post/18386只讲一个场景:把一个 Skill 装进 WorkBuddy,然后问一个问题。这是公众号文章里反复强调的取舍 —— 一条片子只讲一件事。
skills 实验室每篇实验固定回答这四件事,不写「一键出片」。
12 个不同构图:文字冲击 → 真实网页宽景 → UI 特写 → 数字 → 横向时间轴 → 流水线 → 尾卡。附首帧海报与分镜总览图。
文章页首屏实拍 1 张 + 原文配图 8 张(共 25 张里选的),以及原文写明的数字与时间戳。截图里自带的红色箭头、手写标注都保留并注明来源,没有当成自己的标注。
来自 echris6/motion-video-kit(MIT)。本片按它的 Brief → 分镜表 → 确定性渲染 → 独立质检走了一遍,下一节展开。
不是产品实测录屏,不代表任何疗效;没有多轮 Gauntlet 评审、没有音频、没有 1080p60 master、没用 Three.js(本片无 3D 需求)。详见文末「诚实边界」。
它把 28 部专业 SaaS 发布片拆成可复用的动效语法,再配一套「做的人不许给自己打分」的质检流程。用户只要给出真实素材和一句需求,剩下的分镜、动效、渲染、检查交给智能体。公众号那篇文章拿自己的网站截图试出了 25 秒成片,也把踩过的坑写了出来。
| 项目 | 内容 |
|---|---|
| 仓库 | github.com/echris6/motion-video-kit · MIT · business-motion-film/ |
| 片长 | 15–40 秒的短商业片 / 产品发布片 / 讲解片 / 样片集锦 |
| 核心文件 | SKILL.md 工作流,references/ 11 份方法论(动效语法、质量门槛、Gauntlet 评审、音频、商业打法…),scripts/ 测量脚本,templates/ 组件实验室 |
| 素材做法 | 真实素材优先;AI 生成的静帧需先定关键帧再动起来;无真实素材时必须明确标注「概念片」 |
| 渲染 | HTML/GSAP 代码动效为主,必要时 Three.js;官方示例用 HyperFrames,但方法论与渲染器无关 |
| 测量 | frozen-time.sh(静止时长)、loudness.sh(响度)、contact sheet、逐帧审阅 |
公众号文章给的模板。本机已把仓库拉到 skill-repo/ 并直接读取 SKILL.md 与所需 references,没有走 Claude Code 的安装路径 —— 文章特别提醒「别把 Claude Code 的安装路径当成安装成功的证据」。
Skill所在目录:C:\Users\zgyji\WorkBuddy\2026-11-09-01-04-02\skill-repo\business-motion-film 请读取仓库 README 和 business-motion-film/SKILL.md,按当前支持的方式加载完整技能目录, 保留 references、scripts 和 templates。 如果无法原生安装,把完整目录保留在项目内,直接读取技能说明与当前需要的参考文件, 并明确采用了哪种方式。不要把 Claude Code 的安装路径当成安装成功的证据。
请使用 business-motion-film,结合我提供的产品截图和案例,制作一条约25秒的产品宣传动效视频。 先向我确认产品名称、目标观众、本次要介绍的一个场景、素材文件夹和播放比例。 只围绕这个场景安排内容:观众遇到什么问题、产品怎么帮助他、重点操作或案例是什么、看完下一步做什么。 先给我一张简短分镜表,确认后再制作。 使用真实产品素材,不虚构功能和效果。先导出可播放的无声MP4,保留工程文件,画面确认后再加音乐。 按Skill完成实际渲染检查,独立审阅能力不足时如实说明。
| 文章里说的 | 这条片子怎么做的 |
|---|---|
| 先确认产品、观众、一个场景、素材、比例 | 写了 BRIEF.md:主体是博客与 skills 实验室,唯一场景是「装一个 Skill 并问一个问题」,比例 16:9 |
| 先给分镜表,确认后再制作 | 12 镜 分镜表,写明每镜时间、画面、业务作用、转场 |
| 只讲一个场景,别贪多 | 全片没有铺开讲 4 个问法,只走「搜索 → 安装 → 提问 → 结果」一条线 |
| 桌面截图别硬塞竖屏 | 直接定 16:9 横屏,不重做 9:16 |
| 圈不准的框就去掉 | 初版加了个圆形强调环,预览发现压到右栏标题,直接删掉;改成只罩住整张截图的柔框,不假装圈中某个按钮 |
| 先导出可播放的无声 MP4,保留工程文件 | MP4 + 单文件 render.html(素材内联,双击可开,seek(t) 可复现任意帧) |
| 成片自己完整看一遍,指出时间点和具体怎么改 | 跑 frozen-time.sh、抽帧总览、换镜密集抽帧,并做了两轮独立评审(首轮 REWORK 后逐条改,次轮换人逐条复核) |
| 结尾案例要标「站内示例」,别误导 | 右下角常驻「business-motion-film · 真实素材」,数字镜标「原文写明的口径,不是本片统计」 |
规范给的节拍是 1.4–3.5 秒、每 30 秒 12–15 个不同构图、主体在特征镜占画幅 60–85%、超过 0.6 秒不许静止。下面这张表是先写、后做的。
| # | 时间 | 画面 | 这一拍干什么 |
|---|---|---|---|
| 1 | 0.0–2.2 | 完成的文字冲击构图 + 真实文章标题卡 + 点明用的 Skill | 0 帧即成片,缝合两条主线 |
| 2 | 2.2–4.2 | 博客文章页首屏实拍,缓慢推近 | 证明素材是真文章 |
| 3 | 4.2–6.2 | 10 大能力模块截图全屏扫过 + 2500 页 / 350 万字 | 交代装的是什么 |
| 4 | 6.2–8.2 | 大字「看过介绍,还是不会装」+ SkillHub 列表 | 立痛点 |
| 5 | 8.2–10.2 | 列表 UI 特写 + 只罩住整张图的粉色柔框 | 认准哪一个 |
| 6 | 10.2–12.3 | 上方满幅对话截图 + 下方横向三步 | 回答「怎么装」 |
| 7 | 12.3–14.2 | 第二个 Skill 界面 + nihaisha | 原文点名的坑 |
| 8 | 14.2–16.3 | 提问气泡 + 原文长回答向上滚动 | 装完能干什么 |
| 9 | 16.3–18.3 | 129 / 345 / 上千 / 8 四张数字卡 | 可核对的量级 |
| 10 | 18.3–20.3 | 满幅板书截图 + 底部横向时间轴 83:57 / 100:26 | 第二个 Skill 的能力 |
| 11 | 20.3–23.2 | business-motion-film 四格流水线 + 边界标注 | 介绍这次用的 Skill |
| 12 | 23.2–25.0 | 尾卡:完整域名 + 两个 CTA | 静音也说得出下一步 |

↑ contact sheet:每个镜头取一个落点帧拼成,是官方质检要求交付的「show the work」之一。
渲染链路:本地 HTML/CSS → Playwright 按 seek(t) 逐帧截图 → ffmpeg image2pipe 编码,帧不落盘。官方 frozen-time.sh 实测 0 个近静止采样(≈0.0 秒),目标 ≤ ~1 秒;seek(19.9) 乱序重复两次像素完全一致。
SKILL.md、motion-grammar.md、quality-bar.md、critic-prompts.md;写 Brief 与分镜表;12 镜确定性渲染;真实素材;16:9 无声 MP4;poster / contact sheet / 工程文件;frozen-time.sh 测量;一轮独立评审(判定 REWORK 后逐条修改)。loudness.sh 响度测量(本片无声);1080p60 master(交付 1080p25);Three.js 组件(本片没有需要解释的物理/空间结构);HyperFrames 渲染器(改用本地 Playwright + ffmpeg,方法论与渲染器无关)。