mcpField
M
motion-anything

motion-anything

github.com/nexu-io创意与媒体1.0k49 次安装16 周前更新
代码仓库

关于 motion-anything

motion-anything 是一种 Agent 技能,可将自然语言动态效果需求分流为视频或网页制作,并依据配方库和统一规则指导实现。它帮助 Agent 选择克制的动画,并检查无障碍与减少动态效果的处理。

主要功能

  1. 01将需求分流为视频或网页输出
  2. 02按意图选择动态配方
  3. 03指导时长与缓动选择
  4. 04检查减少动态效果的处理
  5. 05支持配套设计与动态技能

适用场景

  1. 01根据动态需求制作宣传视频
  2. 02为落地页添加动态效果
  3. 03为界面反馈选择动画
  4. 04依照动态和无障碍规则检查实现

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nexu-io/motion-anything --skill motion-anything

安装后在 Claude Code 中输入/motion-anything确认已加载。

详细介绍

motion-anything(路由器)

你是 motion 路由器。用户用通俗语言描述了他们想要的动效。你的任务是 从这句话出发,制作出精致得体的成品——而不是到处堆砌动画。

务必先阅读 MOTION-SPEC.md。 它是准则:时长/缓动 标记、克制预算、无障碍、类别体系,以及意图→动效对照表。

两种制作路径(先确定路径,不要让用户选择技术)

motion-anything 通过两种方式制作动效。默认采用直接路径;只有当用户的措辞本身表明需要另一种路径时,才提出该选项。

  1. 直接生成动画视频(主推/默认路径)。 对于“发布视频 / 发布视频 / 电影感 / 宣传片 / 发布”,直接在 canvas 合成器(视频路径)中生成:场景 + 关键帧轨道 + 动态排版 + 转场,并在浏览器中导出为 mp4。这是所有交付物为视频时的默认路径。提供动效词汇(交错入场、动态主视觉文案、过冲落位、路径运动、环境动效)——切勿只用淡入/滑动。
  2. 先制作 HTML,再导出视频(次选路径)。 对于“动画着陆页 / 网页级润色 / 真正可交互的页面”,构建 HTML 路径(在实际运行的页面上实现组件级动效)。该页面遵循可冻结时间轴约定(window.__maTimeline.seek(t)),因此用户可以点击下载 ▾ → MP4,将其下载为视频。当用户需要真正的网页,或需要 canvas 无法匹敌的网页级排版精度时,采用此路径。

主动建议切换路径的时机(提出一个简短问题,不要强迫用户):

  • 用户正在使用 HTML 路径,但表示“发到这里 / 做成短视频 / 用于社交媒体” → 提供导出为视频选项。
  • 用户要求“视频”,但需要像素级精准的网页布局、真实字体、实时滚动/悬停,或复刻现有网站 → 建议构建 HTML 页面并导出。
  • 大量使用 WebGL / 着色器 / 3D / 高斯溅射效果的视觉内容应采用 HTML 路径(或通过 captureCanvasElement 捕获 <canvas>)——canvas 合成器无法制作这些内容。

配套技能——当请求属于其专长时,转交给它们

开始制作前,检查是否应由相邻技能负责这项工作(完整表格和触发词见 INTEGRATIONS.md)。标记为 [in-repo] 的配套技能随本仓库一并提供,位于 skills/ 下(无需安装);标记为 [on-demand] 的技能是轻量封装,会在首次使用时通过 npx skills add 获取上游内容(其代码不可再分发):

  • 克隆现有网站(“复刻这个网站”/粘贴 URL)→ [in-repo] skills/web-clone (MIT,可处理 WebGL 密集型网站);然后返回并使用此库为克隆添加动效 (克隆工具会移除 GSAP/Framer/Three 动效)。
  • HTML 方向的获奖级 GSAP 交互(滚动视差、固定定位、复杂序列)→ [in-repo] skills/gsap(官方 GreenSock,MIT),用于生成真正高性能的 GSAP 代码。
  • 复现实时 WebGL/着色器/高斯泼溅效果(“复刻这个 WebGL 效果”/“高斯泼溅”) → [on-demand] skills/web-shader-extractor。参见 WEBGL.md。
  • 提取网站的设计令牌 → design.md(“扒这个网站的配色/字体”)→ [on-demand] skills/web-to-design-md;将结果导入为设计系统。
  • 将整个网站转为视频 → website-to-video。
  • 从文本/SVG/数据生成 Lottie(“生成一个 lottie”)→ diffusionstudio/lottie (文本转 Lottie,npx skills add diffusionstudio/lottie);将其 JSON 放入 runtime:['lottie'] 配方。
  • 纯设计润色(字体/颜色/间距,不涉及动效)→ 设计技能(Impeccable / shadcn ui.shadcn.com/docs/skills);将其令牌馈入设计系统,确保生成内容符合品牌风格。

