What problem does it solve? Mobile animations in React Native often stutter, feel wrong, or shouldn't exist at all. This Skill provides a decision sequence for building motion in Expo apps — deciding whether to animate, which runtime thread to use, which properties are safe, and how gestures hand off velocity — so animations survive review on real devices. ## Core Features & Use Cases - Decision-first workflow: Gates every animation by frequency and purpose before writing code, then picks the cheapest tool (CSS transitions, layout animations, shared values, or native stack options). - UI-thread correctness: Enforces Reanimated worklets, shared values, and scheduleOnRN patterns that keep motion off the JS thread, with explicit rules against setState per frame and layout-property animation. - Ready-to-build recipes: Includes implementations for press feedback, drag-to-dismiss sheets, swipe-to-delete, collapsing headers, list entrances, keyboard-synced UI, tab indicators, screen transitions, and toasts. - Use Case: When asked to add a draggable bottom sheet to an Expo screen, it produces a gesture-driven implementation with momentum projection, rubber-banding, velocity-aware springs, haptics, and reduced-motion handling. ## Quick Start Ask the assistant to build a drag-to-dismiss bottom sheet animation for your Expo app using Reanimated and Gesture Handler.