vercel-react-native-skills

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

Updated Aug 22, 2026
One-click install
npx skills add https://github.com/MSC72m/DevForge --skill vercel-react-native-skills-msc72m
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: vercel-react-native-skills
Source: https://github.com/MSC72m/DevForge/tree/main/skills/vercel-react-native-skills
Command: npx skills add https://github.com/MSC72m/DevForge --skill vercel-react-native-skills-msc72m

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? React Native apps frequently suffer from scroll jank, unnecessary re-renders, runtime crashes from falsy JSX rendering, and slow animations caused by layout-property animation. This Skill provides a prioritized rule set that guides AI agents to generate and refactor React Native code that avoids these pitfalls. ## Core Features & Use Cases - Prioritized Rule Library: 35+ rules across 13 categories ranked by impact, from CRITICAL rendering rules (wrap strings in Text, avoid falsy &&) to LOW-priority font and import optimizations. - List & Animation Optimization: Concrete patterns for virtualized lists (LegendList, FlashList), memoization with primitive props, GPU-accelerated Reanimated animations, and GestureDetector press states. - Use Case: When building a product feed screen, the agent applies rules to use a virtualized list with stable object references, compressed images, lightweight item components, and native navigators instead of JS-based ones. ## Quick Start Review my React Native feed screen component and refactor it following the list performance and animation 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, pass stable object references as data, pass primitives to memoized item components, and hoist callbacks to the list root. Avoid mapping or filtering data before passing it to the list, since new references break virtualization.

What should I use instead of ScrollView for long lists?▼

Use a list virtualizer such as LegendList or FlashList instead of ScrollView with mapped children. Virtualizers render only visible items, reducing memory usage and mount time even for short lists.

Why does React Native crash when using && for conditional rendering?▼

The && operator crashes when the left value is an empty string or 0, because these falsy values are still JSX-renderable and React Native attempts to render them outside a Text component. Use ternaries, explicit boolean coercion, or early returns instead.

Should I animate width and height in React Native Reanimated?▼

No, animating width, height, margin, or padding triggers layout recalculation on every frame. Animate transform properties like scale and translate plus opacity instead, since these run on the GPU without triggering layout.

Does React Compiler change how I write Reanimated shared values?▼

Yes, with React Compiler enabled you should use .get() and .set() methods instead of reading or writing .value directly on shared values. The compiler cannot track property access, so explicit methods ensure correct behavior.

When should I use native navigators instead of JS navigators?▼

Use native navigators by default for stack and tab navigation, such as @react-navigation/native-stack or expo-router's native tabs. They run transitions on the UI thread and provide platform behaviors like iOS large titles and proper safe area handling.