React Native Architecture

SkillAI & models

react-native-architecture is a skill that guides an AI agent through building production React Native apps. It covers Expo, navigation, native modules, offline sync, and cross-platform patterns. Use it when developing mobile apps, implementing native integrations, or architecting React Native projects.

Use React Native Architecture in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add React Native Architecture and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the React Native Architecture skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Have a React Native project or plan to start one.

React Native ArchitectureStart free

What your AI can do with it

  • Guide Expo setup for React Native projects
  • Plan navigation structure across screens
  • Integrate native modules into an app
  • Design offline sync for mobile data
  • Apply cross-platform patterns for iOS and Android

Getting started

  1. Have a React Native project or plan to start one.
  2. Add the react-native-architecture skill to your agent.
  3. Describe your app goals, target platforms, and any native features.
  4. Ask the agent to apply the skill while you build or refactor.

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

FeatureExpoBare RN
Setup complexityLowHigh
Native modulesEAS BuildManual linking
OTA updatesBuilt-inManual setup
Build serviceEASCustom CI
Custom native codeConfig pluginsDirect 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

What does this skill cover?
It covers Expo, navigation, native modules, offline sync, and cross-platform patterns for production React Native apps.
When should I use it?
Use it when developing mobile apps, implementing native integrations, or architecting React Native projects.
Does it support offline sync?
Yes, offline sync is one of the areas it covers.
Can it help with native modules?
Yes, it covers native modules and native integrations.
Does it work with Expo?
Yes, Expo is part of what it covers.
Advanced
Item type
skill
Key
react-native-architecture-wshobson
Source
github.com/wshobson/agents