Expo Development Client Builder
Build and distribute Expo development clients for native-code testing.
The document discloses the cost distinction between local and cloud builds, Apple Developer requirements, and the external effect of EAS/TestFlight, while directing production releases to another skill. However, it does not require confirmation before cloud builds, TestFlight submission, or credential operations, and does not explain credential/project-data flows, least-privilege permissions, or rollback, so 8 points are deducted.
The workflow, configuration example, and common commands are broadly consistent, with troubleshooting for signing, cache, and CLI-version issues. However, there are no tests or execution evidence for key paths, and prerequisites, abnormal inputs, platform differences, and some build-artifact assumptions are under-specified; the static-review ceiling therefore limits the score.
The audience and scenarios are reasonably clear, including explicit cases requiring a development client and separation from the production-store skill. Non-fit boundaries, trigger precision, project prerequisites, and Chinese-environment guidance are limited; cloud workflows depend on EAS and App Store Connect without discussing mainland-China reachability, so 5 points are deducted.
The skill has a name, description, version 1.1.0, MIT license, structured sections, command examples, troubleshooting, and repository-level update/version checks. It lacks a changelog, explicit maintenance owner, and skill-specific installation/dependency notes, FAQ, and known limitations, so 6 points are deducted.
It provides actionable coverage for deciding, configuring, building, installing, connecting to Metro, and checking status. However, installation of expo-dev-client, credential preparation, configuration-merge risks, and platform-specific output details are incomplete; static evidence cannot establish directly usable results, so 6 points are awarded under the static cap and 9 points are deducted.
The skill supplies auditable commands, configuration, and official documentation references, while repository workflows verify skill limits and plugin versions. There are no committed tests covering the skill's key paths, real build records, or third-party execution evidence, so independent reproduction remains limited and 6 points are deducted.
- eas build --submit incurs cloud costs and triggers an external App Store Connect submission; confirm the account, billing, target project, and submission intent first.
- The skill does not clearly specify installation or verification of the expo-dev-client dependency, EAS authentication, iOS signing permissions, or configuration-merge strategy.
- Mainland-China reachability and recovery paths for the cloud EAS/TestFlight workflow are not documented; local builds are the more controllable alternative.
What does this skill do, and when should you use it?
This skill guides Expo projects through EAS Build workflows for creating development clients, either locally or in the cloud for internal TestFlight testing. It covers development-profile configuration, iOS and Android builds, installation, Metro connection, build-status checks, and common troubleshooting. It is suited to real Expo applications using custom native code, native modules, config plugins, or Apple targets. Production TestFlight releases and store submission are outside its scope and belong to the eas-app-stores skill.
Guides edits to eas.json development profiles; runs eas build for iOS and Android development clients; uses --submit to send an iOS development client to App Store Connect; produces or handles .ipa, .apk, .aab, and simulator .app outputs; installs local builds with xcrun simctl, ideviceinstaller, or adb; checks builds with eas build:list and eas build:view; starts Metro with npx expo start --dev-client and connects the client by QR code or URL; troubleshoots with eas credentials, --clear-cache, and eas update.
- A team testing a branch that contains custom Expo native modules on physical devices.
- A developer using a third-party native module that is not bundled in Expo Go.
- An iOS project testing widgets, App Clips, extensions, remote push notifications, or App/Universal Links.
- A team distributing an iOS development client to internal testers through TestFlight.
- A developer who needs local iOS or Android development-client artifacts instead of a cloud build.
What are this skill's strengths and limitations?
- Covers iOS, Android, local builds, and EAS cloud-build workflows.
- Provides a development-profile example and explains its key settings.
- Includes TestFlight internal testing, local installation, Metro connection, status checks, and troubleshooting.
- Clearly states the boundary between free local builds and paid EAS Build/TestFlight distribution.
- Cloud builds consume plan build minutes, and device or TestFlight distribution requires a paid Apple Developer account.
- Production TestFlight releases and app-store submission are outside this skill’s scope.
- Local iOS builds require Xcode; Android installation requires adb; device installation may also require signing.
- The source provides no test suite, platform-coverage validation, or automated quality metrics.
How do you install this skill?
This skill is part of the expo/skills collection. Install all Expo skills with: npx skills@latest add expo/skills --skill '*'. Run it from the project root, choose the installation location when prompted, then restart or refresh the agent session. Claude Code can use claude plugin install expo@claude-plugins-official; Codex can use codex plugin add expo@openai-curated. The source does not document a Skills CLI command that installs only expo-dev-client.
How do you use this skill?
Ensure eas.json contains a development profile with developmentClient: true. Build and submit an iOS development client in the cloud with: eas build -p ios --profile development --submit. Build locally with eas build -p ios --profile development --local or eas build -p android --profile development --local. After installation, run npx expo start --dev-client and scan the QR code or enter the Metro URL in the client. Example prompt: “Configure a development profile for this Expo project and build a development client for physical-device testing.”
How does this skill compare with similar options?
Compared with Expo Go, development clients are intended for real applications using custom native code, native modules, config plugins, Apple targets, or other capabilities not included in Expo Go; Expo Go is positioned for learning and quick experiments. Compared with eas-app-stores, this skill targets development clients and internal testing, while eas-app-stores targets production builds, TestFlight, app-store submission, and store metadata.