What problem does it solve? Animations in React Native often stutter on real devices because they run on the wrong thread, use approximated curves, or ignore gesture velocity handoff. This Skill turns a request for motion into an implementation that survives review on a release build, deciding first whether something should animate at all, then which thread, properties, and spring or timing curve to use. ## Core Features & Use Cases - Decision-first build sequence: Gates every animation by frequency and purpose, then picks the cheapest tool that works, from Reanimated CSS transitions to shared values, layout animations, and native stack transitions in Expo Router. - Ready-to-build recipes: RECIPES.md ships implementations for press feedback, drag-to-dismiss bottom sheets, swipe-to-delete rows, collapsing headers, list entrances, keyboard-synced UI, tab indicators, screen transitions, and toasts. - Mobile-specific craft: Enforces UI-thread worklets, velocity-aware springs, rubber-banding, haptics paired with visuals, reduced-motion support, and 120fps ProMotion configuration. - Use Case: A user asks for a draggable bottom sheet in their Expo app. The Skill checks whether presentation: 'formSheet' covers it, and if not, writes a Gesture.Pan implementation with momentum projection, velocity handoff to a spring, and a haptic on snap-back. ## Quick Start Use the expo-animation skill to add a drag-to-dismiss bottom sheet with spring physics and haptic feedback to my Expo app.