Communitygithub.com

benjatestaferri7/motion-reel

创作运动设计师级别的网站和代码渲染视频:动态字体、满版色彩片段、Riso 风格的 WebGL2 着色器。

motion-reel 是什么?

该技能专为需要生成视觉冲击力强的网站、落地页或代码渲染视频(例如演示卷轴、产品发布视频)的开发者或设计师设计。它完全以运动设计师的视觉语言工作:使用满版纯色区块、超粗宽体大写字母、单色 HUD 角标、与节拍同步的动态字体,以及 3D Riso 印刷风格的 WebGL2 着色器。该技能不适用于仪表盘、文档站点或表单类应用。它支持三种视觉风格:Swiss Kinetic(基于样式的纯色剪辑)、Riso Shader(3D 质感海报/印刷风格)以及 Hybrid(在纯色区域上使用着色器背景叠加动态字体)。工作流程从交互式风格和调色板选择开始,所有颜色必须通过提供的 `palette.mjs` 工具生成的角色令牌(如 `ink`、`bone`、`action`)获取,不可硬编码十六进制值。该技能提供预设调色板或根据品牌颜色或用户描述自动生成调色板功能。执行遵循严格的场景编排规则,包括节奏(默认为 120 BPM)、仅能使用的关键帧动画(每个场景一个标志性动作)、交替高低强度场景以及无障碍动画(尊重 `prefers-reduced-motion`,在窄屏上禁用固定定位)。它包含全面的质量保证流程,可对网站进行截图测试(1440px 和 390px 宽度)或对视频进行帧测试和渲染验证。最终交付物包括调色板、对比度摘要、场景表、所有创建/修改的文件列表、质量保证证据路径以及已知限制(例如音频不被监听)。用户必须在开始设计或编码前完成视觉语言和调色板的风格选择。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add benjatestaferri7/motion-reel

在你喜欢的 AI 中提问

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

文档

激活约束

仅用于运动设计师秀场语言中的网站/落地页(任何框架)或代码渲染视频(演示卷轴、宣传片、发布视频):满版纯色色彩剪辑、超粗宽体大写、单色 HUD 角标、与节拍同步的动态运动,或 3D Riso 印刷着色器。不适用于仪表盘、文档站点或表单优先的应用。

硬性规则

  • 以下所有路径均相对于此技能文件夹 (SKILL_DIR);按如下方式运行工具:node "$SKILL_DIR/assets/palette/palette.mjs" …。
  • 用用户的语言回复;用项目的语言编写网站/视频文案。
  • 在设计或编码之前必须先完成风格选择。永远不要硬编码十六进制颜色:颜色必须来自 palette.mjs 的角色令牌(ink、bone、action、machine、on-*、hud-on-*)。
  • 在字段上的文本使用 on-<field>;切勿将 forbiddenPairs 组合渲染为文本/背景。
  • 每个场景只能使用一个标志性动作;交替高低强度场景;连续三个相同角色的字段;关键姿态保持 ≥1 拍;仅使用一种缓动家族。
  • 网页:仅对 transform/opacity 进行动画;尊重 prefers-reduced-motion(静态最终状态,无循环,无固定定位);暂停屏幕外画布;仅在宽度 ≥1024px 时使用固定定位;在 375px 宽度下无溢出。
  • 切勿编造推荐语、指标或客户;保留现有内容。
  • 拒绝反水稿清单(references/design-system.md §8)。

决策门

情况操作
样式驱动,纯色颜色剪辑瑞士动态 (Swiss Kinetic):design-system.md,assets/web,assets/video
3D,有触感,海报/印刷Riso 着色器 (Riso Shader):shader-print.md,assets/shader/
两者结合混合 (Hybrid):在纯色区域上的动态字体后面使用着色器字段(on-* 令牌)
品牌颜色已知`palette.mjs --brand "#HEX" --format css
预设--list(显示名称、标签、色板) → --preset <name>
给我惊喜从 README、文案、CSS、用户表述中推断行业/情绪 → --surprise --mood "<tags>" --seed <n>;说明理由;允许一次重新选择:--exclude <name>
网站references/web-techniques.md;将 assets/web/* 适配到目标框架
视频复制 assets/video/reel-template/;参考 references/video-pipeline.md
站点 + 视频先制作视频作为故事板,然后从相同场景创建网站

执行步骤

  1. 检测输出类型(网站/视频/两者)和技术栈;读取现有内容和品牌资产。
  2. 风格选择,每轮一个问题:风格(瑞士动态 / Riso 着色器 / 混合 / 给我惊喜),然后调色板(品牌颜色 / 预设 / 给我惊喜)。
  3. 字体来自预设的 fontPairing 或 design-system.md §2。BPM:优先使用 120(在 30 和 60fps 下每拍整数帧;在 60fps 下 144/150);其他节拍将拍子四舍五入到帧。
  4. 使用规范节奏(§7)编写场景表:# | 场景 | 字段角色 | 标志性动作 | 拍数。
  5. 从匹配的资产开始构建。
  6. QA:网站 → assets/qa/qa-screenshots.js(1440 + 390 宽度,检查溢出和控制台),仅在动画稳定后进行判断;视频 → 测试帧,完整渲染,ffprobe,联系表。
  7. 报告结果以及无法验证的内容(例如,永远不会监听音频)。

输出约束

返回:调色板(+ 惊喜原因)和对比度摘要、场景表、创建/修改的文件、QA 证据路径、已知限制。

参考资料

  • references/design-system.md — 角色、字体、时间线、缓动、动作、节奏、反水稿。
  • references/palettes.md — 风格选择、预设、令牌格式。
  • references/web-techniques.md — GSAP/Lenis/canvas,无障碍,性能。
  • references/video-pipeline.md — 确定性画布 → 无头浏览器 → ffmpeg,音频。
  • references/shader-print.md — WebGL2 光线追踪,3 色半色调,套印不准。

相关技能