vercel-react-native-skills

Applies React Native and Expo performance rules to mobile app code.

Updated Mar 22, 2026
One-click install
npx skills add https://github.com/Ahmed-Eldalatony/airbnb-clone-bench --skill vercel-react-native-skills-ahmed-eldalatony
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vercel-react-native-skills
Source: https://github.com/Ahmed-Eldalatony/airbnb-clone-bench/tree/main/.agents/skills/vercel-react-native-skills
Command: npx skills add https://github.com/Ahmed-Eldalatony/airbnb-clone-bench --skill vercel-react-native-skills-ahmed-eldalatony

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? React Native apps frequently suffer from scroll jank, render thrashing, and production crashes caused by common mistakes like falsy && rendering, unvirtualized lists, and layout-property animations. This Skill provides a prioritized rulebook of 35+ best practices so AI agents and developers generate performant, crash-free mobile code by default. ## Core Features & Use Cases - Prioritized Rule Catalog: 35+ rules across 14 categories ranked by impact (CRITICAL rendering rules down to LOW font-loading optimizations), each with incorrect vs. correct code examples. - List & Animation Optimization: Concrete patterns for LegendList/FlashList virtualization, stable object references, memoization with primitive props, and GPU-accelerated Reanimated animations. - Platform Guidance: Rules for native navigators, native modals, expo-image, safe areas, monorepo dependency management, and React Compiler compatibility. - Use Case: When building a feed screen in an Expo app, the agent automatically uses a virtualized list with stable item references, compressed images, and GestureDetector-based press animations instead of a ScrollView with inline objects. ## Quick Start Review my React Native feed screen component and refactor it to follow these performance best practices.

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 and callbacks inside renderItem since new references break memoization.

Why does my React Native app crash with conditional rendering?

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 a ternary with null, explicit boolean coercion, or an early return instead.

Should I use FlashList or LegendList for large lists?

Both are virtualized lists that render only visible items, reducing memory and mount time compared to ScrollView. The rules cover both, including getItemType for heterogeneous lists and estimatedItemSize for accurate recycling.

Does Reanimated work with the React Compiler?

Yes, but you must use .get() and .set() instead of reading or writing .value directly on shared values, since the compiler cannot track property access. Destructuring functions early in render also keeps references stable for compiler memoization.

When should I animate transform instead of width and height?

Always prefer transform and opacity because they run on the GPU without triggering layout recalculation. Animating width, height, margin, or padding forces layout on every frame and causes jank.

Where should native dependencies be installed in a React Native monorepo?

Native dependencies must be listed in the app package's package.json, not only in shared packages, because autolinking only scans the app's node_modules. Use exact single versions across the monorepo to avoid duplicate bundles.