What problem does it solve? Animations in React Native often stutter on real devices because they run on the wrong thread, use layout-triggering properties, or ignore gesture velocity handoff. This Skill turns a motion request into a reviewed implementation that survives a release build on a slow device. ## Core Features & Use Cases - Decision-first build sequence: Gates every animation by frequency and purpose, then picks the cheapest tool — CSS transitions, layout animations, shared values, or native stack options. - UI-thread correctness: Enforces Reanimated worklets, scheduleOnRN discipline, and transform/opacity-only properties to keep motion off the JS thread. - Ready-made recipes: Provides implementations for press feedback, drag-to-dismiss sheets, swipe-to-delete, collapsing headers, keyboard-synced UI, tab indicators, toasts, and Expo Router screen transitions. - Use Case: When adding a bottom sheet to an Expo app, the Skill decides between formSheet and a custom gesture-driven sheet, then writes the spring config with velocity handoff, rubber-banding, haptics, and reduced-motion support. ## Quick Start Use the expo-animation skill to build a drag-to-dismiss bottom sheet with spring physics and haptic feedback for my Expo app.