What problem does it solve? Teams often ship animations that feel wrong: elements that should not animate at all, ease-in curves on entrances, scale(0) pop-ins, or durations that make dropdowns feel sluggish. This Skill turns a request for motion into an implementation that follows a strict decision sequence, so the result survives a rigorous animation review the first time. ## Core Features & Use Cases - Gated decision sequence: First decides whether the element should animate at all based on interaction frequency, then names the motion's purpose (feedback, spatial consistency, state indication, delight) before writing any code. - Tool and property selection: Picks the cheapest working tool (CSS transition, @starting-style, CSS animation, WAAPI, or Motion) and restricts animation to transform and opacity for GPU-accelerated rendering. - Concrete values, no guessing: Provides exact easing curves (cubic-bezier tokens), duration ranges per component type, and spring configurations, plus mandatory reduced-motion and hover gating. - Use Case: When asked to add an entrance animation to a dropdown menu, it selects a CSS transition on transform and opacity, applies a strong ease-out curve at 150-250ms, sets transform-origin at the trigger, and ships the prefers-reduced-motion variant in the same change. ## Quick Start Ask the AI to animate a component, for example: add an entrance and exit animation to this modal dialog following the animation build sequence.