A comprehensive Claude Code skill for React Native and Expo mobile development.
This skill provides expert guidance for building production-ready cross-platform mobile applications with React Native and Expo. It includes comprehensive reference materials covering all aspects of React Native development.
- Project Setup & Initialization - Create new Expo apps with proper configuration
- Version Management - Expo SDK and React Native version compatibility
- Navigation - Expo Router implementation (tabs, stacks, deep linking)
- Performance Optimization - FlatList optimization, animations, best practices
- Platform Handling - iOS/Android specific code and SafeArea management
- Storage Solutions - AsyncStorage and MMKV implementation
- Project Structure - Recommended architecture and organization
setup-guide.md- Creating projects, Expo Go vs Development Buildsversion-management.md- SDK compatibility,expo installusagebest-practices.md- Performance, memory management, code qualityexpo-router.md- File-based navigation, protected routesplatform-handling.md- Platform-specific code, SafeArea, keyboardlist-optimization.md- FlatList performance, infinite scrollstorage-hooks.md- AsyncStorage, MMKV, persistenceproject-structure.md- File organization, configuration
- Download the
.skillfile from releases - Extract to your Claude skills directory:
~/.claude/skills/ - Restart Claude Code
Or install manually:
cd ~/.claude/skills
unzip react-native-dev.skillThe skill automatically activates when you work with:
- React Native or Expo projects
- Mobile app development (iOS/Android)
- Navigation implementation
- Performance optimization
- Version compatibility issues
- Installing dependencies with
expo install
- Always use
npx expo installinstead ofnpm installoryarn add - Expo SDK versions map one-to-one with React Native versions
- Check compatibility before upgrading dependencies
- Use FlatList/SectionList for lists (never ScrollView for >50 items)
- Memoize list items with
memo()and callbacks withuseCallback() - Test performance in release mode, not development mode
- Remove console.log statements in production
- Use
Platform.select()for platform-specific styles - Use SafeAreaView or useSafeAreaInsets for notches
- Handle Android back button with BackHandler
- Use KeyboardAvoidingView with platform-specific behavior
This skill integrates official documentation from:
- Expo Documentation
- React Native Documentation
- React Native performance best practices
- Expo SDK version compatibility guidelines
MIT
Contributions welcome! Please open an issue or submit a pull request.
Created for use with Claude Code