What problem does it solve?
React Native animations often stutter on real devices because they run on the wrong thread, use the wrong easing, or ignore gesture velocity handoff. This Skill turns a motion request into an implementation that survives a strict review on a real device, making the decisions in the order that determines whether the animation feels right.
Core Features & Use Cases
- Decision-first build sequence: Gates every request on whether it should animate at all, names its purpose, then picks the cheapest tool — CSS transitions, layout animations, shared values, or native stack options.
- UI-thread discipline: Enforces Reanimated worklets,
scheduleOnRN instead of deprecated runOnJS, and forbids setState in gesture or scroll handlers to keep motion off the JS thread.
- Ready-to-build recipes: RECIPES.md ships implementations for press feedback, drag-to-dismiss sheets, swipe-to-delete, collapsing headers, keyboard-synced UI, tab indicators, screen transitions, and toasts.
- Use Case: Ask it to add a draggable bottom sheet to your Expo app and it produces a gesture-driven implementation with momentum projection, rubber-banding, velocity-aware springs, haptics, and reduced-motion handling.
Quick Start
Use the animate-expo skill to build a drag-to-dismiss bottom sheet with haptics in my Expo app.