RE

react-native-architecture

Provides architectural guidance for scaling React Native apps using Expo, focusing on performance and cross-platform consistency.

Install

mkdir -p .claude/skills/react-native-architecture && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/508" && unzip -o skill.zip -d .claude/skills/react-native-architecture && rm skill.zip

Installs to .claude/skills/react-native-architecture

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Build production React Native apps with Expo, navigation, native modules, offline sync, and cross-platform patterns. Use when developing mobile apps, implementing native integrations, or architecting React Native projects.
222 chars✓ has a “when” trigger
Advanced

Key capabilities

  • Set up Expo router navigation
  • Integrate platform-specific native modules
  • Implement offline-first data synchronization
  • Configure CI/CD for mobile releases

How it works

The skill provides standardized patterns for project layout, navigation, and state management using Expo. It enforces best practices for performance and native module integration.

Inputs & outputs

You give it
Project requirements and architecture goals
You get back
Production-ready React Native project structure

When to use react-native-architecture

  • Setting up Expo router navigation
  • Integrating platform-specific native modules
  • Architecting offline-first mobile data sync
  • Optimizing React Native performance

About this skill

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

When not to use it

  • When ignoring platform-specific differences
  • When storing secrets directly in source code

Prerequisites

Expo development environmentTypeScript knowledge

Limitations

  • Requires testing on real devices
  • Performance depends on correct component memoization

How it compares

It provides a pre-configured, production-ready architecture instead of requiring manual setup of navigation and build pipelines.

Compared to similar skills

react-native-architecture side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
react-native-architecture (this skill)552moReviewAdvanced
react-native-architecture03moNo flagsIntermediate
react-native-design332moNo flagsIntermediate
heroui-native54moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

More by wshobson

View all by wshobson

Search skills

Search the agent skills registry