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 Use
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
Limitations
Use this skill only when the task clearly matches the scope described above.
Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
1---2name: react-native-skills3description: Use when working with react-native-skills tasks or workflows4license: MIT5---67# React Native Skills89Comprehensive best practices for React Native and Expo applications. Contains10rules across multiple categories covering performance, animations, UI patterns,11and platform-specific optimizations.1213## When to Use14Reference these guidelines when:1516- Building React Native or Expo apps17- Optimizing list and scroll performance18- Implementing animations with Reanimated19- Working with images and media20- Configuring native modules or fonts21- Structuring monorepo projects with native dependencies2223## Rule Categories by Priority2425| Priority | Category | Impact | Prefix |26| -------- | ---------------- | -------- | -------------------- |27| 1 | List Performance | CRITICAL | `list-performance-` |28| 2 | Animation | HIGH | `animation-` |29| 3 | Navigation | HIGH | `navigation-` |30| 4 | UI Patterns | HIGH | `ui-` |31| 5 | State Management | MEDIUM | `react-state-` |32| 6 | Rendering | MEDIUM | `rendering-` |33| 7 | Monorepo | MEDIUM | `monorepo-` |34| 8 | Configuration | LOW | `fonts-`, `imports-` |3536## Quick Reference3738### 1. List Performance (CRITICAL)3940- `list-performance-virtualize` - Use FlashList for large lists41- `list-performance-item-memo` - Memoize list item components42- `list-performance-callbacks` - Stabilize callback references43- `list-performance-inline-objects` - Avoid inline style objects44- `list-performance-function-references` - Extract functions outside render45- `list-performance-images` - Optimize images in lists46- `list-performance-item-expensive` - Move expensive work outside items47- `list-performance-item-types` - Use item types for heterogeneous lists4849### 2. Animation (HIGH)5051- `animation-gpu-properties` - Animate only transform and opacity52- `animation-derived-value` - Use useDerivedValue for computed animations53- `animation-gesture-detector-press` - Use Gesture.Tap instead of Pressable5455### 3. Navigation (HIGH)5657- `navigation-native-navigators` - Use native stack and native tabs over JS navigators5859### 4. UI Patterns (HIGH)6061- `ui-expo-image` - Use expo-image for all images62- `ui-image-gallery` - Use Galeria for image lightboxes63- `ui-pressable` - Use Pressable over TouchableOpacity64- `ui-safe-area-scroll` - Handle safe areas in ScrollViews65- `ui-scrollview-content-inset` - Use contentInset for headers66- `ui-menus` - Use native context menus67- `ui-native-modals` - Use native modals when possible68- `ui-measure-views` - Use onLayout, not measure()69- `ui-styling` - Use StyleSheet.create or Nativewind7071### 5. State Management (MEDIUM)7273- `react-state-minimize` - Minimize state subscriptions74- `react-state-dispatcher` - Use dispatcher pattern for callbacks75- `react-state-fallback` - Show fallback on first render76- `react-compiler-destructure-functions` - Destructure for React Compiler77- `react-compiler-reanimated-shared-values` - Handle shared values with compiler7879### 6. Rendering (MEDIUM)8081- `rendering-text-in-text-component` - Wrap text in Text components82- `rendering-no-falsy-and` - Avoid falsy && for conditional rendering8384### 7. Monorepo (MEDIUM)8586- `monorepo-native-deps-in-app` - Keep native dependencies in app package87- `monorepo-single-dependency-versions` - Use single versions across packages8889### 8. Configuration (LOW)9091- `fonts-config-plugin` - Use config plugins for custom fonts92- `imports-design-system-folder` - Organize design system imports93- `js-hoist-intl` - Hoist Intl object creation9495## How to Use9697Read individual rule files for detailed explanations and code examples:9899```100rules/list-performance-virtualize.md101rules/animation-gpu-properties.md102```103104Each rule file contains:105106- Brief explanation of why it matters107- Incorrect code example with explanation108- Correct code example with explanation109- Additional context and references110111## Full Compiled Document112113For the complete guide with all rules expanded: `AGENTS.md`114115## Limitations116- Use this skill only when the task clearly matches the scope described above.117- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.118- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Run npx skillmds add nous-hermeshub/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.
Use when working with react-native-skills tasks or workflows It is listed under Web & Frontend on SkillMD.
This skill has not completed SkillMD's automated safety review yet. Capability flags: docs only. 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. This skill is licensed under MIT.
nous-hermeshub (@nous-hermeshub) published this skill. Their other Agent Skills are listed on their SkillMD profile.