Index of every page on this site: llms.txt
All skills
tristanmanchester avatar

/animating-react-native-expo

@3323bc9
Run it yourself

Implement and debug React Native or Expo motion with Reanimated 4 and Gesture Handler 3: state transitions, layout, gestures, scroll, worklets, cancellation, and accessible alternatives. Use for native UI motion, not web Motion or a reason to add canvas graphics to ordinary views.

Use this Skill: https://skilld.dev/gh/tristanmanchester/agent-skills/animating-react-native-expo

Nothing lands on disk. Nothing to clean up.

Fork this Skill

Edit a local copy. It keeps the author and licence.

referenceslayout-animations.md

≈503 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Layout animations (enter/exit/layout transitions)

Use layout animations when components:

  • mount/unmount (entering/exiting)
  • change layout (position/size changes because of reflow)

Entering / exiting

import Animated, { FadeIn, FadeOut } from 'react-native-reanimated';

export function Item({ visible }: { visible: boolean }) {
  return visible ? <Animated.View entering={FadeIn} exiting={FadeOut} /> : null;
}

Docs: https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/entering-exiting-animations/

Notes from the docs:

  • Prefer defining builders outside components or memoising them for performance.
  • On the New Architecture, nativeID is used internally for entering animations; don’t overwrite it. Some components overwrite nativeID of children—wrap with a plain View if animations don’t run.
  • View flattening can cause a removed parent not to wait for exiting animations; mitigate with collapsable={false} when needed.

Layout transitions

import Animated, { LinearTransition } from 'react-native-reanimated';

export function ResizingBox() {
  return <Animated.View layout={LinearTransition} />;
}

Docs: https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/layout-transitions/

FlatList item layout animations

import Animated, { LinearTransition } from 'react-native-reanimated';

<Animated.FlatList
  data={data}
  renderItem={renderItem}
  itemLayoutAnimation={LinearTransition}
/>

Docs: https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/list-layout-animations/

Skipping entering/exiting animations

Wrap a subtree with LayoutAnimationConfig:

import { LayoutAnimationConfig } from 'react-native-reanimated';

<LayoutAnimationConfig skipEntering>
  {show && <Animated.View entering={PinwheelIn} exiting={PinwheelOut} />}
</LayoutAnimationConfig>

Docs: https://docs.swmansion.com/react-native-reanimated/docs/layout-animations/layout-animation-config/

Source: SKILL.md on GitHub

No rule matched.

skilld matched fixed text patterns in SKILL.md and file names. Patterns miss obfuscated code.

skilld run checks every file with the same patterns. It asks for approval before it loads a Skill with a behavior marked Needs approval.

1 warning1mo5 checks · Risk SAFE
  • Gen Agent Trust Hub1mo

    This skill provides documentation, code examples, and a diagnostic script for implementing animations in React Native (Expo) apps using Reanimated v4 and Gesture Handler. No malicious patterns or security risks were detected.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: LOW · No issues

  • Runlayer8mo

    9/9 files flagged

  • ZeroLeaks6mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 3323bc9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 weeks ago.

Steadyupdated last month
metadata
{
  "version": "2.0.0",
  "reviewed": "2026-09-13"
}
Other metadata
compatibility
Requires a compatible React Native New Architecture, Reanimated 4, Worklets, and Gesture Handler 3 stack. Resolve versions through the app's Expo SDK or upstream compatibility tables; native verification needs a device or simulator build.

README badge

README badge for tristanmanchester/agent-skills/animating-react-native-expo