What problem does it solve?
React Native animations 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 an implementation that survives review on a release build, deciding first whether something should animate at all, then which tool, properties, curve, and thread to use.
Core Features & Use Cases
- Decision framework for motion: Gates every request by frequency and purpose, then picks the cheapest tool that works — CSS transitions, layout animations, shared values with gestures, native stack transitions, formSheet, Lottie, or Skia.
- Ready-to-build recipes: RECIPES.md ships implementations for press feedback, drag-to-dismiss sheets, swipe-to-delete, collapsing headers, list entrances, keyboard-synced UI, tab indicators, screen transitions, and toasts.
- Platform-correct details: Covers Reanimated 4 worklets, scheduleOnRN replacing runOnJS, spring configs with velocity handoff, expo-haptics timing, reduced motion, 120fps ProMotion, and Android/iOS formSheet differences.
- Use Case: Ask for a bottom sheet the user can drag to dismiss, and get a Gesture.Pan implementation with momentum projection, rubber-banding at the boundary, velocity-aware springs, and a haptic on snap-back.
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.