amir-motion 是做什么的?
Amir 的产品影片制作规则集。影片在 30 到 60 秒内向非技术决策者解释一个产品:每步一句话,产品自己说话,声音与画面锁定,每种格式和语言都干净利落,且所有内容均为自有。
<skill-dir> 指本文件所在文件夹:Claude Code 中为 ~/.claude/skills/amir-motion,Pi 和其他代理中为 ~/.agents/skills/amir-motion。
“调用一个技能”指:在 Claude Code 中使用 Skill 工具,在 Pi 中使用 /skill:<name>,或读取 <skills folder>/<name>/SKILL.md 并遵循其内容。
三个技能,一部影片。 amir-motion 掌管规则、模板、音效和关口。它在固定步骤调用另外两个技能:
| 技能 | 掌管内容 | 调用时机 |
|---|---|---|
stageshow | 产品 UI 的呈现方式:克制、取景、裁剪、焦点对象、光标叙事、海报帧 | 步骤 1、4 |
remotion-best-practices | Remotion 的使用方式:项目、标记、Studio、渲染、字幕、升级(连接到 remotion-*) | 步骤 2、5、8 |
当它们中的某个与本规则冲突时,以本规则为准(例如 stageshow 基于时间的 Act API 永远不会出现在影片中:见规则 6)。
10 条规则(必须遵守)
| # | 规则 | 硬性限制 |
|---|---|---|
| 1 | 少说话 | 每步一句话,不超过 10 个词,面向决策者使用平实的语言。一次只移动一个东西。总时长 30 到 60 秒。 |
| 2 | 留足阅读时间 | 每句话在屏幕上停留时间 ≥ 1.5 秒 + 每词 0.3 秒,每秒不超过 17 个字符,按实际时间(含节奏调整)。文字在阅读时不得移动。 |
| 3 | 展示,而非书写 | 产品自己解释;字幕只命名步骤。使用 React 重建产品 UI(绝不用截图)。集成项使用 Logo。数字使用计数器或图表,且必须是真实数据。 |
| 4 | 字体符合主题 | 最多 3 种字体族(展示衬线、UI 无衬线、等宽)。3 种字号(展示、字幕、标签)来自 theme.ts。字幕 ≥ 48 px,故事指向的任何 UI 文字 ≥ 30 px 或被摄像机拉近。 |
| 5 | 禁止红色,仅用一种强调色 | 红色仅用于错误或破坏性操作,除非品牌色板中包含红色。仅使用一种强调色,且它必须有含义(结果、变化)。颜色只存在于 theme.ts 中。 |
| 6 | 唯一时钟 | 每个节拍都是其所在场景时钟中的一个数字。画面、字幕和声音读取相同的数字。一切基于帧:禁止 CSS 动画、定时器、Math.random、Date,禁止 stageshow 的 Act 运行时。 |
| 7 | 移动,而非溶解 | 场景切换如同一个摄像机在移动(上升、下沉、推近、拉远),禁止灰色交叉溶解。缓动启停(仅使用 token),退出 ≈ 进入时长的一半,每部影片只有一个高光时刻。 |
| 8 | 声音是影片的一半 | 原创合成配乐,单一调性,基于时间线构建;每个出现、点击和回报都有提示音,空闲动画无提示音。母带响度 -14 LUFS 整合值,峰值 ≤ -1 dBFS。 |
| 9 | 每种格式都是一次重新剪辑 | 16:9 主版本加上重新编排的 9:16(非裁剪),法文和英文来自同一个文案文件。第 0 帧是真实缩略图。静音状态下仍可阅读。文字位于画面 80% 范围内。 |
| 10 | 所有内容均为自有 | 不能出现前客户、内部工具或第三方品牌的任何内容(代码、文案、文件名、图片、元数据)。每个资源在 ASSETS.md 中都有来源。不得包含虚构的数字、Logo 或推荐语。 |
详细内容和数字:references/rules.md。规则来源:references/source.md。
工作流程
- 检查。
node <skill-dir>/scripts/doctor.mjs。它检查 Node 版本(22.18+)并从官方源安装stageshow和 Remotion 技能(如果缺失)。它为 Claude Code 和 Pi 安装;使用--agent <id>为其他代理安装。如果安装了某些内容,请告知用户:新技能将在下次会话中加载;在此期间直接读取它们的SKILL.md文件。 - 简报。 与用户一起填写
BRIEF.md:目标、受众、承诺(≤ 8 词)、格式、时长、品牌及其来源、证明。然后是节拍表:每步一行(字幕、产品展示内容、声音)。故事弧线和范例:references/brief.md。对于每个产品场景,按照 stageshow 的方式进行规划:调用stageshow,并为每个场景写出焦点对象、动作、回报、省略的内容以及最接近的黄金范例(hero-demo、payout-flow、choreography、table-edit、loading……)。展示节拍表并在任何场景开始前获得确认(Amir 决定实质内容)。 - 搭建。 调用
remotion-best-practices并保持其路由在整个构建过程中打开。然后:该模板取代了路由的“创建新项目”步骤;遵循其“打开预览”步骤(node <skill-dir>/scripts/new.mjs <folder> --name "Product" --forbid "Former Client,internal.host" --install cd <folder> && npm run score && npm run devremotion-studio),以便用户观看构建过程。在 Windows 上使用短路径(C:/Users/<me>/<name>-motion):无头 Chrome 在路径超过 260 字符时会失败。模板映射:references/architecture.md。 - 品牌。 将产品的调色板、展示字体和 Logo 放入
theme.ts和public/中,每个资源在ASSETS.md中都有来源行。按照 stageshow 的references/looks.md中的方式映射产品自身的 token。没有品牌来源?询问用户。切勿自行发明。 - 产品场景(stageshow)。 对于每个展示产品的场景:打开在步骤 1 中命名的黄金范例(
<stageshow>/examples/<gold>/)并阅读 stageshow 的references/craft.md(克制、排版、间距、图标)、references/framing.md(裁剪、边距、布局)和references/motion.md(叙事、光标、变化的值)。使用theme.ts、AppWindow、cursorAt和toStage在 Remotion 中构建,并使用references/faux-ui.md中的表格转换每个 stageshow 动作。复制黄金范例的结构和比例,切勿复制其产品标识。 - Remotion 标记。 在编写场景代码之前,通过路由加载
remotion-markup;使用remotion-captions实现分词级别字幕,使用remotion-multimedia处理真实视频素材,使用remotion-maps处理地图,使用remotion-interactivity在 Studio 中暴露属性。遵循本规则。 - 音效。 在
cues.ts中使用相同的节拍编号编写提示音,在scripts/score.mts中设置编曲,运行npm run score。详细信息:references/sound.md。 - 每日样片。
npm run stills为每个剪辑版本渲染一份联系表(每个场景的进入后、中间点、退出前各一帧,以及第 0 帧)。打开 PNG 并查看,使用 stageshow 的审核视角(其references/review.md):眼睛首先落在哪里,是否是结果,是否有任何东西显得框住、扁平或空洞?修复并重复。切勿在开启了减少动画功能的机器的浏览器中判断运动效果。 - 关口和渲染。
npm run lint,然后npm run audit。修复每个 FAIL,权衡每个 WARN。然后npm run finish(渲染选项:通过路由使用remotion-render),然后再次运行npm run audit:它会测量每个 MP4 的响度、大小和帧率。规则 1、3、4 和 7 需要人工审核:references/checklist.md。 - 审核和交付。 在交付前,将表单和简报交给一位有全新上下文的审核人。交付 MP4、表单、未解决的 WARN 以及未检查的内容。格式和命名:
references/delivery.md。
红旗标记,立即停止并修复
- 字幕超过 10 个词,或屏幕上同时出现两条需要观众阅读的字幕。
- 用文字解释产品可以通过演示来展示的内容。
- 包含产品截图、真实客户名称、真实工单号、非自有 Logo。
- 将 stageshow 的
Act、a.click()或setTimeout直接粘贴到场景中,而不是转换为节拍。 - 产品场景在构建时没有使用命名的 stageshow 黄金范例。
- 在场景中直接输入十六进制颜色值或字体大小。
- 对于启动或停止的动画,
interpolate()没有使用缓动函数;所有元素一起淡入。 - 在
Soundtrack.tsx中硬编码帧编号,或声音落在两个节拍之间。 - 在两个深色窗口之间使用交叉溶解(灰色迷雾)。
- 9:16 版本是通过裁剪 16:9 得到的。
- 第 0 帧为空白或半成品。
- “在 Studio 中看着没问题”:在联系表和审核完成之前,不得进行任何操作。