← ClaudeAtlas

motion-design-principleslisted

The taste layer every other animation skill defers to — duration bands, easing, stagger, spring-vs-bezier, and when not to animate. Use when choosing a duration or easing curve, reviewing a transition for feel, deciding whether motion is warranted at all, or setting up prefers-reduced-motion behavior. Triggers on "animation duration", "easing curve", "this transition feels off/slow/janky", "stagger the list", "reduced motion", "should this animate".
BenMacDeezy/Orns-Forge · ★ 0 · Web & Frontend · score 72
Install: claude install-skill BenMacDeezy/Orns-Forge
<!-- last-verified: 2026-07 --> # Motion design principles The taste layer. `motion-react` and `gsap-scrolltrigger` implement animation in code; this skill decides *whether*, *how long*, and *what curve* — defer to it before reaching for either library. ## 1. Duration bands by function Pick duration from what the motion is *for*, not from a house default: | Function | Duration | Notes | |---|---|---| | Hover / focus feedback | <100ms | Near-instant; any lag reads as unresponsive | | Button press, icon swap | 100–200ms | Small, local, high-frequency | | State transition, modal open/close | 200–400ms | Enough to convey spatial change without stalling | | Anything gating user action | 400–500ms hard ceiling | Past 500ms reads as delay, not motion | Two dials adjust the band, not replace it: - **Scale UP with distance/size travelled** — an element crossing the whole viewport earns more time than one nudging 4px. - **Scale DOWN with exposure frequency** — anything the user sees dozens of times a session (list-item hover, tab switch) stays under ~150ms even if the "state transition" band would allow more. Frequency fatigue outweighs the base band. ## 2. Entrance/exit asymmetry - **Exit ≈ 75% of enter duration.** Leaving should feel quicker than arriving — the user's attention has already moved on. - **Ease-out (decelerate to rest) for entrances**; **ease-in (accelerate away) for exits.** An entrance that's still accelerating when it lands feels like it oversh