Skip to content

// Build React Native apps: navigation, Expo modules, native APIs, and OTA updates.

React Native Mobile Pro

skill --stat
  • last update

    Apr 29, 2026

  • license

    MITv1.0.0

  • format

    SKILL.md

quickstart.sh
3 steps
  1. Install

    // Downloads SKILL.md into ~/.claude/skills/react-native-mobile/

    $ curl -fsSL --create-dirs -o ~/.claude/skills/react-native-mobile/SKILL.md https://claudeskil.com/skills/react-native-mobile/SKILL.md
  2. Invoke

    // Inside Claude Code, type the skill name as a slash command

    > /react-native-mobile help me ship this
  3. Or just ask

    // Claude loads the skill by itself when a request matches its description

    > help me ship this
react-native-mobile/
references
SKILL.md
readonly
name:
React Native Mobile Pro
slug:
react-native-mobile
version:
v1.0.0
license:
MIT
author:
@chiragthummar16
categories:
tags:
#react-native#expo#mobile#navigation#typescript
description:

Build React Native apps: navigation, Expo modules, native APIs, and OTA updates.

features.md
5 capabilities

// What you can do with it

  • Navigation: generates stacks, tabs, and nested navigators using @react-navigation/native with createNativeStackNavigator / createBottomTabNavigator, and a typed RootStackParamList so useNavigation and
  • Expo modules: integrates expo-camera, expo-location, expo-image-picker, expo-notifications, expo-secure-store, and friends — including the matching usePermissions() hooks and requestPermissionsAsync()
  • Permissions config: edits app.json / app.config.ts infoPlist (iOS usage strings) and Android permissions, so prebuild produces correct native manifests.
  • OTA updates: configures eas.json build profiles, expo-updates, and runtimeVersion, then sets up eas update --branch against named channels.
  • Tests: scaffolds RNTL component tests (render, screen, fireEvent) under Jest with jest-expo, and end-to-end Detox specs with device / element / by.

README.md

react-native-mobile/README.md
8 sections

React Native Mobile Pro

A focused assistant for building production React Native apps on the Expo toolchain. It scaffolds navigation, wires up native device APIs through Expo modules, sets up EAS for over-the-air updates, and generates tests with Jest and Detox. Aimed at mobile engineers who want idiomatic, TypeScript-first code rather than boilerplate they have to rewrite.

When to use it

  • Starting a new screen and you want it wired into a typed navigator instead of hand-rolling route params.
  • Adding a native capability — camera, location, notifications, secure storage — and you need the permission flow plus runtime checks done correctly on both platforms.
  • Moving from expo publish thinking to a real EAS Build + EAS Update pipeline with channels.
  • Backfilling tests on an existing screen and you want a sensible Detox or React Native Testing Library starting point.

What it does

  • Navigation: generates stacks, tabs, and nested navigators using @react-navigation/native with createNativeStackNavigator / createBottomTabNavigator, and a typed RootStackParamList so useNavigation and useRoute are fully inferred.
  • Expo modules: integrates expo-camera, expo-location, expo-image-picker, expo-notifications, expo-secure-store, and friends — including the matching usePermissions() hooks and requestPermissionsAsync() calls.
  • Permissions config: edits app.json / app.config.ts infoPlist (iOS usage strings) and Android permissions, so prebuild produces correct native manifests.
  • OTA updates: configures eas.json build profiles, expo-updates, and runtimeVersion, then sets up eas update --branch against named channels.
  • Tests: scaffolds RNTL component tests (render, screen, fireEvent) under Jest with jest-expo, and end-to-end Detox specs with device / element / by.

Example

bash
curl -fsSL --create-dirs -o ~/.claude/skills/react-native-mobile/SKILL.md https://claudeskil.com/skills/react-native-mobile/SKILL.md

# then, in a chat:
"Add a Profile tab with a typed route param userId, and gate it
 behind expo-secure-store for the auth token."

# OTA release once a feature is merged:
eas update --branch production --message "fix profile crash"

Tips & gotchas

  • runtimeVersion is the contract for OTA. A JS-only change ships via eas update; anything touching native code (new Expo module, SDK bump) requires a new build because the runtime version no longer matches.
  • Permissions need both a string and a runtime request. An iOS NSCameraUsageDescription without a requestCameraPermissionsAsync() call still gets you rejected at review or silently denied.
  • Detox runs on a release-style build, not Expo Go — budget for eas build or a local prebuild before E2E passes.
  • Prefer app.config.ts over app.json when you need env-driven channels.

FAQ

Does this work with bare React Native, or only Expo? It targets the Expo-managed and prebuild workflows. EAS and expo-updates features assume Expo is in the project.

Can it migrate me off the legacy classic updates? Yes — it replaces classic publish with expo-updates + EAS Update channels and updates eas.json accordingly.

Jest or Detox? Both. RNTL/Jest for component logic, Detox for full-device flows.

$ cat reviews/

Reviews

// No reviews yet. Be the first.
Loading review form…

$ ls related/

explore all →