vercel-react-native-skills

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

Updated Mar 29, 2026
One-click install
npx skills add https://github.com/Divith123/Flamingo --skill vercel-react-native-skills-divith123
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: vercel-react-native-skills
Source: https://github.com/Divith123/Flamingo/tree/main/.agents/skills/vercel-react-native-skills
Command: npx skills add https://github.com/Divith123/Flamingo --skill vercel-react-native-skills-divith123

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 coding mistakes. This Skill provides a structured rulebook of 35+ best practices so AI agents and developers can generate, refactor, and review React Native and Expo code that performs correctly on mobile devices. ## 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. - Modular Rule Files: Individual rule files in rules/ can be read on demand, while AGENTS.md provides the full compiled guide. - Use Case: When building a feed screen with FlashList or LegendList, apply the list performance rules to avoid inline objects in renderItem, pass primitives to memoized items, and use item types for heterogeneous layouts. ## Quick Start Review my React Native list component and apply the list performance rules to eliminate re-renders and scroll jank.

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 primitives to memoized list items, avoid inline objects in renderItem, and hoist callbacks to the list root. These rules prevent unnecessary re-renders and reduce memory usage during scrolling.

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 ternary expressions, explicit boolean coercion, or early returns instead.

Should I use FlashList or LegendList for large lists?▼

Both are recommended virtualizers that render only visible items instead of mounting all children like ScrollView. LegendList additionally supports getItemType for heterogeneous lists with separate recycling pools and per-type size estimation.

Does this guidance work with the React Compiler enabled?▼

Yes, several rules include React Compiler notes. The compiler handles memoization automatically, but you should still destructure functions early in render and use .get()/.set() instead of .value on Reanimated shared values for compatibility.

Why should I animate transform and opacity instead of height?▼

Animating width, height, margin, or padding triggers layout recalculation on every frame, causing jank. Transform and opacity run on the GPU without triggering layout, producing smooth animations with Reanimated.

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

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