Skip to content
Skillpedia
Interfaces (UI/UX)101k · #763

review-animations

Reviews animations and motion code against high-quality standards. It helps ensure animations are well-crafted and follow design principles.

What it does

This tool reviews animation and motion code to ensure it meets a high craft standard. It checks if animations are smooth, fast, and contextually appropriate, focusing on how they 'feel' rather than just if they work.

When to use it

  • ✓When reviewing user interface (UI) animations.
  • ✓When checking the quality of motion code.
  • ✓When ensuring animations are accessible and performant.

Example of what to ask your AI

“Review the animations in this code and tell me if they meet high craft standards.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/nexu-io/open-design/blob/main/skills/review-animations/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/nexu-io/open-design/blob/main/skills/review-animations/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool compares your animation code against a strict set of rules for how animations should behave. It looks for issues like sluggishness, incorrect movement, or unnecessary animations, and points out what needs improvement.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add nexu-io/open-design --skill review-animations

Or download just the file:

curl -L https://raw.githubusercontent.com/nexu-io/open-design/main/skills/review-animations/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

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

…

FAQ

What does 'high craft standard' mean for animations?

It means animations should be fast, fluid, have a clear purpose, respond well to the user, and not cause performance or accessibility issues. They should 'feel' right, not just function.

What does the tool NOT do?

It does not write new features, fix non-animation bugs, or review code that isn't related to motion or animation. If asked to review general code, it will decline.

What happens if my code doesn't meet the standards?

The tool will point out the issues found (called 'findings') in a table, explaining why each is a problem and suggesting how to fix it, following a preferred order for corrections.

Details

Original description by the author

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

repo: nexu-io/open-design

Popularity

GitHub stars
101k
Ranking position
#763
License
Apache-2.0
Updated
10/16/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills