What problem does it solve? Animation code often uses the wrong timing function for the interaction type, producing motion that feels sluggish, mechanical, or restless. This Skill reviews your animation implementations against a rule set covering springs, easing curves, durations, and no-animation cases, then reports each violation with its exact file and line number. ## Core Features & Use Cases - Spring vs. easing decision framework: Classifies motion as user-driven (springs), system-driven (easing), time representation (linear), or high-frequency (no animation) and flags mismatches. - Rule-based audit: Checks 15 rules across four categories, including gesture springs, entrance ease-out, exit ease-in, 300ms duration caps, and keyboard navigation without animation. - Structured findings output: Reports violations in file:line - [rule-id] description format plus a severity summary table. - Use Case: A developer's drag-to-dismiss drawer feels wrong on release. Run the audit on the component and get a finding like components/drawer/index.tsx:45 - [spring-for-gestures] Drag interaction using easing instead of spring, with the correct spring parameters to apply. ## Quick Start Review the animation code in my components directory and report any timing function violations with file and line numbers.