/SKILL.md
Scaffold production-ready React Native Expo projects with battle-tested architecture including navigation, theme system, API layer, storage, state management, i18n, linting, and mobile UX design system. Use when creating a new React Native app, setting up Expo project architecture, or when the user mentions React Native project scaffolding, mobile app boilerplate, or Expo starter template. Also trigger when the user wants to build a mobile app, asks about React Native best practices, needs help structuring an Expo project, or says things like "I want to make an app" or "set up a mobile project".
npx skillsauth add art9mid/react-native-arc arc-skillInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Scaffold a complete React Native (Expo) project with production-ready architecture.
Ask the user for:
app.json, package name)tabs + stack (default), stack only, or drawer + stackBefore writing any code, complete:
Platform: [iOS / Android / Both]
Framework: React Native (Expo)
3 Principles:
1. Touch-first (44pt+ targets, thumb zone aware)
2. Platform-respectful (iOS HIG / Material Design 3)
3. Performance-first (FlatList, Reanimated, memo)
Anti-Patterns to Avoid:
1. ScrollView for lists
2. Hardcoded pixel values
3. Inline styles / anonymous functions in render
Read from skills/arc-skill/ before generating code:
Core Architecture:
project-structure.md — Folder tree, naming conventions, barrel exportsnavigation.md — React Navigation, typed hooks, deep linking, tab UXtheme.md — Theme system, color schemes, OLED dark mode, useStyles hookcomponents.md — Component file structure, touch targets, haptics, expo-imageapi-services.md — Axios HTTP client, interceptors, cursor paginationstorage.md — MMKV wrappers, typed access, React Query persistencestate-management.md — React Query setup, query/mutation patternsperformance.md — FlatList, images, animations, startup optimizationproviders.md — Provider stack order, AppInitializationtypescript.md — TSConfig, path aliases, type conventionslinting.md — ESLint, Prettier, Husky, lint-staged, import orderi18n.md — Lingui.js internationalizationMobile Design System (skills/arc-skill/mobile-design/):
GUIDE.md — Master checklist and anti-patternstouch-psychology.md — Fitts' Law, thumb zones, hapticsmobile-performance.md — Deep optimization (16ms frame budget)mobile-navigation.md — Tab bar UX, state preservation, back handlingmobile-typography.md — SF Pro / Roboto, Dynamic Type, type scalesmobile-color-system.md — OLED, dark mode, WCAG contrastplatform-ios.md — iOS Human Interface Guidelinesplatform-android.md — Material Design 3mobile-backend.md — Offline sync, push notifications, auth patternsdecision-trees.md — Framework, state, storage decisionsmobile-testing.md — Testing pyramid (Jest, RNTL, Detox, Maestro)mobile-debugging.md — Reactotron, Flipper, profilingmobile-design-thinking.md — Anti-memorization, context-based thinking, decision frameworkCode Templates (skills/arc-skill/templates/):
component.md — Component with types, styles, constants, sub-componentsscreen.md — Screen with data fetching, forms, navigationhook.md — Custom hooks (useStyles, useAppTheme, useDebounce)api-service.md — API module + React Query hooksnpx create-expo-app@latest <project-name> --template blank-typescript
cd <project-name>
# Navigation
npx expo install @react-navigation/native @react-navigation/native-stack @react-navigation/bottom-tabs react-native-screens react-native-safe-area-context
# State & Storage
npx expo install @tanstack/react-query @tanstack/react-query-persist-client react-native-mmkv
# HTTP
npx expo install axios
# UI & Animations
npx expo install react-native-reanimated react-native-gesture-handler react-native-size-matters expo-blur expo-haptics expo-status-bar expo-image expo-splash-screen expo-font @expo/vector-icons react-native-keyboard-controller
# Forms (if auth)
npx expo install formik yup
# i18n (if enabled)
npm install @lingui/react @lingui/core
npm install -D @lingui/cli @lingui/macro @lingui/babel-plugin-lingui-macro
npx expo install expo-localization
# Dev tools
npm install -D typescript @types/react eslint prettier eslint-config-expo eslint-plugin-react-hooks eslint-plugin-react-native eslint-config-prettier husky lint-staged babel-plugin-module-resolver
src/ StructureFollow project-structure.md for the complete folder tree.
tsconfig.json with path aliases (see typescript.md)babel.config.js with reanimated + lingui + module-resolverlinting.md).env.example, app.jsonnpx expo start
component-name/
├── index.tsx # Component + barrel export
├── component-name.styles.ts # Styles via useStyles callback
├── component-name.types.ts # Props interface
├── component-name.constants.ts # (optional) Variants, sizes
├── component-name.utils.ts # (optional) Pure helpers
├── component-name.hooks.ts # (optional) Component hooks
└── components/ # (optional) Sub-components
├── index.ts
└── sub-component/
└── index.tsx
useStyles() — never inline StyleSheet.createmoderateScale — never hardcode pixelsuseAppNavigation() hookFlatList for lists — never ScrollView for dynamic/long listsexpo-image — never React Native ImageAnimated API for complex motionindex.ts) in every folder#121212 surfaces, #E8E8E8 text, WCAG AA contrastconsole.log in production — blocks JS threadReact.memo, useCallback, or useMemo (the compiler handles memoization automatically)development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.
development
End-to-end Parallels smoke, upgrade, and rerun workflow for OpenClaw across macOS, Windows, and Linux guests. Use when Codex needs to run, rerun, debug, or interpret VM-based install, onboarding, gateway smoke tests, latest-release-to-main upgrade checks, fresh snapshot retests, or optional Discord roundtrip verification under Parallels.