New to Claude Skills? Learn how to install them →

wshobson on GitHub

React Native Architecture

Free

Build robust mobile apps using React Native and Expo.

by wshobson38.7k stars on wshobson/agents
4 views
Updated Jul 18, 2026
Get this skill

Free · Opens the source repo

What React Native Architecture does

React Native Architecture provides a structured approach to developing production-ready mobile applications using React Native and Expo. This skill is particularly useful for developers looking to implement complex navigation patterns, integrate native modules, and build offline-first applications. It emphasizes best practices and optimal project structure, ensuring that applications are maintainable and performant.

The skill outlines a recommended project structure that separates concerns, making it easier to manage components, services, and state. It also highlights the differences between using Expo and Bare React Native, helping developers choose the right setup based on their project requirements. By leveraging Expo's built-in features, such as over-the-air updates and simplified native module integration, developers can focus on building their applications without getting bogged down in configuration complexities.

Additionally, the skill offers practical guidance on optimizing performance and setting up continuous integration and delivery (CI/CD) for mobile releases. It includes a quick start guide that helps developers bootstrap a new project with essential dependencies and provides code snippets for common tasks. This makes it an excellent resource for both new and experienced developers aiming to enhance their React Native development workflow.

When to use it

Use this skill when starting a new React Native or Expo project, especially when complex navigation or native integrations are required.

When not to use it

This skill may not be suitable for very simple applications or for developers who prefer a completely custom setup without the conventions provided by Expo.

What you can build with it

Starting a New Project

When initiating a new React Native or Expo project, this skill provides a solid foundation and best practices to follow.

Implementing Navigation

For developers needing to set up complex navigation patterns, this skill outlines effective strategies and code examples.

Building Offline-First Apps

This skill is particularly useful for creating applications that require offline capabilities, ensuring data sync and user experience.

How to install React Native Architecture

View source

1. Install with the skills CLI

npx skills add wshobson/agents/react-native-architecture --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by wshobson

React Native Architecture

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

Frequently asked questions about React Native Architecture

Similar skills