"Build cross-platform mobile apps with React Native/Expo: navigation, platform handling (iOS/Android), performance (FlatList), storage, and native module integration. Not for React web or Next.js."
Resources
1Install
npx skillscat add dmonteroh/curated-agent-skills/react-native Install via the SkillsCat registry.
SKILL.md
React Native
Provides guidance for React Native and Expo apps, covering navigation, platform handling, performance, storage, and native module integration.
Required inputs
- Runtime context (Expo managed or bare React Native)
- Target platforms (iOS, Android, or both)
- Navigation approach (Expo Router, React Navigation, or custom)
- Relevant screens/components and performance or lifecycle constraints
Use this skill when
- Building React Native features/components
- Implementing navigation (Expo Router / React Navigation)
- Handling platform-specific behavior (safe areas, keyboard, back button)
- Optimizing list and rendering performance (FlatList/SectionList)
- Managing mobile persistence (AsyncStorage/MMKV) and app lifecycle
Do not use this skill when
- The project is React web or Next.js only
- The request is for native iOS/Android-only code without React Native
- The task is purely backend or API work
Workflow (Deterministic)
- Confirm runtime (Expo managed vs bare RN), target platforms, and navigation approach.
- Decision: if Expo managed, prefer Expo APIs; if bare RN, confirm native module availability.
- Output: a short plan stating runtime, platforms, and navigation library.
- Implement UI with platform-safe primitives and predictable layout.
- Output: component/screen changes with layout constraints noted (SafeArea, KeyboardAvoidingView, flex rules).
- Handle platform-specific behavior explicitly (SafeArea, keyboard, Android back).
- Decision: if platform divergence is needed, use
Platform.OSor platform-specific files. - Output: platform handling notes and any conditional logic added.
- Decision: if platform divergence is needed, use
- Treat lists as a performance surface (memoized row, stable keys, FlatList tuning).
- Output: list optimization summary (props tuned, memoization strategy, key strategy).
- Verify expected behavior on target platforms.
- Output: device/simulator matrix and manual checks performed or requested.
Common pitfalls
- Forgetting
SafeAreaVieworKeyboardAvoidingViewfor critical layouts - Unstable keys or inline render functions in
FlatList - Platform-specific behavior hidden behind implicit assumptions
- Storage writes on every render or without hydration checks
Example prompt
"Improve scrolling performance in our React Native FlatList screen and make sure it respects safe areas."
Output Contract (Always)
- Report using this format:
- Changes: brief summary of components/screens touched
- Platform handling: iOS/Android differences and guards
- Navigation: routes/params updates if applicable
- Performance: list/image tuning applied
- Verification: device/simulator coverage and checks run
References (Optional)
- Index:
references/README.md - Navigation:
references/expo-router.md - Platform handling:
references/platform-handling.md - List optimization:
references/list-optimization.md - Storage hooks:
references/storage-hooks.md - Component scaffolding:
references/component-scaffolding.md - Architecture:
references/architecture.md - Best practices:
references/best-practices.md - Project structure:
references/project-structure.md