Communitygithub.com

aievolutionpl/social-motion-agent

将代码生成的视频帧从“生成感”转变为“设计感”。适用于任何用HTML/CSS/React编写的影视场景、标题、仪表板、字幕、下三分之一、图表、UI原型或帧。提供起始令牌、反“垃圾感”规则、安全区域、最小尺寸,并内置基于UX/UI Agent Skills工具包的测量门控(studio.py润色)。

social-motion-agent 是什么?

Motion UI Polish 是一个专注于视频帧画面品质提升的专业技能,旨在解决AI模型直接生成的帧画面所共有的“机器感”问题,例如千篇一律的靛蓝渐变、四个等大卡片、统一圆角和阴影、细小灰色文字、用emoji当图标等。该技能通过一套严格的步骤和规则,将设计思维直接注入自动化工作流中:项目从模板文件(frame-tokens.css和frame-starter.html)起步,强制使用设计令牌而禁止硬编码颜色/尺寸;场景构建遵循纯时间函数(window.seek(t)),并依赖motion-effect-picker技能选择合适的动效。其核心门控机制是studio.py polish命令,能自动检测文本溢出、重叠、过小字体、emoji以及“垃圾感模式”和“审美审计”中的高严重度问题,只有通过所有检查的帧才能进入最终渲染并记录在HANDOFF.md中。除了可量化的门控,该技能还提供了10条视频帧设计铁律和一份对抗式检查清单,涵盖版式比例、间距韵律、色彩语义、对比度、安全区域、动效时长、极端数据处理等方面,并引用了完整的UX/UI Agent Skills工具包(包括设计审美体系、动效编排、数据可视化组件、品牌设计系统等)作为深层参考,确保最终输出的每一帧都经得起资深设计师的挑剔。该技能支持Mac、Windows和Linux平台,可与Claude Code、Cursor、Codex等AI代理工具配合使用。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aievolutionpl/social-motion-agent/tree/HEAD/.agents/skills/motion-ui-polish

在你喜欢的 AI 中提问

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

文档

动效 UI 润色

问题:模型编码的帧画面带有明显的机器生成特征:靛蓝色渐变、四个等大卡片、统一的圆角和阴影、细小灰色文字、用 emoji 代替图标、卡片一侧的彩色条。本技能在渲染前清除这些痕迹,并量化一切可量化的指标。

项目根目录在此文件夹上方三级。原理来源:tools/repos/ux-ui-agent-skills(MIT 许可,快照见 sources.lock.json)。仅读取场景所需的部分。

步骤

  1. 将 templates/frame-tokens.css 和 templates/frame-starter.html 复制到任务的 source/ 目录。仅修改令牌文件顶部的品牌区块(强调色、表面色;从产品品牌简报中获取颜色)。在场景中绝不硬编码颜色、尺寸或阴影:使用变量。
  2. 基于令牌构建场景。动效是时间的纯函数(window.seek(t),无定时器,无 Math.random),这是 vstudio 契约和 HTML 渲染器所期望的。使用 motion-effect-picker 技能选择效果,不要凭猜测。
  3. 对每个输出格式中的每个不同场景进行门控检查,在展示出最终布局的时刻执行:
python -S studio.py polish output/jobs/ID/source/scene.html --format 9:16 --seek 4.2 --shot output/jobs/ID/previews/scene-916.png

以下情况会导致失败:文本超出帧外、文本重叠、文本低于可读最小尺寸、emoji,以及 slop_tells 和 taste_audit 报告中标记为 HIGH 的结果。警告(超出安全区域、弱层次结构、文本被裁剪)需要做出决策,而非置之不理。 4. 打开截图并进行审视。门控证明的是可量化的正确性,而非审美。然后运行下方的对抗式检查清单,修复一个严厉设计师会拒绝的所有问题。 5. 只有在此之后才进行渲染。在任务的 HANDOFF.md 中记录哪些场景通过了 polish 检查及其对应的 seek 时间。

视频帧设计铁律

  1. 一个主导元素。 展示字体至少为正文大小的 2.5 倍。四个等大卡片会显得是生成的;应给予某一项更大的尺寸或独占一行。
  2. 真实的字号层级(令牌):标签 2.1,正文 2.8,引导 3.6,标题 6.4,展示 9,英雄 17(cqmin,1 cqmin = 短边尺寸的 1%)。任何文字不得小于短边尺寸的 2%。数字使用 .num 类(等宽数字)。
  3. 4 像素韵律(--sp-*)。相关项之间间距比无关项更紧密。
  4. 多种圆角和阴影,各有其用途(chip、panel、card、pill;--sh-1..3,每个两层阴影)。绝不使用统一的圆角和单一的阴影。
  5. 完整的细线边框或表面对比。 不要在卡片、警告或呼出框的一侧使用彩色条。状态 = 图标加文字。
  6. 色彩按含义使用。 仅使用一个强调色。危险色仅用于破坏性或否定性内容。无硬编码的靛蓝到紫色渐变,无纯 #000 文字或背景(令牌使用带色调的近黑色)。
  7. 禁止 emoji 和装饰性象形图。 使用内联 SVG 图标(currentColor)或文字。屏幕文字中不出现破折号字符(工作区规则)。
  8. 对比度: 正文 4.5:1,大文字 3:1。覆盖在视频素材上的字幕需要有遮罩或药丸标签(.pill-caption),绝不能使用裸文字。
  9. 安全区域。 9:16 画面:顶部 17% 和底部 30% 的宽度区域不得放置文字(平台 UI),两侧各 5.6%。16:9 画面:四周各 5.6%。令牌设置 --safe-*;门控会检查。
  10. 保持时间。 一个文本块在离开前至少静止 0.5 秒加上每个单词 0.3 秒。入场动画 0.4 至 0.7 秒,快入缓出(ease-out)。仅动 transform 和 opacity。
  11. 极端数据处理: 长名称、0、100%、大量项目。场景不得因此崩溃;至少测试一个极端情况。

对抗式检查清单(批准前执行)

  • 遮盖标题:视线是否仍有落点,还是无处可去?
  • 是否存在纯装饰性的元素?移除它。
  • 眯眼观察:是否有两个相互竞争的视觉焦点?
  • 任何数字是否缺少单位、来源或对比基准?
  • 若换上另一品牌名称,场景是否看起来一样?如果是,则说明没有方向:从 tools/repos/ux-ui-agent-skills/taste/aesthetic-systems.md 或 design-systems/library/<name>/DESIGN.md(共 138 个)中选取一种美学风格,并将其解析到令牌区块中。

深层参考(按需加载)

需求文件位置(位于 tools/repos/ux-ui-agent-skills/)
反垃圾感原则、禁止的默认值taste/design-taste.md
动效语法(入场、交错、悬停)taste/motion-choreography.md
图表与密集数据屏幕components/data-viz.md、tokens/data-viz.json、examples/terminal/
调色板、OKLCH 色域、暗色模式.claude/rules/tokens-and-color.md
UI 文案、标签、空状态content/voice-tone.md
带评分的评审标准workflows/design-review.md、.claude/agents/design-critic.md
命名风格(Stripe、Linear、Apple……)design-systems/library/ + taste/aesthetic-systems.md

仅在需要时直接运行上游门控工具(从该文件夹下运行,设置 DS_REQUIRE_BROWSER=1,使用系统 Chrome):node scripts/slop_tells.mjs <file>、node scripts/taste_audit.mjs <file>、node scripts/measure_render.mjs <file>(基于实际渲染结果的 WCAG 对比度)。其结果仅为启发式指标:是强信号,而非最终裁决。请勿编辑上游代码库。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能