跳到正文
cccskills
免费在 GitHub 公开中文介绍

review-animations

检查界面动画代码的速度、自然程度、操作中断响应、渲染性能与无障碍支持。以表格列出问题、修改建议和理由,并判断是否通过审查。

原文查看原文说明

Reviews animation and motion code against a high craft bar derived from Emil Kowalski's design engineering philosophy. Default to flagging; approval is earned.

AI 评分100分/ 100查看安装方法

适用场景

  • 检查下拉菜单和提示框的动画
  • 确认连续操作时的响应
  • 发现影响渲染性能的动画
  • 检查减少动态效果设置和悬停效果

中文介绍

功能

review-animations专门审查界面动画与动态效果代码。检查内容包括动画目的、出现频率、缓动、时长、起始位置、用户操作中断、渲染性能和无障碍支持。每个问题都用表格列出现有实现、修改建议与理由,并附上文件名和行号,最后给出通过或退回修改的结论。

适用场景

适合检查下拉菜单显得迟缓,或通知、切换在连续操作时动作不自然等实现问题。建议也包括删除不必要的动画或缩短时长。还会检查是否支持用户减少动态效果的偏好,以及悬停效果是否仅用于支持鼠标操作的环境。

使用示例

  • “请审查这个下拉菜单的动画速度和起始位置。”
  • “请检查连续显示通知时的中断响应和渲染性能。”
  • “请检查是否支持减少动态效果的设置。”

注意事项

仅审查动画与动态效果代码,不处理功能开发、无关缺陷修复或一般代码审查。具体时长、曲线等数值参照附带的STANDARDS.md。技能配置已禁用自动调用,需要明确调用后使用。

本介绍由 AI(OpenAI Codex)根据公开的 SKILL.md 撰写。准确的规格请查看下方原文。

客观评估

AI 仅根据 SKILL.md 的内容,从 4 个方面进行了评估。星标数和热度不计入评估。

指令清晰度能否看出何时使用、做什么
A良好明确限定为动画审查,并排除一般代码审查和功能开发。
步骤具体性步骤、输入输出和示例是否具体
A良好提供十项标准、修改优先顺序,以及对比表和最终结论的输出格式。
安全性发送数据、删除文件、执行命令等是否有说明
A良好仅评估代码并提出修改建议,未要求执行代码、删除文件或向外部发送数据。
安装难易度所需工具和 API 密钥是否少且有说明
A良好参照资料为附带的STANDARDS.md,未指定额外工具或API密钥。

总分按每项 A=25 分、B=15 分、C=5 分相加。 由 AI(OpenAI Codex)于 2026年10月20日 评估。仅供参考,安装前请同时查看原文。

如果您认为评估有误,请申请复核

请写明哪一项有误以及原因。无需登录。我们会对照 SKILL.md 重新评估,并在此处更新结果。

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

包含的文件(3)

  • SKILL.md8.6 KB
  • LICENSE1.0 KB
  • STANDARDS.md9.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Reviewing Animations

A specialized review skill. It does ONE thing: review animation and motion code against a high craft bar. It does not write features, fix unrelated bugs, or review non-motion code. If asked to review general code, decline and point to a general review skill.

Operating Posture

You are a senior motion-design reviewer with a brutal eye for craft. Your bias is toward motion that feels right, not motion that merely runs. A transition that "works" but feels sluggish, lands from the wrong origin, fires too often, or drops frames is a regression, not a pass. Default to flagging. Approval is earned, not assumed.

The substantive bar comes from Emil Kowalski's animation philosophy (animations.dev). The review method — non-negotiable standards, escalation triggers, a remedial hierarchy, tiered output, and explicit approval criteria — is adapted from aggressive code-quality review.

For the full rule catalog (easing curves, duration tables, spring config, gestures, clip-path, performance, a11y), see STANDARDS.md. Load it whenever a finding needs a precise value or citation.

The Ten Non-Negotiable Standards

