vercel-react-native-skills — Claude Code skill for React Native
A rules pack for React Native and Expo work: lists, animations, navigation, native modules. Load it so your agent makes mobile changes the same way every time.
npx skills add vercel-labs/agent-skills --skill vercel-react-native-skills -a claude-code
npx skills add vercel-labs/agent-skills --skill react-native-skills -a claude-codeWhat vercel-react-native-skills does
The rules come in eight categories, ordered by how much damage a mistake does. List performance comes first and is marked critical: FlashList for long lists, memoized rows, stable callbacks, expensive work moved out of the item. Then animations limited to transform and opacity, navigation on native stack and native tabs, UI patterns such as expo-image and Pressable. State, rendering, monorepos and configuration sit lower.
Each rule has its own file under rules/, named after the category prefix: list-performance-virtualize, animation-gpu-properties, ui-measure-views. A file carries the reasoning, a wrong code sample with an explanation, and a corrected version. All of it is compiled into AGENTS.md if you would rather read one document.
It ships as plain guidance for the agent. No scripts run and nothing is added to your project. Install it with npx skills add for Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI or OpenCode. Worth doing before you start chasing list jank, since the rules apply while the code is being written. On a project outside React Native and Expo, skip it.
What it helps with
- make a long list scroll on FlashList
- cut re-renders in list rows
- keep animations on transform and opacity
- swap a JS navigator for the native stack
- place native dependencies correctly in a monorepo
Example prompts for the agent
- Check this task list against the FlashList rules and drop inline style objects
- Rewrite the card animation with useDerivedValue instead of setState
- Set up a custom font through an Expo config plugin
How to install vercel-react-native-skills
1Skills CLI (Vercel)
npx skills add vercel-labs/agent-skills --skill vercel-react-native-skills -a claude-codenpx skills add vercel-labs/agent-skills --skill react-native-skills -a claude-code2Manually: put the files in place
~/.claude/skills/react-native-skills/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/react-native-skills/
1Skills CLI (Vercel)
npx skills add vercel-labs/agent-skills --skill react-native-skills -a codex2Manually: put the files in place
.agents/skills/react-native-skills/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add vercel-labs/agent-skills --skill react-native-skills -a cursor2Manually: put the files in place
.cursor/skills/react-native-skills/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install vercel-labs/agent-skills react-native-skills2Manually: put the files in place
.github/skills/react-native-skills/SKILL.md1Skills CLI (Vercel)
npx skills add vercel-labs/agent-skills --skill react-native-skills -a gemini-cli2Platform CLI
gemini skills install https://github.com/vercel-labs/agent-skills --path skills/react-native-skillsManually: put the files in place
.devin/skills/react-native-skills/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add vercel-labs/agent-skills --skill react-native-skills -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set6
The whole set →Similar
Questions about vercel-react-native-skills
How do I install vercel-react-native-skills in Claude Code?
Run npx skills add vercel-labs/agent-skills --skill vercel-react-native-skills -a claude-code. The skill file then sits at ~/.claude/skills/react-native-skills/SKILL.md.
What does vercel-react-native-skills do?
It hands the agent ranked rules for React Native and Expo: list performance, animations, navigation, UI patterns, state, rendering, monorepos, configuration. The agent leans on them while writing or editing mobile code.
Can I read a single rule instead of the whole thing?
Yes. Each rule is a file in rules/ named with its category prefix, like list-performance-item-memo or ui-pressable. AGENTS.md holds the full compiled set.
Source text
SKILL.md · MIT
--- name: vercel-react-native-skills description: React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs. license: MIT metadata: author: vercel version: '1.0.0' --- # React Native Skills Comprehensive best practices for React Native and Expo applications. Contains rules across multiple categories covering performance, animations, UI patterns, and platform-specific optimizations. ## When to Apply Reference these guidelines when: - Building React Native or Expo apps - Optimizing list and scroll performance - Implementing animations with Reanimated - Working with images and media - Configuring native modules or fonts - Structuring monorepo projects with native dependencies ## Rule Categories by Priority | Priority | Category | Impact | Prefix | | -------- | ---------------- | -------- | -------------------- | | 1 | List Performance | CRITICAL | `list-performance-` | | 2 | Animation | HIGH | `animation-` | | 3 | Navigation | HIGH | `navigation-` | | 4 | UI Patterns | HIGH | `ui-` | | 5 | State Management | MEDIUM | `react-state-` | | 6 | Rendering | MEDIUM | `rendering-` | | 7 | Monorepo | MEDIUM | `monorepo-` | | 8 | Configuration | LOW | `fonts-`, `imports-` | ## Quick Reference ### 1. List Performance (CRITICAL) - `list-performance-virtualize` - Use FlashList for large lists - `list-performance-item-memo` - Memoize list item components - `list-performance-callbacks` - Stabilize callback references - `list-performance-inline-objects` - Avoid inline style objects - `list-performance-function-references` - Extract functions outside render - `list-performance-images` - Optimize images in lists - `list-performance-item-expensive` - Move expensive work outside items - `list-performance-item-types` - Use item types for heterogeneous lists ### 2. Animation (HIGH) - `animation-gpu-properties` - Animate only transform and opacity - `animation-derived-value` - Use useDerivedValue for computed animations - `animation-gesture-detector-press` - Use Gesture.Tap instead of Pressable ### 3. Navigation (HIGH) - `navigation-native-navigators` - Use native stack and native tabs over JS navigators ### 4. UI Patterns (HIGH) - `ui-expo-image` - Use expo-image for all images - `ui-image-gallery` - Use Galeria for image lightboxes - `ui-pressable` - Use Pressable over TouchableOpacity - `ui-safe-area-scroll` - Handle safe areas in ScrollViews - `ui-scrollview-content-inset` - Use contentInset for headers - `ui-menus` - Use native context menus - `ui-native-modals` - Use native modals when possible - `ui-measure-views` - Use onLayout, not measure() - `ui-styling` - Use StyleSheet.create or Nativewind ### 5. State Management (MEDIUM) - `react-state-minimize` - Minimize state subscriptions - `react-state-dispatcher` - Use dispatcher pattern for callbacks - `react-state-fallback` - Show fallback on first render - `react-compiler-destructure-functions` - Destructure for React Compiler - `react-compiler-reanimated-shared-values` - Handle shared values with compiler ### 6. Rendering (MEDIUM) - `rendering-text-in-text-component` - Wrap text in Text components - `rendering-no-falsy-and` - Avoid falsy && for conditional rendering ### 7. Monorepo (MEDIUM) - `monorepo-native-deps-in-app` - Keep native dependencies in app package - `monorepo-single-dependency-versions` - Use single versions across packages ### 8. Configuration (LOW) - `fonts-config-plugin` - Use config plugins for custom fonts - `imports-design-system-folder` - Organize design system imports - `js-hoist-intl` - Hoist Intl object creation ## How to Use Read individual rule files for detailed explanations and code examples: ``` rules/list-performance-virtualize.md rules/animation-gpu-properties.md ``` Each rule file contains: - Brief explanation of why it matters - Incorrect code example with explanation - Correct code example with explanation - Additional context and references ## Full Compiled Document For the complete guide with all rules expanded: `AGENTS.md`
© vercel · MIT · vercel-labs/agent-skills