skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
oakoss/agent-skills104 installs

react-native

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.

How do I install this agent skill?

npx skills add https://github.com/oakoss/agent-skills --skill react-native
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    The skill provides a comprehensive set of development guidelines and code patterns for React Native and the Expo framework. No security issues or malicious patterns were identified in the instructions or references.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

  • Runlayerpass

    9 files scanned · No issues

What does this agent skill do?

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

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/oakoss/agent-skills/react-native">View react-native on skillZs</a>