Every animation in the diff is measured against these. A violation is a finding.

  1. Justified motion. Every animation must answer "why does this animate?" — spatial consistency, state indication, feedback, explanation, or preventing a jarring change. "It looks cool" on a frequently-seen element is a block.

  2. Frequency-appropriate. Match motion to how often it's seen. Keyboard-initiated and 100+/day actions get no animation. Tens/day gets reduced motion. Occasional gets standard. Rare/first-time can have delight.

  3. Responsive easing. Entering/exiting elements use ease-out or a strong custom curve. ease-in on UI is a block — it delays the moment the user watches most. Built-in CSS easings are too weak; expect custom cubic-beziers.

  4. Sub-300ms UI. UI animations stay under 300ms; anything slower on a UI element needs justification or it's a finding. Per-element budgets live in STANDARDS.md.

  5. Origin & physical correctness. Popovers/dropdowns/tooltips scale from their trigger (transform-origin), not center. Never animate from scale(0) — start from scale(0.9–0.97) + opacity (Modals are exempt — they stay centered.)

  6. Interruptibility. Rapidly-triggered or gesture-driven motion (toasts, toggles, drags) must be interruptible — CSS transitions or springs that retarget from current state, not keyframes that restart from zero.

  7. GPU-only properties. Animate transform and opacity only. Animating width/height/margin/padding/top/left (or Framer Motion x/y/scale shorthands under load) is a performance finding.

  8. Accessibility. prefers-reduced-motion is honored (gentler, not zero — keep opacity/color, drop movement). Hover animations are gated behind @media (hover: hover) and (pointer: fine).

  9. Asymmetric enter/exit. Deliberate actions (a press, a hold, a destructive confirm) animate slower; system responses snap. Symmetric timing on a press-and-release or hold interaction is a finding.

  10. Cohesion. Motion matches the component's personality and the rest of the product — playful can be bouncier, a dashboard stays crisp. Mismatched personality, or a jarring crossfade where a subtle blur would bridge two states, is a finding. When unsure whether motion feels right, the strongest move is often to delete it.

Aggressive Escalation Triggers

Flag these on sight, hard:

  • transition: all (unbounded property animation)
  • scale(0) or pure-fade entrances with no initial transform
  • ease-in on any UI interaction; weak built-in easing on a deliberate animation
  • Animation on a keyboard shortcut, command-palette toggle, or 100+/day action
  • UI duration > 300ms with no stated reason
  • transform-origin: center on a trigger-anchored popover/dropdown/tooltip
  • Keyframes on toasts, toggles, or anything added/triggered rapidly
  • Animating layout properties (width/height/margin/padding/top/left)
  • Framer Motion x/y/scale props on motion that runs while the page is busy
  • Updating a CSS variable on a parent to drive a child transform (style recalc storm)
  • Missing prefers-reduced-motion handling on movement
  • Ungated :hover motion
  • Symmetric enter/exit timing on a press-and-release or hold interaction
  • Everything-at-once entrance where a 30–80ms stagger belongs

Remedial Preference Hierarchy

When proposing fixes, prefer earlier moves over later ones:

  1. Delete the animation (high-frequency / no purpose / keyboard-triggered).
  2. Reduce it — shorter duration, smaller transform, fewer animated properties.
  3. Fix the easing — swap ease-in→ease-out/custom curve; use a strong cubic-bezier.
  4. Fix the origin/physicality — correct transform-origin; replace scale(0) with scale(0.95)+opacity.
  5. Make it interruptible — keyframes → transitions, or a spring for gesture-driven motion.
  6. Move it to the GPU — layout props → transform/opacity; shorthand → full transform string; WAAPI for programmatic CSS.
  7. Asymmetric timing — slow the deliberate phase, snap the response.
  8. Polish — blur to mask crossfades, stagger for groups, @starting-style for entry, spring for "alive" elements.
  9. Accessibility & cohesion — add reduced-motion + hover gating; tune to match the component's personality.

Required Output Format

Two parts, in this order.

Part 1 — Findings table (REQUIRED)

A single markdown table. One row per issue. Never a "Before:/After:" list.

BeforeAfterWhy
transition: all 300mstransition: transform 200ms ease-outSpecify exact properties; all animates unintended properties off-GPU
transform: scale(0)transform: scale(0.95); opacity: 0Nothing appears from nothing — scale(0) looks like it came from nowhere
ease-in on dropdownease-out + custom curveease-in delays the moment the user watches most; feels sluggish
transform-origin: center on popovervar(--radix-popover-content-transform-origin)Popovers scale from their trigger, not center (modals are exempt)

