What problem does it solve? UI code often ships with animations that feel sluggish, unnatural, or jarring — wrong easing curves, scale-from-zero entrances, keyboard actions that animate, and transitions that break under load. This Skill provides a systematic framework for reviewing and fixing these interaction details. ## Core Features & Use Cases - Animation Decision Framework: Determines whether an element should animate at all based on usage frequency, then selects the correct easing curve, duration, and technique (CSS transitions, springs, WAAPI). - Structured UI Review: Produces a Before/After/Why markdown table identifying issues like transition: all, ease-in on UI elements, missing :active states, and incorrect transform-origin on popovers. - Component Patterns: Covers concrete implementations for buttons, tooltips, drawers, toasts, drag gestures with momentum, clip-path reveals, and stagger animations. - Use Case: Paste a React component with a dropdown that feels slow, and receive a table of fixes — switching ease-in to a custom cubic-bezier(0.23, 1, 0.32, 1) ease-out, reducing duration from 400ms to 200ms, and setting the popover's transform-origin to its trigger. ## Quick Start Review the animation and interaction code in my dropdown component and suggest fixes in a Before/After table.