What problem does it solve? Interfaces often feel sluggish or unpolished because of subtle animation mistakes: wrong easing curves, excessive durations, scale-from-zero entrances, and non-interruptible keyframes. This Skill encodes Emil Kowalski's design engineering philosophy to help you diagnose and fix these invisible details in UI code. ## Core Features & Use Cases - Animation Decision Framework: Decide whether an element should animate at all, which easing curve to use, and how long it should run based on interaction frequency and purpose. - Structured UI Reviews: Get Before/After/Why markdown tables identifying issues like transition: all, ease-in on UI elements, missing :active states, and incorrect transform-origin on popovers. - Component-Level Guidance: Apply concrete patterns for buttons, tooltips, drawers, toasts, drag gestures, springs, clip-path reveals, and stagger animations with CSS, Framer Motion, and WAAPI. - Use Case: Paste a React component with a dropdown that feels sluggish, and receive a table of fixes such as switching ease-in to a custom ease-out curve and reducing duration from 400ms to 200ms. ## Quick Start Review this dropdown component's animation code and tell me what to fix to make it feel more responsive.