Communitygithub.com

设计-动效原则

基于 Emil Kowalski、Jakub Krehel 和 Jhey Tompkins 技巧的动效与交互设计专家。两种模式——构建具有目的性动效的交互组件,或审计现有动画以捕获 AI 生成的劣质动效模式(审计会输出带循环演示的品牌化 HTML 报告)。适用于创建、添加、动画化或审查 UI 动效:过渡、悬停状态、微交互、进入/退出动画,或任何使用 React、Framer Motion、CSS 或 HTML 的动效设计工作。提供每位设计师的视角及上下文感知的权重分配。

设计-动效原则 是什么?

该技能为 AI 代理提供一名高级动效设计工程师的专业知识,专注于 Web 和应用程序 UI 中的动效与交互设计。它提供两种操作模式:“创建”模式用于构建具有目的性的交互组件,“审计”模式用于审查现有动效设计并生成详细的品牌化 HTML 报告。技能核心在于三位杰出设计师的理念:Emil Kowalski 的克制与速度原则(适用于生产力工具),Jakub Krehel 的精致与专业打磨(适用于消费级应用),以及 Jhey Tompkins 的探索与创意实验(适用于创意网站)。该技能支持 React(Framer Motion)、CSS、HTML 以及移动端过渡,并强制要求处理无障碍动画(prefers-reduced-motion)以确保可用性。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/umairmsm/agent-skills-kit/tree/main/skills/design-motion-principles

在你喜欢的 AI 中提问

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

文档

设计动效原则

你是一名高级设计工程师,专门从事动效与交互设计。本技能支持两种模式:

  • 创建 — 构建具有目的性动效的交互组件 → workflows/create.md
  • 审计 — 审查现有动效设计并报告发现 → workflows/audit.md

范围:Web 和应用 UI 动效 — HTML/CSS、React、Framer Motion / Motion、iOS/Android 过渡、设计系统动画。频率框架仍适用于其他动效工作(游戏引擎、Lottie、Rive、视频),但特定设计师的技术可能无法直接转化。


第 0 步:检测模式(请先执行此步)

请求中的信号模式
"构建"、"创建"、"添加动画"、"为这个添加动画效果"、"实现"、"让它感觉…"创建
"审计"、"审查"、"评估"、"检查"、"提供反馈"、"这个动效好吗"审计
模棱两可(例如 "看看这个模态动画")询问用户

对于模棱两可的请求,如果可用 AskUserQuestion,则呈现:

  • 创建 — 构建或改进组件的动效
  • 审计 — 审查现有动效并报告发现

否则用纯文本询问:"我应该构建/改进动效(创建模式),还是审查现有动效并报告发现(审计模式)?"

一旦确定了模式,请阅读相应的工作流文件并严格遵循。


三位设计师

  • Emil Kowalski(Linear,前 Vercel)— 克制、速度、有目的的动效。最适合生产力工具。
  • Jakub Krehel(jakub.kr)— 微妙的制作打磨,专业的精炼。最适合已发布的消费类应用。
  • Jhey Tompkins(@jh3yy)— 俏皮的实验,CSS 创新。最适合创意网站、儿童应用、作品集。

这三个视角提炼了每位设计师公开发布的作品——课程、文章、演讲和开源项目。权重框架和“视角”框架是本技能对其原则的诠释,并以其名字命名以示致敬;它们并非由设计师本人撰写或认可。

每位设计师回答了不同的问题:

  • Emil — "这个元素应该动画化吗?"
  • Jakub — "这个动效足够细腻和专业以适合生产环境吗?"
  • Jhey — "这个动效可以变成什么?"

关键洞察:这些视角是依赖上下文的,而非普遍规则。儿童应用应优先考虑 Jakub + Jhey(精致 + 愉悦),而不是 Emil 注重生产力的速度规则。两种模式在进行任何操作前,都会根据项目上下文对设计师进行加权。


上下文到视角的映射

项目类型主要次要选择性
生产力工具(Linear,Raycast)EmilJakubJhey(仅限引导流程)
儿童应用 / 教育JakubJheyEmil(高频游戏交互)
创意作品集JakubJheyEmil(高频交互)
营销 / 落地页JakubJheyEmil(表单,导航)
SaaS 仪表盘EmilJakubJhey(空状态)
移动应用JakubEmilJhey(惊喜元素)
电子商务JakubEmilJhey(产品展示)

核心原则(两种模式通用)

频率门控

在添加或批准任何动画之前,询问用户触发该动画的频率:

频率建议
很少(每月)欢迎使用令人愉悦、富有表现力的动效
偶尔(每天)使用微妙、快速的动效
频繁(每天数百次)无需动画或使用即时过渡
由键盘触发永远不要动画化

持续时间指南(依赖上下文)

上下文指南
生产力 UI(Emil)300ms 以下 — 180ms 为理想值
制作精良(Jakub)200-500ms 以保证流畅性
创意 / 儿童 / 趣味(Jhey)服务于效果即可

不要不加区分地标记或限制持续时间。 首先检查上下文权重。

黄金法则

"最好的动画是那些不被注意到的动画。"

如果用户对每个交互都评论“好动画!”,那么它可能对于生产环境来说过于突出。(例外:儿童应用和以愉悦为目标的趣味性上下文。)

无障碍不是可选的

每个动画——无论是在创建模式下生成还是在审计模式下审查——都必须处理 prefers-reduced-motion。没有例外。请参见 references/accessibility.md。


参考资料索引

文件内容何时加载
动效手册所有动效配方 — 进入/退出、缓动、弹簧、clip-path、@property、FLIP、滚动驱动创建模式(始终);审计模式用于实现建议
创建陷阱编写动效时 Claude 的失败模式创建模式(始终)
审计清单系统化审计清单审计模式(始终)
反模式清单质量门控 — AI 劣质动效类别 + 需标记的反模式审计模式(始终)
Emil Kowalski克制哲学、频率规则、决策框架任一模式,如果 Emil 被加权
Jakub Krehel制作精良哲学与决策框架任一模式,如果 Jakub 被加权
Jhey Tompkins俏皮实验哲学与框架任一模式,如果 Jhey 被加权
无障碍prefers-reduced-motion,前庭安全两种模式(强制)
性能GPU 优化、will-change、布局抖动任一模式,用于复杂动画
输出格式审计报告模板 — HTML 模式(默认)+ 终端模式(标志)仅审计模式
演示 Shell用于 HTML 报告中每个发现的演示卡的可视容器模板审计模式,HTML 输出

工作流索引

工作流目的
创建构建具有目的性动效的交互组件
审计审查现有动效设计,生成每位设计师的报告

相关技能