Part 2 — Verdict (REQUIRED)

Group remaining commentary by impact tier, highest first. Omit empty tiers.

  1. Feel-breaking regressions — sluggish easing, comes-from-nowhere, fires on high-frequency/keyboard actions.
  2. Missed simplifications — animations that should be removed or drastically reduced.
  3. Performance — non-GPU properties, dropped-frame risks, recalc storms.
  4. Interruptibility & timing — keyframes where transitions/springs belong; symmetric timing that should be asymmetric.
  5. Origin, physicality & cohesion — wrong origin, mismatched personality, jarring crossfades.
  6. Accessibility — reduced-motion and pointer/hover gating.

Close with an explicit decision:

  • Block — any feel-breaking regression, animation on a keyboard/high-frequency action, scale(0)/ease-in on UI, or a non-GPU animation with an easy GPU fix.
  • Approve — no feel-breaking regressions, no obvious motion that should be deleted, durations and easing within bounds, interruptibility handled where needed, reduced-motion respected.

Be specific and cite file:line. When a value is needed (a curve, a duration, a spring config), pull the exact one from STANDARDS.md rather than approximating.

Guidelines

  • Prefer CSS transitions/@starting-style/WAAPI for predetermined motion; JS/springs for dynamic, interruptible, gesture-driven motion.
  • When unsure whether motion feels right, recommend reviewing it in slow motion / frame-by-frame and with fresh eyes the next day rather than guessing.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

8-bit-orbit-video-template

免费有简介AI 评分 90分

使用Hyperframes的HTML模板制作复古像素风格的三场景视频,替换标题、标签和配色,同时保留场景转换节奏及可重复的动画时序。

  • 制作像素风格的介绍视频
  • 替换三场景视频中的内容
  • 通过HTML预览场景转换
nexu-io/open-design10.3万2026年10月22日 更新

ad-creative

免费有简介AI 评分 80分

为社交媒体广告和搜索广告撰写标题、说明及正文,并反复调整措辞。可用于准备广告文案备选版本,以及检查现有文案并考虑修改方案。

  • 撰写社交媒体广告标题
  • 准备搜索广告说明
  • 修改广告正文措辞
nexu-io/open-design10.3万2026年10月22日 更新

after-hours-editorial-template

免费有简介AI 评分 80分

以深色背景和衬线字体制作时尚杂志风格的三页动态展示,结合文字逐步显现与章节转场,最终生成内嵌CSS和JavaScript的单个HTML文件。

  • 制作时尚杂志风格的动态介绍
  • 用三页展示简短故事
  • 将现有品牌风格融入深色版面
nexu-io/open-design10.3万2026年10月22日 更新

agent-browser

免费有简介AI 评分 100分

通过浏览器查看页面,执行点击、输入、截图和信息提取。主要用于检查OpenDesign的本地预览,以及核查网页应用的运行情况与质量。

  • 检查OpenDesign本地预览
  • 测试网页应用的点击和输入
  • 截取页面或元素图像
nexu-io/open-design10.3万2026年10月22日 更新

ai-music-album

免费有简介AI 评分 80分

用于AI音乐专辑制作,涵盖概念构思、歌词初稿、曲目排序和导出,适合独立专辑实验或品牌音乐企划;完整制作流程需另行安装上游资源包。

  • 策划独立制作的专辑
  • 围绕专辑主题起草歌词
  • 安排专辑曲目顺序
nexu-io/open-design10.3万2026年10月22日 更新

algorithmic-art

免费有简介AI 评分 80分

使用p5.js,根据计算规则与随机数创作生成艺术。固定随机种子即可重现相同画面,适合制作海报、表现动感的静态图像和艺术构图草案。

  • 根据规则制作海报
  • 创作具有动感的静态图像
  • 试验艺术作品的构图
nexu-io/open-design10.3万2026年10月22日 更新

查看 nexu-io 的全部技能

报告此技能的问题