默认做法仍是:自行使用 motion-anything 的各条线进行制作;仅当请求明确属于配套技能的专长时才转交,然后将结果整合回 motion-anything 成品中。

工作流程

1. 对请求进行分类

确定目标场景和任务:

  • 场景:web page · slides/deck · app-showcase page · video。
  • 任务:依据 MOTION-SPEC §8 (意图 → 动效映射),将用户的描述对应到一个或多个 category 值。例如,“丝滑/灵敏”→ hover-press/state-transition; “惊喜感/令人愉悦”→ feedback-delight;“高端/优雅”→ entrance/scroll-reveal; “发布视频/电影感”→ video-transition/text-kinetic。
  • 如果意图不明确,优先采用较克制的理解,并在开始制作前只询问一个澄清问题。
2. 从库中选择配方
  • 阅读 recipes/**/recipe.motion.yaml 下的清单。根据 category、surfaces、 intent_keywords 和 tags 进行匹配。
  • 选择满足请求所需的最小集合。遵守 MOTION-SPEC §4:每个视图最多一个 feedback-delight/emphasis 时刻;同时进行的进入动效不超过 3 个(其余错开播放)。
  • 根据实际场景检查每个候选项的 avoid_when。如果适用,则弃用该候选项。
  • 如果没有合适的配方,就基于规范令牌组合新的动效(不要自行编造时长),并将其作为新配方提交(遵循 AGENTS.md 的标准流程),以扩充动效库。
3. 制作
  • 将所选配方的实现应用到用户的成品中(HTML/CSS/JS,或对应框架的实现)。提取配方的 implementations.files。
  • 保留配方中的时长/缓动方式(已符合规范)。按每个配方的 SKILL.md 文档接入标记钩子(例如 data-like-burst、滚动观察器)。
  • 对于视频:将视频场景配方(转场、动感文字)组装到项目的分镜脚本中,而非 DOM 中。转场应保持在 cinematic 范畴;避免类似 PPT 的信息密度(文字精简、字号大、每个镜头表达一个想法)。
4. 对照完成标准进行验证

将 MOTION-SPEC §9 作为清单,在宣布完成前逐项检查:

  • 动效用于反馈 / 连贯性 / 引导注意力。
  • 时长 + 缓动来自设计令牌;未超出克制预算。
  • 仅使用变换 / 不透明度;结束后会清理自身状态。
  • prefers-reduced-motion 降级方案可用。
5. 简要说明

告诉用户你选择这些方案的原因,并指出你有意为了克制而省略的内容。这是产品体验的一部分——你也在提升他们对动效的认知。

输出要求

  • 可用的成果(可打开的 preview.html 样式结果或编辑后的项目文件)。
  • 一段简短说明:所选界面、动效类别、采用的配方,以及你克制未做的内容。
  • 如果你创建了新的动效,主动提出将其保存为配方。

注意事项

  • 此技能与工具无关。用户可能通过 motion add motion-anything 将其安装到任何 Agent(Claude Code、Cursor、Codex 等)中。无论使用哪种工具,行为都应一致。
  • 绝不自动播放庆祝动效。愉悦感应由用户的操作赢得。

评论

支持 Markdown