Communitygithub.com

amirlehmam/amir-motion

Amir 的产品影片制作规则集,用于启动影片、产品视频、动画解说、演示视频、预告片或宣传片(Remotion, React),以及重新剪辑、润色、重剪(9:16,法/英)或审核。

amir-motion 是什么?

amir-motion 是一个 AI 代理技能,为使用 Remotion 和 React 制作产品影片提供了一套严格的规则和工作流程。它源自 Soren 启动影片的制作经验,包含一个现成的模板和一个审核关口,确保影片遵循 10 条核心规则,涵盖文案、排版、色彩、动画、音效和格式等方面。该技能通过调用 `stageshow`(处理产品 UI 的视觉呈现)和 `remotion-best-practices`(处理 Remotion 的技术实现)两个子技能,将影片制作拆分为从简报、搭建、制作到交付的完整流程。它适合需要高质量、约束性强的产品影片的开发者、营销人员和内容创作者,支持 Claude Code 和 Pi 等代理。

兼容平台✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/amirlehmam/amir-motion/tree/HEAD/skills/amir-motion

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

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-practicesRemotion 的使用方式:项目、标记、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。

工作流程

  1. 检查。 node <skill-dir>/scripts/doctor.mjs。它检查 Node 版本(22.18+)并从官方源安装 stageshow 和 Remotion 技能(如果缺失)。它为 Claude Code 和 Pi 安装;使用 --agent <id> 为其他代理安装。如果安装了某些内容,请告知用户:新技能将在下次会话中加载;在此期间直接读取它们的 SKILL.md 文件。
  2. 简报。 与用户一起填写 BRIEF.md:目标、受众、承诺(≤ 8 词)、格式、时长、品牌及其来源、证明。然后是节拍表:每步一行(字幕、产品展示内容、声音)。故事弧线和范例:references/brief.md。对于每个产品场景,按照 stageshow 的方式进行规划:调用 stageshow,并为每个场景写出焦点对象、动作、回报、省略的内容以及最接近的黄金范例(hero-demo、payout-flow、choreography、table-edit、loading……)。展示节拍表并在任何场景开始前获得确认(Amir 决定实质内容)。
  3. 搭建。 调用 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 dev
    
    该模板取代了路由的“创建新项目”步骤;遵循其“打开预览”步骤(remotion-studio),以便用户观看构建过程。在 Windows 上使用短路径(C:/Users/<me>/<name>-motion):无头 Chrome 在路径超过 260 字符时会失败。模板映射:references/architecture.md。
  4. 品牌。 将产品的调色板、展示字体和 Logo 放入 theme.ts 和 public/ 中,每个资源在 ASSETS.md 中都有来源行。按照 stageshow 的 references/looks.md 中的方式映射产品自身的 token。没有品牌来源?询问用户。切勿自行发明。
  5. 产品场景(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 动作。复制黄金范例的结构和比例,切勿复制其产品标识。
  6. Remotion 标记。 在编写场景代码之前,通过路由加载 remotion-markup;使用 remotion-captions 实现分词级别字幕,使用 remotion-multimedia 处理真实视频素材,使用 remotion-maps 处理地图,使用 remotion-interactivity 在 Studio 中暴露属性。遵循本规则。
  7. 音效。 在 cues.ts 中使用相同的节拍编号编写提示音,在 scripts/score.mts 中设置编曲,运行 npm run score。详细信息:references/sound.md。
  8. 每日样片。 npm run stills 为每个剪辑版本渲染一份联系表(每个场景的进入后、中间点、退出前各一帧,以及第 0 帧)。打开 PNG 并查看,使用 stageshow 的审核视角(其 references/review.md):眼睛首先落在哪里,是否是结果,是否有任何东西显得框住、扁平或空洞?修复并重复。切勿在开启了减少动画功能的机器的浏览器中判断运动效果。
  9. 关口和渲染。 npm run lint,然后 npm run audit。修复每个 FAIL,权衡每个 WARN。然后 npm run finish(渲染选项:通过路由使用 remotion-render),然后再次运行 npm run audit:它会测量每个 MP4 的响度、大小和帧率。规则 1、3、4 和 7 需要人工审核:references/checklist.md。
  10. 审核和交付。 在交付前,将表单和简报交给一位有全新上下文的审核人。交付 MP4、表单、未解决的 WARN 以及未检查的内容。格式和命名:references/delivery.md。

红旗标记,立即停止并修复

  • 字幕超过 10 个词,或屏幕上同时出现两条需要观众阅读的字幕。
  • 用文字解释产品可以通过演示来展示的内容。
  • 包含产品截图、真实客户名称、真实工单号、非自有 Logo。
  • 将 stageshow 的 Act、a.click() 或 setTimeout 直接粘贴到场景中,而不是转换为节拍。
  • 产品场景在构建时没有使用命名的 stageshow 黄金范例。
  • 在场景中直接输入十六进制颜色值或字体大小。
  • 对于启动或停止的动画,interpolate() 没有使用缓动函数;所有元素一起淡入。
  • 在 Soundtrack.tsx 中硬编码帧编号,或声音落在两个节拍之间。
  • 在两个深色窗口之间使用交叉溶解(灰色迷雾)。
  • 9:16 版本是通过裁剪 16:9 得到的。
  • 第 0 帧为空白或半成品。
  • “在 Studio 中看着没问题”:在联系表和审核完成之前,不得进行任何操作。

相关技能