跳到主要内容
中文
← 技能
技能 · 代码仓库

15 个技能,打磨界面动效与交互 Skills For Designers and Engineers

改善 AI 写出的界面动效、移动端交互和边界状态。按任务选择技能,制作动画、检查现有代码,或制定具体修改计划。

  • ui-design
  • animation
  • interaction
  • agent-skill

前置要求

  • Node.js >= 22.20 (skills CLI)

概览

你会得到什么

  • 15 个按任务划分的技能,覆盖界面动效、移动网页体验、界面检查、组件选型及原生开发。
  • 制作动效、评审单个组件,以及检查整个项目并制定修改计划的不同流程。
  • 可用于自己工程的技能说明与参考资料,采用 MIT 许可。

适用场景

  • 调整下拉菜单、弹窗、通知提示等组件的交互细节。
  • 排查动效生硬、手机触控体验不佳,或真实数据导致的布局问题。
  • 比较不同界面原型,或为具体任务选择组件库。

不适用

  • 导出产品宣传视频:这套合集主要改善用户实际使用的界面。
  • 把评审意见或修改计划当成已经完成的修复。

教程

先判断它适不适合你的界面

它解决什么问题?

AI 写出的界面可能已经能用,但下拉菜单打开迟缓、弹窗从错误的位置展开,或按钮在手机上点击后一直保留悬停样式。这套合集把 Emil Kowalski 的界面设计与开发经验整理成 15 个技能,帮助 AI 根据具体任务制作动效、检查代码、修正交互,或给出修改计划。

它关心的不只是“怎么动”,还包括“这里应不应该动”。高频操作需要即时反馈,触控和鼠标需要分别处理,减少动效设置也需要得到响应。你得到的是可以用于自己项目的制作与检查方法。

它与站内同类有什么区别?

站内方案主要用途本合集的侧重点
AI 正在生成这个界面为内容就绪后的界面添加线框、扫描与逐步显现效果检查或制作多种日常组件动效,包括判断是否需要动画
让镜头跟着操作步骤走把产品操作流程做成动画演示,引导观众看懂每一步改善用户实际操作的界面,例如下拉菜单、弹窗与触控反馈

如果目标是一种明确的生成动画,第一项更直接;如果目标是讲解操作流程,第二项更贴近。想让已有产品在点击、开合、拖动时更顺手,再用本合集按问题选择技能。

按任务选择技能

仓库目前包含以下 15 个技能。名称就是向 AI 指定任务时使用的标识,不需要把它们当成一串终端命令执行。

技能什么时候用
emil-design-eng综合检查界面细节、组件设计和动效决策
animate制作网页动效,选择属性、曲线、时长和中断方式
review-animations评审现有动效代码,指出问题与改法
improve-animations检查整个项目的动效,按优先级制定修改计划
find-animation-opportunities找出值得添加动效的地方,同时排除不该动的部分
animation-performance排查动画卡顿、掉帧和不必要的重绘
animation-vocabulary把“弹一下”“像橡皮筋一样回弹”等描述对应到准确术语
apple-design在网页中借鉴 Apple 的手势、动效反馈和界面设计原则
mobile-native修正移动网页的触控、视口、安全区域和输入体验
prototype制作多个有明显区别的界面原型,切换预览后选择
break-ui用真实可能出现的极端数据检查布局,并报告问题
pick-ui-library为通知、图表、拖拽等任务选择组件库
ask-sonner安装、配置或排查 React 通知组件 Sonner
animate-expo制作 React Native / Expo 的手势、转场与触觉反馈
write-swift编写或检查 Swift 代码,包括并发、性能和测试

review-animations 负责评审,不负责修改;find-animation-opportunities 只提动效建议。improve-animations 的常规流程检查源码、确认优先级,再写计划,执行计划是另一个步骤。break-ui 则会准备开发用测试数据和预览切换,先报告问题,等你决定再修复。选择时先想清楚要的是意见、计划,还是实际改动。

安装并改进一个下拉菜单

安装本次需要的技能

准备一个能在本地启动、且已有下拉菜单的前端项目。安装工具 skills CLI 当前要求 Node.js 22.20 或更新版本;这是安装器的要求,项目自身的运行环境仍按项目配置准备。

  1. 在该项目根目录的终端执行作者提供的命令:
npx skills@latest add emilkowalski/skills
  1. 在安装选择中选取 review-animations 和 animate,再选择你实际使用的 AI 编程工具。默认安装到当前项目;这次练习不需要安装全部技能。
  2. 用下面的命令查看当前项目已安装的技能,确认这两个名称都在列表中:
npx skills@latest list

然后在同一项目中打开 AI 编程工具。不要只发送技能名,要同时给出组件路径和要完成的任务。如果工具没有识别技能,先核对安装时选择的 AI 编程工具是否就是当前使用的工具,再重新打开会话。

先检查,不急着改

先启动项目,实际打开和关闭一次下拉菜单,记下让你不舒服的地方。下面两段请求是本站为练习编写的,需把方括号替换成自己的组件路径;它们不是仓库自带命令或运行结果。

将第一段发给 AI 编程工具:

使用 review-animations,检查 [下拉菜单组件路径] 及直接相关的样式。
先阅读组件和项目已有的动效变量,不修改代码。
重点检查:打开时是否显得迟缓、动画是否从触发按钮的位置展开、
快速连续开合能否平滑中断,以及键盘操作和减少动效设置的处理。
用 Before / After / Why 表格列出有代码依据的问题,标明文件与行号。
三列分别说明当前代码、建议改法和修改原因;After 不代表已经完成修改。
没有发现问题就直接说明,不为了添加动画而改动。

检查报告是否指向你提供的组件,是否引用了实际样式。如果菜单并没有评审所说的代码,先让 AI 重新核对。比如 transition: all 会让本不需要变化的属性一起过渡;真正要改的是受影响的属性和交互,不能只把 all 换成另一段固定代码就算完成。

选一项修改,再检查效果

选一个已确认的问题,例如“菜单展开太慢,而且像从页面中央冒出来”。接着发送:

使用 animate,只调整 [下拉菜单组件路径] 的开合动效。
目标是鼠标点击后立即有反馈,菜单从触发按钮附近自然展开。
优先复用项目已有的曲线和时长变量;如果现有变量不适合,说明原因。
连续点击时从当前状态继续过渡,不跳回初始画面。
键盘触发时即时切换状态;减少动效模式下去掉位移和缩放。
保留菜单文案、布局、选项、点击关闭逻辑、焦点管理与键盘操作。
完成后说明改动文件、取舍,以及怎样打开预览检查。
  1. 按项目原有方式启动预览,分别用鼠标和键盘开合菜单,检查选择、关闭和焦点回到触发按钮等原有功能。
  2. 快速连续开合几次,观察菜单能否顺着当前状态转向;不要只看一次完整播放。
  3. 在系统或浏览器开发工具中启用“减少动态效果”,确认已停用位移和缩放,内容仍可见、操作仍正常。
  4. 再用 review-animations 检查这次改动。代码检查帮助发现具体问题,视觉节奏仍要回到预览中判断。

手机点击后悬停状态不消失,属于 mobile-native 的检查范围;动画在页面繁忙时掉帧,再用 animation-performance 排查。无需一次把所有技能都调用一遍。

把方法用到自己的组件

换成弹窗、通知提示或卡片时,保留“先说明使用场景,再评审,再局部修改”的顺序。可以把下面的模板交给 AI:

目标组件:[路径与组件名称]。
用户场景:[用户做什么、多久会触发一次、使用鼠标还是触控或键盘]。
当前问题:[从哪个状态到哪个状态时,哪里让人觉得迟缓或突兀]。
希望改善:[反馈速度、展开位置、手势中断或移动端表现]。
必须保留:[文案、数据、布局、业务逻辑和无障碍操作]。
先用 [选定技能] 给出有依据的建议;我选定后,再实现局部修改。
交付时给出预览方式和需要人工检查的行为。

例如通知提示会被连续触发,重点是新旧消息怎样衔接和关闭;弹窗则要检查焦点、遮罩和进出场。不要把下拉菜单的展开位置原样套给居中弹窗,也不要把演示页的一次入场动画套给每次按键操作。

合集按 MIT 许可发布。后续新增技能或规则,以仓库 README及各技能说明为准。