What problem does it solve? Deciding whether and how to animate a UI element is error-prone: wrong easing curves, oversized durations, layout-thrashing properties, and missing reduced-motion support make interfaces feel sluggish. This Skill turns a motion request into a reviewed implementation that follows a strict decision sequence. ## Core Features & Use Cases - Gated decision sequence: Determines whether an element should animate at all based on interaction frequency, then names the motion's purpose before writing any code. - Tool and property selection: Chooses between CSS transitions, @starting-style, WAAPI, or Motion springs, and restricts animation to transform and opacity with correct transform-origin handling. - Ready-made recipes: Provides implementations for buttons, dropdowns, tooltips, modals, drawers, toasts, accordions, staggers, hold-to-confirm, tab indicators, scroll reveals, and drag-to-dismiss gestures. - Use Case: When asked to add an entrance animation to a dropdown menu, it produces a 200ms ease-out scale-and-fade anchored to the trigger's transform-origin, with reduced-motion and hover gating included. ## Quick Start Ask the assistant to animate a component, for example: add an entrance animation to this dropdown menu using the animate skill.