vercel-react-native-skills

Applies React Native and Expo performance best practices to mobile app code.

1|Updated Mar 5, 2026
One-click install
npx skills add https://github.com/Alwahdi/mikrotik-whisperer --skill vercel-react-native-skills-alwahdi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vercel-react-native-skills
Source: https://github.com/Alwahdi/mikrotik-whisperer/tree/main/.agents/skills/vercel-react-native-skills
Command: npx skills add https://github.com/Alwahdi/mikrotik-whisperer --skill vercel-react-native-skills-alwahdi

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? React Native apps frequently suffer from scroll jank, unnecessary re-renders, runtime crashes, and slow animations caused by common anti-patterns. This Skill provides a structured rulebook of 35+ best practices so AI agents and developers can generate, review, and refactor React Native and Expo code that performs correctly on iOS and Android. ## Core Features & Use Cases - Prioritized Rule Set: 35+ rules across 13 categories ranked by impact (CRITICAL to LOW), covering list virtualization, animations, navigation, state management, and rendering. - Incorrect vs. Correct Examples: Every rule includes side-by-side code comparisons with explanations, making it directly actionable for code generation and refactoring. - Use Case: When building a product feed screen, apply the list performance rules to use LegendList with stable object references, primitive props for memoization, and compressed images, avoiding the scroll jank caused by ScrollView with mapped children. ## Quick Start Ask the AI to review your React Native component or screen against these best practices and refactor any violations it finds.

Frequently Asked Questions about vercel-react-native-skills

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I optimize FlatList performance in React Native?

Use a virtualized list like LegendList or FlashList instead of ScrollView, pass stable object references as data, and give list items primitive props so memo() shallow comparison works. Avoid inline objects in renderItem and keep list items free of queries and heavy hooks.

What causes React Native apps to crash with falsy values in JSX?

Using {value && <Component />} crashes when value is an empty string or 0, because React Native tries to render the falsy value as text outside a Text component. Use ternaries with null, explicit boolean coercion, or early returns instead.

Should I use Reanimated useDerivedValue or useAnimatedReaction?

Use useDerivedValue when deriving one shared value from another, since it is declarative and tracks dependencies automatically. Reserve useAnimatedReaction for side effects that produce no value, such as triggering haptics or calling runOnJS.

Does this work with the React Compiler enabled?

Yes, several rules address React Compiler compatibility specifically. Destructure functions from hooks early in render, and use .get() and .set() instead of .value on Reanimated shared values so the compiler can track them correctly.

Why should native navigators be used instead of JS navigators?

Native navigators like @react-navigation/native-stack and react-native-bottom-tabs run transitions on the UI thread using platform APIs. They provide better performance, iOS large titles, proper safe area handling, and automatic accessibility support compared to JS-based navigators.

How do I handle native dependencies in a React Native monorepo?

Install packages containing native code directly in the app directory, because autolinking only scans the app's node_modules. Also pin single exact dependency versions across all packages using pnpm overrides or a tool like syncpack to avoid duplicate bundles.