RE

react-native

Builds cross-platform mobile apps using React Native and the Expo framework.

Install

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

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

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.

React Native with Expo framework for building native mobile apps on Android, iOS, and web from a single TypeScript codebase. Covers Expo Router file-based navigation (stack, tabs, drawer), EAS Build/Submit/Update for CI/CD and OTA updates, expo-dev-client for custom development builds, Expo Modules API for native Swift/Kotlin modules, core RN patterns (StyleSheet, FlatList, Platform-specific code), native device APIs (camera, notifications, haptics), and NativeWind for Tailwind CSS styling. Use when building React Native apps with Expo, configuring Expo Router navigation, setting up EAS Build pipelines, implementing OTA updates, creating native modules, or integrating device APIs like camera and push notifications.
724 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Intermediate

Key capabilities

  • Build native mobile apps for Android and iOS from a single TypeScript codebase.
  • Configure file-based navigation using Expo Router for stack, tabs, and drawer.
  • Set up CI/CD pipelines with EAS Build, Submit, and Update for cloud builds and OTA updates.
  • Create native Swift/Kotlin modules using the Expo Modules API.
  • Integrate native device APIs like camera, notifications, and haptics.
  • Apply Tailwind CSS styling in React Native projects using NativeWind v4.

How it works

The skill uses the Expo framework to build universal native apps from a single TypeScript codebase, providing tools for navigation, CI/CD, native module creation, and device API integration.

Inputs & outputs

You give it
TypeScript codebase for a mobile application
You get back
Native mobile apps for Android, iOS, and web

When to use react-native

  • Building native mobile apps
  • Configuring navigation
  • Implementing push notifications
  • CI/CD setup

About this skill

React Native with Expo

Overview

Expo is an open-source framework for building universal native apps with React Native from a single TypeScript codebase. It provides file-based routing (Expo Router), cloud build services (EAS Build/Submit/Update), and a rich set of native modules for device APIs.

When to use: Mobile apps targeting iOS and Android, universal apps with web support, projects needing OTA updates, apps requiring native device APIs (camera, notifications, haptics), teams preferring managed infrastructure over bare React Native.

When NOT to use: Apps requiring heavy custom native code incompatible with Expo Modules API, brownfield integration into existing native apps, apps with native-only CI/CD requirements.

Quick Reference

PatternAPIKey Points
Stack navigation<Stack> from expo-routerFile-based, _layout.tsx defines navigator
Tab navigation<Tabs> from expo-router(tabs) directory group with _layout.tsx
Drawer navigation<Drawer> from expo-router/drawerRequires @react-navigation/drawer
Typed routeshref with /(group)/routeEnable typed-routes in app.json
Dev buildexpo-dev-clientCustom native code + dev tools
EAS Buildeas build --profile productionCloud builds for app stores
EAS Submiteas submit -p ios / -p androidAutomated store submission
OTA Updateeas update --branch productionJS-only updates, no rebuild needed
Native moduleExpo Modules APISwift/Kotlin with expo-module.config.json
Platform codePlatform.select() / .ios.tsxPer-platform logic or entire files
Styled listsFlatList / FlashListVirtualized, keyExtractor required
Cameraexpo-cameraPermissions via useCameraPermissions()
Notificationsexpo-notificationsPush tokens via getExpoPushTokenAsync()
Hapticsexpo-hapticsimpactAsync, notificationAsync
Tailwind (RN)NativeWind v4className prop, Tailwind CSS in RN

Common Mistakes

MistakeCorrect Pattern
Using react-navigation directly instead of Expo RouterExpo Router wraps React Navigation with file-based routing
Forgetting _layout.tsx in route directoriesEvery directory with routes needs a layout file
Using expo start for custom native codeUse expo start --dev-client with expo-dev-client
Running eas update after native dependency changesNative changes require eas build, OTA is JS-only
Hardcoding platform checks with ifUse Platform.select() or platform-specific file extensions
Not requesting permissions before accessing device APIsAlways check/request permissions before camera, notifications
Using ScrollView for long listsUse FlatList or FlashList for virtualized rendering
Inline styles in render functionsDefine styles with StyleSheet.create() outside component
Missing keyExtractor on FlatListAlways provide keyExtractor for stable list rendering
Importing from react-native for Expo-provided APIsPrefer expo-* packages over react-native equivalents

Delegation

  • Pattern discovery: Use Explore agent
  • Build/deployment review: Use Task agent
  • Code review: Delegate to code-reviewer agent

If the react-patterns skill is available, delegate React component patterns and hooks to it. If the tanstack-query skill is available, delegate data fetching and caching to it. If the zustand skill is available, delegate client-side state management to it. If the vitest-testing skill is available, delegate unit and component testing patterns to it. If the tailwind skill is available, delegate Tailwind CSS utility patterns to it (NativeWind uses Tailwind CSS syntax). If the accessibility skill is available, delegate mobile accessibility patterns to it.

References

When not to use it

  • Apps requiring heavy custom native code incompatible with Expo Modules API.
  • Brownfield integration into existing native apps.
  • Apps with native-only CI/CD requirements.

Limitations

  • Heavy custom native code incompatible with Expo Modules API.
  • Native-only CI/CD requirements.

How it compares

This approach uses a single codebase and managed infrastructure for cross-platform development, unlike separate native development for each platform.

Compared to similar skills

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

SkillInstallsUpdatedSafetyDifficulty
react-native (this skill)05moNo flagsIntermediate
react-native-architecture552moReviewAdvanced
react-native-design332moNo flagsIntermediate
heroui-native54moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry