vercel-react-native-skills

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

2|1|Updated Jun 9, 2026
One-click install
npx skills add https://github.com/zester4/zilmate --skill vercel-react-native-skills-zester4
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vercel-react-native-skills
Source: https://github.com/zester4/zilmate/tree/main/.agents/skills/vercel-react-native-skills
Command: npx skills add https://github.com/zester4/zilmate --skill vercel-react-native-skills-zester4

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 from falsy JSX rendering, and slow animations caused by layout-property animation. This Skill provides a prioritized rule set that guides AI agents and developers to write performant React Native and Expo code from the start. ## Core Features & Use Cases - Prioritized Rule Set: 35+ rules across 14 categories ranked by impact, from CRITICAL rendering rules (avoid falsy && in JSX, wrap strings in Text) 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. - Platform Guidance: Rules for native navigators, native modals, safe-area handling, monorepo native dependency setup, and React Compiler compatibility. - Use Case: When building a product feed screen, apply the list-performance rules to virtualize the list, pass primitives to memoized row components, and load compressed thumbnail images to eliminate scroll jank. ## Quick Start Review my React Native product list screen and refactor it using 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 instead of ScrollView, pass primitive props to memoized list items, hoist callbacks to the list root, and avoid creating inline objects in renderItem. Keep list items lightweight with no queries or expensive computations.

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 ternaries, explicit boolean coercion, or early returns 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. LegendList supports getItemType for heterogeneous lists with separate recycling pools; either is recommended over ScrollView with mapped children.

How do I animate components in React Native without jank?

Animate only transform and opacity properties with Reanimated, since these run on the GPU without triggering layout recalculation. Avoid animating width, height, margin, or padding, which force layout on every frame.

Does React Compiler change how I write Reanimated code?

Yes. With React Compiler enabled, use .get() and .set() methods instead of reading or writing .value directly on shared values, because the compiler cannot track property access. Destructure functions from hooks early for stable references.

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

Install packages with native code directly in the app directory, since autolinking only scans the app's node_modules. Use exact single dependency versions across all packages, enforced with pnpm overrides or a tool like syncpack.