In the Skill's Own Terms
This skill gives coding agents Emil Kowalski's design engineering judgment for interface work: how to decide whether something should animate, which easing and duration to use, and how to build components that feel responsive. It sets hard defaults — UI animations under 300ms, custom cubic-bezier curves instead of built-in CSS easings, never ease-in, never scale(0) entrances, popovers scaling from their trigger.
It also covers springs, clip-path techniques, drag and gesture handling, GPU performance rules, reduced motion, and a required Before/After markdown table for code reviews. It is for designers and developers who want taste-driven interface decisions rather than generic animation advice.
What it produces
- A markdown review table with Before, After and Why columns, one row per issue found
- Ready-to-paste CSS variables holding the recommended custom easing curves
- Spring configuration objects, either Apple-style or traditional physics parameters
- A prioritised fix list drawn from the Review Checklist categories
How It Works
- 01Gate the Animation on Frequency
Before writing any animation code, decide how often users will hit the interaction.
- 02Name the Purpose
Every animation must answer why it animates, from the valid list: spatial consistency, state indication, explanation, feedback, or preventing jarring changes.
- 03Pick a Custom Curve
Choose easing by whether the element enters, exits, moves, or only changes color, then swap the built-in curves for stronger custom cubic-beziers.
- 04Set the Duration
Match duration to the element type from the table — button press 100-160ms, dropdowns 150-250ms, modals 200-500ms — and keep UI below the 300ms ceiling.
- 05Apply the Component Defaults
Buttons scale to 0.97 on :active, entrances start from 0.95 with opacity rather than scale(0), and popovers scale from their trigger while modals stay centered.
- 06Use Springs Where They Earn It
Springs suit drag with momentum, gestures that can be interrupted, and deliberately decorative interactions.