React Native Architecture
SkillAI & modelsreact claude skill is a skill that gives an AI agent structured guidance for building production React Native mobile apps with Expo. It covers project structure, routing, state management, native module integration, and offline sync, helping the agent follow established practices instead of improvising.
Available today. Use it from your connected AI after setup.
No other account needed.
Have an AI agent that supports loading skills.
Then ask your AI: use the React Native Architecture skill
What your AI can do with it
- Guides project structure and architecture for React Native apps built with Expo
- Handles navigation and routing setup across screens
- Covers state management and offline sync patterns
- Integrates native modules for platform-specific functionality
- Recommends FlashList for performant lists and memoization techniques
- Warns against common mistakes such as storing secrets in code
Getting started
- Have an AI agent that supports loading skills.
- Add the react-native-architecture skill to the agent's available skills.
- Ask the agent to develop a mobile app, implement a native integration, or architect a React Native project, and the skill will apply its guidance.
What this skill tells your AI
The instructions your AI receives, as published by wshobson/agents in plugins/frontend-mobile-development/skills/react-native-architecture/SKILL.md and read by ahel’s review.
Production-ready patterns for React Native development with Expo, including navigation, state management, native modules, and offline-first architecture.
When to Use This Skill
- Starting a new React Native or Expo project
- Implementing complex navigation patterns
- Integrating native modules and platform APIs
- Building offline-first mobile applications
- Optimizing React Native performance
- Setting up CI/CD for mobile releases
Core Concepts
1. Project Structure
src/
├── app/ # Expo Router screens
│ ├── (auth)/ # Auth group
│ ├── (tabs)/ # Tab navigation
│ └── _layout.tsx # Root layout
├── components/
│ ├── ui/ # Reusable UI components
│ └── features/ # Feature-specific components
├── hooks/ # Custom hooks
├── services/ # API and native services
├── stores/ # State management
├── utils/ # Utilities
└── types/ # TypeScript types
2. Expo vs Bare React Native
| Feature | Expo | Bare RN |
|---|---|---|
| Setup complexity | Low | High |
| Native modules | EAS Build | Manual linking |
| OTA updates | Built-in | Manual setup |
| Build service | EAS | Custom CI |
| Custom native code | Config plugins | Direct access |
Quick Start
# Create new Expo project
npx create-expo-app@latest my-app -t expo-template-blank-typescript
# Install essential dependencies
npx expo install expo-router expo-status-bar react-native-safe-area-context
npx expo install @react-native-async-storage/async-storage
npx expo install expo-secure-store expo-haptics
// app/_layout.tsx
import { Stack } from 'expo-router'
import { ThemeProvider } from '@/providers/ThemeProvider'
import { QueryProvider } from '@/providers/QueryProvider'
export default function RootLayout() {
return (
<QueryProvider>
<ThemeProvider>
<Stack screenOptions={{ headerShown: false }}>
<Stack.Screen name="(tabs)" />
<Stack.Screen name="(auth)" />
<Stack.Screen name="modal" options={{ presentation: 'modal' }} />
</Stack>
</ThemeProvider>
</QueryProvider>
)
}
Detailed patterns and worked examples
Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.
Best Practices
Do's
- Use Expo - Faster development, OTA updates, managed native code
- FlashList over FlatList - Better performance for long lists
- Memoize components - Prevent unnecessary re-renders
- Use Reanimated - 60fps animations on native thread
- Test on real devices - Simulators miss real-world issues
Don'ts
- Don't inline styles - Use StyleSheet.create for performance
- Don't fetch in render - Use useEffect or React Query
- Don't ignore platform differences - Test on both iOS and Android
- Don't store secrets in code - Use environment variables
- Don't skip error boundaries - Mobile crashes are unforgiving
Signals
- GitHub stars
- 40k
- Forks
- 4k
- Last commit
- Sep 2026
Questions
- When should this skill be used?
- Use it when developing mobile apps, implementing native integrations, or architecting React Native projects.
- Does it cover testing?
- It recommends testing on real devices as part of its best practices.
- What frameworks does it work with?
- It is built around React Native with Expo, including navigation, native modules, and offline sync patterns.
Advanced
- Item type
- skill
- Key
react-native-architecture-wshobson- Source
- github.com/wshobson/agents