animations-native

Solid

Authors performant React Native / Expo animations with Reanimated and gesture handling with react-native-gesture-handler, running motion on the UI thread so it stays at 60/120 fps. Covers worklets, shared values, useAnimatedStyle, withTiming/withSpring, layout animations, the Gesture API (pan/pinch/drag/swipe), Moti, Lottie, Rive, reduced motion, haptics, and UI-thread profiling. Use when building RN motion, wiring a gesture, or when an RN animation feels janky. For WEB animations (CSS, Motion, View Transitions) use the `animations` skill instead. Triggers on "reanimated", "gesture handler", "react native animation", "expo animation", "useSharedValue", "withSpring", "moti", "swipe gesture", "drag", "pinch to zoom", "/animations-native".

Web & Frontend 8 stars 2 forks Updated 2 days ago MIT

Install

View on GitHub

Quality Score: 84/100

Stars 20%
32
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Animations (React Native / Expo) Produces or reviews React Native animations that hold 60/120 fps by running motion on the **UI thread** via Reanimated worklets, respect the OS Reduce Motion setting, and use the cheapest tool for the job — the Reanimated CSS API first, the worklet/hooks API for interactive motion, gesture-handler for touch, and asset runtimes (Lottie / Rive) only for designer-authored art. > **This `SKILL.md` is a thin index.** Detailed rules live in > [`rules/*.md`](./rules) and load on demand. > This is the **native** sibling of the [`animations`](../animations/SKILL.md) skill — that one owns **web** (CSS, Motion, View Transitions); this one owns **React Native / Expo**. --- ## Core Bet **Animate `transform` and `opacity`, and drive the value from the UI thread.** Those are the properties the New Architecture applies to a mounted view without a Yoga layout recalculation — the RN analog of the web "composite-only" rule. Layout props (`width`, `height`, `top`, `left`, `flex`, `margin`) recompute layout every frame and jank. Driving the value from the UI thread (a Reanimated shared value, not React `useState`) keeps motion smooth even when the JS thread is busy. Full property table and the threading model in [`rules/reanimated-core.md`](./rules/reanimated-core.md). --- ## Brainstorm Mode — interaction → feedback When the question is **what** the motion should be (not **how** to build it), the reasoning is platform-agnostic and already lives in the `a...

Details

Author
mthines
Repository
mthines/agent-skills
Created
3 months ago
Last Updated
2 days ago
Language
TypeScript
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

Web & Frontend Solid

animations

Authors performant web animations CSS-first AND brainstorms the right feedback for an interaction via a verb-to-motion catalog. Covers GPU-safe properties, modern primitives (@starting-style, interpolate-size), View Transitions, scroll-driven timelines, state-choreography morphs, React state (Motion, AnimatePresence), advanced effects (Liquid Glass, glow, 3D tilt), external engines (Lottie, Rive), React Three Fiber, prefers-reduced-motion, AND perceived performance (skeleton loaders, optimistic UI, loader floor, predictive prefetch, stale-while-revalidate). Use when building transitions, hover effects, route changes, when an animation feels janky, when deciding what feedback an interaction should have, or when the app needs to feel snappier. Triggers on "animate this", "fade in", "hover effect", "liquid glass", "lottie", "rive", "ideal feedback", "how should X feel", "skeleton loader", "perceived performance", "feel faster", "optimistic UI", "/animations".

8 Updated 2 days ago
mthines
Web & Frontend Listed

react-native-motion-gestures

Build native-driven animation and gesture interactions in React Native/Expo with Reanimated 4 + Gesture Handler 3 — worklets, shared values, layout animations, shared-element transitions, and gesture composition (simultaneous/exclusive/race), plus the worklet/JS-thread interop pitfalls (stale closures, runOnJS boundaries) that cause silent bugs. The RN analogue of the web motion suite. Use when a task animates a RN screen, wires a pan/pinch/swipe/drag gesture, composes multiple gestures on one view, or a worklet reads a stale prop/state value. Triggers on "Reanimated", "shared value", "useAnimatedStyle", "worklet", "Gesture Handler", "runOnJS", "layout animation", "shared element transition", "RN swipe/drag/pinch".

0 Updated 3 weeks ago
BenMacDeezy
Web & Frontend Listed

rn-animations-gestures

Use when adding animations or gestures to a React Native + Expo app: scale/opacity/translation transitions, layout animations (FadeIn/SlideIn/FadeOut), shared-value driven motion, swipe-to-delete, pan/pinch/long-press gestures, scroll-linked animations. Triggers on: "anima questo", "swipe to X", "fade in/out", "pinch zoom", "scroll-driven animation". Not for: styling (rn-styling), navigation transitions (Expo Router handles those — see rn-expo-router), CSS-only on web (Next.js stack).

4 Updated 4 days ago
lukedj78