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
For the complete guide with all rules expanded: AGENTS.md
1---2name: react-native-skills3description: React Native Skills4---5# React Native Skills67Comprehensive best practices for React Native and Expo applications. Contains8rules across multiple categories covering performance, animations, UI patterns,9and platform-specific optimizations.1011## When to Apply1213Reference these guidelines when:1415- Building React Native or Expo apps16- Optimizing list and scroll performance17- Implementing animations with Reanimated18- Working with images and media19- Configuring native modules or fonts20- Structuring monorepo projects with native dependencies2122## Rule Categories by Priority2324| Priority | Category | Impact | Prefix |25| -------- | ---------------- | -------- | -------------------- |26| 1 | List Performance | CRITICAL | `list-performance-` |27| 2 | Animation | HIGH | `animation-` |28| 3 | Navigation | HIGH | `navigation-` |29| 4 | UI Patterns | HIGH | `ui-` |30| 5 | State Management | MEDIUM | `react-state-` |31| 6 | Rendering | MEDIUM | `rendering-` |32| 7 | Monorepo | MEDIUM | `monorepo-` |33| 8 | Configuration | LOW | `fonts-`, `imports-` |3435## Quick Reference3637### 1. List Performance (CRITICAL)3839- `list-performance-virtualize` - Use FlashList for large lists40- `list-performance-item-memo` - Memoize list item components41- `list-performance-callbacks` - Stabilize callback references42- `list-performance-inline-objects` - Avoid inline style objects43- `list-performance-function-references` - Extract functions outside render44- `list-performance-images` - Optimize images in lists45- `list-performance-item-expensive` - Move expensive work outside items46- `list-performance-item-types` - Use item types for heterogeneous lists4748### 2. Animation (HIGH)4950- `animation-gpu-properties` - Animate only transform and opacity51- `animation-derived-value` - Use useDerivedValue for computed animations52- `animation-gesture-detector-press` - Use Gesture.Tap instead of Pressable5354### 3. Navigation (HIGH)5556- `navigation-native-navigators` - Use native stack and native tabs over JS navigators5758### 4. UI Patterns (HIGH)5960- `ui-expo-image` - Use expo-image for all images61- `ui-image-gallery` - Use Galeria for image lightboxes62- `ui-pressable` - Use Pressable over TouchableOpacity63- `ui-safe-area-scroll` - Handle safe areas in ScrollViews64- `ui-scrollview-content-inset` - Use contentInset for headers65- `ui-menus` - Use native context menus66- `ui-native-modals` - Use native modals when possible67- `ui-measure-views` - Use onLayout, not measure()68- `ui-styling` - Use StyleSheet.create or Nativewind6970### 5. State Management (MEDIUM)7172- `react-state-minimize` - Minimize state subscriptions73- `react-state-dispatcher` - Use dispatcher pattern for callbacks74- `react-state-fallback` - Show fallback on first render75- `react-compiler-destructure-functions` - Destructure for React Compiler76- `react-compiler-reanimated-shared-values` - Handle shared values with compiler7778### 6. Rendering (MEDIUM)7980- `rendering-text-in-text-component` - Wrap text in Text components81- `rendering-no-falsy-and` - Avoid falsy && for conditional rendering8283### 7. Monorepo (MEDIUM)8485- `monorepo-native-deps-in-app` - Keep native dependencies in app package86- `monorepo-single-dependency-versions` - Use single versions across packages8788### 8. Configuration (LOW)8990- `fonts-config-plugin` - Use config plugins for custom fonts91- `imports-design-system-folder` - Organize design system imports92- `js-hoist-intl` - Hoist Intl object creation9394## How to Use9596Read individual rule files for detailed explanations and code examples:9798```99rules/list-performance-virtualize.md100rules/animation-gpu-properties.md101```102103Each rule file contains:104105- Brief explanation of why it matters106- Incorrect code example with explanation107- Correct code example with explanation108- Additional context and references109110## Full Compiled Document111112For the complete guide with all rules expanded: `AGENTS.md`
Run npx skillmds@latest add comeonoliver/react-native-skills in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
React Native Skills It is listed under Web & Frontend on SkillMD.
This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
ComeOnOliver (@comeonoliver) published this skill. Their other Agent Skills are listed on their SkillMD profile.