动态图形用于AI视频
与 remotion-best-practices 和 cinematic-camera 一同使用。本技能负责初始需求收集、研究、真实资产、参考选择、视觉质量和交付授权。
硬性执行合同
每次构建都必须通过 scripts/promptible-gate.mjs。
常见路径:
- Claude Code:
.claude/skills/motion-graphics/scripts/promptible-gate.mjs - 其他代理:
.agents/skills/motion-graphics/scripts/promptible-gate.mjs
在脚本打印出 BUILD AUTHORIZED 之前,不要编写合成代码。在打印出 DELIVERY AUTHORIZED 之前,不要交付渲染结果。命令失败即为硬性停止。
阶段 1 — 简洁的需求收集
仅询问缺失的选择项:
- 格式:4:3 半屏 Instagram 插片 (1440×1080) 或 9:16 全屏 Instagram (1080×1920)。仅在明确要求时使用 16:9。
- 表面:暖光、干净暗调、浅色网格 或 深色网格。
- 确切的脚本节拍、时长、已命名产品、已验证声明以及提供的资产。
切勿默认使用暗调。如果用户将表面选择权委托给你,请使用暖光。
阶段 2 — 研究与真实资产
阅读 references/research-and-assets.md 和 references/logo-library.md。
在概念工作之前,先进行最小规模的有用研究:
- 用户提供的资产具有权威性。严格按原样使用;切勿重新绘制或替换。
- 对于常见产品,从
assets/logos/复制一个合适的预打包 Logo 到项目中,并保留其来源信息。 - 如果缺失,查阅 1-3 个权威页面:官方品牌套件/主页、官方文档/产品页面,然后是信誉良好的策展图标源。
- 优先使用透明 SVG。切勿使用 Logo 的屏幕截图、搜索结果缩略图、烘焙的棋盘格/灰色背景、非官方重制版、热链接的远程资产。
- 对于仪表盘/产品 UI,获取真实的提供截图/录制,或官方公开的产品/文档截图。如果不存在,请询问;不要凭空发明一个仪表盘。
- 研究可见的结构、术语、品牌颜色以及与该节拍相关的确切操作/状态。不要复制未得到支持的指标、私人信息或声明。
- 将资产和笔记缓存至
.promptible/research/。当产品、来源、资产哈希和参考机制未改变时,复用缓存。
仅选择节拍所需的视觉模式:logo-system、product-ui、terminal、editorial 或 abstract。不要在每段图形中都强行加入新闻简报、仪表盘、终端或复杂的摄像机移动。
编写 .promptible/research-brief.md,包含以下标题:
## 产品或概念
## 权威来源
## 真实视觉语言
## 最接近的已批准机制
## 运动规划
## 需避免的
然后运行:
node <skill-dir>/scripts/promptible-gate.mjs research \
--project . \
--research-mode authentic \
--visual-mode product-ui \
--product "Slack" \
--reference kickbacks-same-run-editor \
--brief .promptible/research-brief.md \
--source https://slack.com/ \
--logo public/research/slack.svg \
--surface public/research/slack-dashboard.png
对于未命名的概念性工作,使用 --research-mode abstract --visual-mode abstract;简报和已批准参考比较仍然适用,但无需进行不必要的网页/Logo 研究。
阶段 3 — 验证参考预检
阅读 references/approved-references.md。根据故事机制而非颜色进行选择。当新概念能更具体地满足请求时,允许使用,但必须显式继承最接近的已批准机制的摄像机语法、缩放、克制和因果运动。最多合并两个机制。
运行:
node <skill-dir>/scripts/promptible-gate.mjs init \
--project . \
--research .promptible/research-manifest.json \
--format 9:16 \
--background warm-light \
--claim-source user \
--beat "待支持的确切视觉创意" \
--duration 6
init 会重新验证研究/资产,通过 SHA-256 验证捆绑的已批准 MP4/联系表,并写入 .promptible/render-brief.json。
检查实际捆绑的 MP4/联系表和研究得到的产品证据。编写 .promptible/reference-observations.md,包含:
## 构图
## 摄像机
## 身份
## 研究匹配度
## 反模式
然后运行:
node <skill-dir>/scripts/promptible-gate.mjs inspect \
--project . \
--observations .promptible/reference-observations.md
只有 BUILD AUTHORIZED 才允许进行实现。
阶段 4 — 构建
使用研究得到的身份和所选参考的因果机制。结果应在第一遍时就感觉具体,而不是像等待纠正性提示的模板。
硬性规则:
- 零霓虹、辉光、光晕、发光边缘、彩色阴影、渐变光晕/水洗、青紫渐变、毛玻璃效果、赛博朋克灯光或氛围编码的 AI 样式。
- 没有通用的收据、发票、档案、剪贴板、浮动卡片、条形码、橡皮图章、证书、定价卡、假仪表盘或脱节的卡片网格回退。
- 仅当有提供或权威的产品证据支持时,才鼓励逼真的仪表盘。忠实地重现可见结构;切勿发明指标、声明、控件或产品状态。
- 不发明 UI、Logo、价格、排名、参与度、序列号或证明。
- 无冗余的叙述文本。允许使用真实数据、产品 UI、命令、代码、文件名和简短的结构性标签。
- 运动必须揭示因果关系、缩放、替换、导航或状态变化。当 Logo 交换或真实的 UI 操作能清晰地传达节拍时,它可以保持克制。
- 一个带有行出现的静态居中对象加上缓慢缩放,并不是电影化的执行。
- 使用更少、更大的焦点对象。保持当前操作居中、完全可见,并在目标尺寸下可读。
- 暗场景是选择加入的。暗调意味着带有平面点缀的中性炭色,绝无照明面板。
在概念选择之前,阅读 references/rejected-patterns.md。
阶段 5 — 候选证据
渲染候选作品。生成三帧联系表和 ffprobe JSON。例如,六秒的示例:
mkdir -p .promptible
ffmpeg -y -hide_banner -loglevel error -i out/candidate.mp4 \
-vf "fps=3/6,scale=480:-1,tile=3x1:padding=12:margin=12:color=white" \
-frames:v 1 .promptible/candidate-contact-sheet.jpg
ffprobe -v error -select_streams v:0 \
-show_entries stream=width,height:format=duration -of json \
out/candidate.mp4 > .promptible/candidate-probe.json
然后运行:
node <skill-dir>/scripts/promptible-gate.mjs candidate \
--project . \
--render out/candidate.mp4 \
--contact-sheet .promptible/candidate-contact-sheet.jpg \
--probe .promptible/candidate-probe.json
阶段 6 — 独立视觉评审
构建者不能给自己的作品打分。启动一个独立的、干净的评审/子代理,并为其提供:
references/visual-critic.md- 研究简报/清单和真实资产
- 选定的已批准 MP4/联系表
- 候选 MP4/联系表
.promptible/render-brief.json
评审者检查实际媒体,并返回符合 templates/critic-output.example.json 的 JSON。如果无法运行独立评审,请停止;切勿自我批准。
阶段 7 — 交付门
node <skill-dir>/scripts/promptible-gate.mjs qa \
--project . \
--critic .promptible/critic.json
该门会拒绝硬性失败、任何低于 8/10 的类别、平均分低于 8.5、被修改或缺失的研究/证据,或非独立的评审。请修订,直到 DELIVERY AUTHORIZED。
技术与交付规则
- 使用
useCurrentFrame()、spring()和interpolate()驱动运动;不使用 CSS 动画。 - 当移动有助于表达时,使用 保持 → 移动 → 保持 的模式。动作在保持期间完成。
- 以稳定的编辑器保持状态结束。
- 进行类型检查或运行最小的有意义的构建验证。
- 仅在授权后,交付具有确切尺寸、时长、渲染命令和编辑器放置说明的 MP4。