expo-skill-eval
Evaluate Expo skills in this repo end-to-end - trigger accuracy, generated code quality, and runtime screenshots on iOS simulator and Android emulator via Expo…
Framework (OSS). Build and distribute Expo development clients locally or via TestFlight for internal testing. For production TestFlight releases and store submission, use the eas-app-stores skill.
$ npx -y skills add expo/skills --skill expo-dev-client --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/expo-dev-clientContext preview
The summary Claude sees to decide when to auto-load this skill.
Framework (OSS). Build and distribute Expo development clients locally or via TestFlight for internal testing. For production TestFlight releases and store submission, use the eas-app-stores skill.
name: expo-dev-client description: Framework (OSS). Build and distribute Expo development clients locally or via TestFlight for internal testing. For production TestFlight releases and store submission, use the eas-app-stores skill. version: 1.1.0 license: MIT
Use EAS Build to create development clients for testing native code changes on physical devices. Use this for creating custom Expo Go clients for testing branches of your app.
> **Free locally; cloud builds are paid.** `expo-dev-client` itself is open source and building locally is free. Building or distributing via EAS Build/TestFlight uses your EAS plan's build minutes and needs a paid Apple Developer account for device/TestFlight distribution. See https://expo.dev/pricing.
**Development clients are the recommended setup for any real or production app.** Expo Go is a playground for learning and quick experiments with the native libraries it bundles; most apps outgrow it and move to a development client. See [Expo Go vs. development builds](https://docs.expo.dev/develop/development-builds/introduction/) for the full reasoning.
You need a dev client ONLY when using:
Ensure `eas.json` has a development profile:
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true
},
"development": {
"autoIncrement": true,
"developmentClient": true
}
},
"submit": {
"production": {},
"development": {}
}
}Key settings:
Build iOS dev client and submit to TestFlight in one command:
eas build -p ios --profile development --submit
This will:
1. Build the development client in the cloud 2. Automatically submit to App Store Connect 3. Send you an email when the build is ready in TestFlight
After receiving the TestFlight email:
1. Download the build from TestFlight on your device 2. Launch the app to see the expo-dev-client UI 3. Connect to your local Metro bundler or scan a QR code
Build a development client on your machine:
# iOS (requires Xcode) eas build -p ios --profile development --local # Android eas build -p android --profile development --local
Local builds output:
Install iOS build on simulator:
# Find the .app in the .tar.gz output tar -xzf build-*.tar.gz xcrun simctl install booted ./path/to/App.app
Install iOS build on device (requires signing):
# Use Xcode Devices window or ideviceinstaller ideviceinstaller -i build.ipa
Install Android build:
adb install build.apk
# iOS only eas build -p ios --profile development # Android only eas build -p android --profile development # Both platforms eas build --profile development
# List recent builds eas build:list # View build details eas build:view
Once installed, the dev client provides:
Connect to local development:
# Start Metro bundler npx expo start --dev-client # Scan QR code with dev client or enter URL manually
**Build fails with signing errors:**
eas credentials
**Clear build cache:**
eas build -p ios --profile development --clear-cache
**Check EAS CLI version:**
eas --version eas update
If you encounter errors, misleading or outdated information in this skill, report it so Expo can improve:
npx --yes submit-expo-feedback@latest --category skills --subject "expo-dev-client" "<actionable feedback>"
Only submit when you have something specific and actionable to report. Include as much relevant context as possible. If an AI agent repeatedly failed or the user had to take over an Expo task, load the expo-skill-feedback skill and follow its eval-candidate flow instead of reusing the command above.
A collection of AI agent skills for working with Expo projects and Expo Application Services
Repo: expo/skills
Evaluate Expo skills in this repo end-to-end - trigger accuracy, generated code quality, and runtime screenshots on iOS simulator and Android emulator via Expo…
Framework (OSS). Migrate an existing Apple/Swift Expo native module from the Expo Modules API 1.0 definition DSL to the 2.0 macro API (sometimes called v2)…
EAS service (paid). Build and submit iOS and Android apps with EAS to TestFlight, the App Store, or Google Play. Supports Expo and other React Native projects,…
EAS service (paid). Deploy Expo websites and Expo Router API routes to EAS Hosting - export the web bundle, run eas deploy for production and PR preview URLs,…
EAS service (paid). Use for anything related to EAS Observe - adding `expo-observe` to an Expo project (AppMetricsRoot/ObserveRoot HOC, markInteractive and…
EAS service (paid). Run and control a user's app on a remote iOS/Android simulator hosted on EAS cloud. Read before running any `eas simulator:*` commands - it…