react-native-ease-refactor

A migration assistant that changes React Native animation code from Animated or Reanimated to EaseView components.

In plain words
What is it for?
It helps scan TypeScript and JavaScript files, detect animation imports and dependencies, and guide the required conversion phases.
Why use it?
It finds the existing animation setup and accounts for library versions and NativeWind usage during the migration.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/appandflow/react-native-ease/react-native-ease-refactor
Any agent
npx skills add appandflow/react-native-ease --skill react-native-ease-refactor
Clone the repo
git clone --depth 1 https://github.com/appandflow/react-native-ease

Made for: Claude Code, Codex.

Per session 18 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,746 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00018 $0.05746
Opus 5 $0.00009 $0.02873
Sonnet 5 $0.00004 $0.01149
Haiku 4.5 $0.00002 $0.00575

Measured 2d ago against content hash 4ba9734b7a39, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

react-native-ease-refactor scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/react-native-ease-refactor/SKILL.md · 456 lines

How it starts

The opening of the file, as written. The whole thing — 456 lines — stays where its author put it; the contents beside it link to each section on GitHub.

react-native-ease refactor

You are a migration assistant that converts react-native-reanimated and React Native's built-in Animated API code to react-native-ease EaseView components.

Follow these 6 phases exactly. Do not skip phases or reorder them.


Phase 1: Discovery

Scan the user's project for animation code:

  1. Use Grep to detect if the project uses NativeWind:

    • Pattern: from ['"]nativewind['"] in **/*.{ts,tsx,js,jsx}
    • Also check package.json for "nativewind" in dependencies
    • If NativeWind is detected, set a flag usesNativeWind = true for use in Phase 5
  2. Detect the Reanimated version (needed for default value mapping in Phase 2):

    • Read package.json and check the react-native-reanimated version in dependencies or devDependencies
    • If the version is ^4 or >=4.0.0, set reanimatedVersion = 4
    • Otherwise set reanimatedVersion = 3 (covers v2/v3 which share the same defaults)
  3. Use Grep to find all files importing from react-native-reanimated:

    • Pattern: from ['"]react-native-reanimated['"]
    • Search in **/*.{ts,tsx,js,jsx}
  4. Use Grep to find all files using React Native's built-in Animated API:

    • Pattern: from ['"]react-native['"] that also use Animated
    • Pattern: Animated\.View|Animated\.Text|Animated\.Image|Animated\.Value|Animated\.timing|Animated\.spring
  5. Use Grep to find files already using react-native-ease (to avoid re-migrating):

    • Pattern: from ['"]react-native-ease['"]
  6. Read each file that contains animation code. Build a list of components with their animation patterns.

Exclude from scanning:

  • node_modules/
  • *.test.* and *.spec.* files
  • Build output directories (lib/, build/, dist/)

Phase 2: Classification

For each component found, classify as migratable or not migratable.

Decision Tree

Apply these checks in order. The first match determines the result:

  1. Uses gesture APIs? (Gesture.Pan, Gesture.Pinch, Gesture.Rotation, useAnimatedGestureHandler) → NOT migratable — "Gesture-driven animation"
  2. Uses scroll handler? (useAnimatedScrollHandler, onScroll with Animated.event) → NOT migratable — "Scroll-driven animation"
  3. Uses shared element transitions? (sharedTransitionTag) → NOT migratable — "Shared element transition"
  4. Uses runOnUI or worklet directives? → NOT migratable — "Requires worklet runtime"
  5. Uses withSequence? → NOT migratable — "Animation sequencing not supported" 5b. Uses withDelay wrapping a single animation (withTiming/withSpring)? → MIGRATABLE — map to delay on the transition 5c. Uses withDelay wrapping withSequence or nested withDelay? → NOT migratable — "Complex delay/sequencing not supported"
  6. Uses complex interpolate()? (more than 2 input/output values) → NOT migratable — "Complex interpolation"
  7. Uses layout={...} prop? → NOT migratable — "Layout animation"
  8. Animates unsupported properties? (anything besides: opacity, translateX, translateY, scale, scaleX, scaleY, rotate, rotateX, rotateY, borderRadius, backgroundColor, borderWidth, borderColor, shadowOpacity, shadowRadius, shadowColor, shadowOffset, elevation) → NOT migratable — "Animates unsupported property: <prop>"
  9. Uses different transition configs per property? (e.g., opacity uses 200ms timing, scale uses spring) → MIGRATABLE — map to TransitionMap with category keys (transform, opacity, borderRadius, backgroundColor, border, shadow, default)
  10. Not driven by state? (animation triggered by gesture/scroll value, not React state) → NOT migratable — "Not state-driven"
  11. Otherwise → MIGRATABLE

Read the full file on GitHub · 456 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 456 lines · 18 tokens per session scan A 4ba9734b7a39

Subscribe to this mod's changes

react-native-ease-refactor is a skill published in the GitHub repository appandflow/react-native-ease (966 stars, last pushed 15d ago), licensed MIT. It adds 18 tokens to every session and 5,746 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

animate-expo

Build animations in React Native and Expo, making the decisions in the order that determines whether they feel right — should it animate, which thread it runs on, which properties, spring or timing, how the gesture hands off, how it degrades. Writes the implementation with Reanimated, Gesture Handler, Expo Router and…

emilkowalski/skills · 112 tokens

animation-vocabulary

Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and…

emilkowalski/skills · 98 tokens

tamagui

Universal React UI framework for web and native. Use when building cross-platform apps with Tamagui, creating styled components with styled(), configuring design tokens/themes, using Tamagui UI components, or working with animations. Triggers: "tamagui", "styled()", "$token", "XStack/YStack", "useTheme", "@tamagui/"…

tamagui/tamagui · 90 tokens

expo-native-ui

Framework (OSS). Build beautiful, native-feeling Expo screens. Covers Apple HIG styling, semantic colors, native controls, SF Symbols, media, animations, visual effects, gradients, storage, and responsive layout. For routing and navigation, use the expo-router skill.

expo/skills · 58 tokens

compose-state-deferred-reads

Use when Jetpack Compose code reads scroll, animation, gesture, or other frame-rate State in composition, passes changing values across composable boundaries, or uses value-form layout/draw modifiers. Technique-layer skill — complements the codebase-specific compose-expert.

vitorpamplona/amethyst · 58 tokens

mobile-onboarding

三个手机框并排: splash / value-prop / sign-in.

nexu-io/html-anything · 18 tokens