Expo
Skill 2 of 26
EAS service (paid). Build and submit iOS and Android apps with EAS to TestFlight, the App Store, or Google Play.
3 minutes · 724 words · 18 sections
Install
npx skills add expo/skills --skill eas-app-storesnpx skills add expo/skills/plugin marketplace add expo/skillsThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
EAS service - costs apply. Cloud builds use EAS plan resources, and EAS services have free-tier and paid-plan limits. Apple Developer and Google Play memberships are separate. Check https://expo.dev/pricing (opens in a new tab) for the requested service.
This skill covers building and releasing iOS and Android apps with EAS: Expo and other React Native projects, plus existing native apps. EAS is a delivery service; native apps can use it without adding Expo or React Native to their runtime. The native setup walkthrough currently covers SwiftUI/UIKit on iOS.
expo-brownfield for that integration; return here for distribution.Use the archive and icon checks in references/native-ios.md (opens in a new tab) during initial native iOS setup, after changing versioning, bundle IDs, or icons, or when diagnosing a rejected upload. Routine releases follow the EAS build/submit flow and the processing and availability checks in references/testflight.md (opens in a new tab). A successful EAS build or a queued submission does not establish Apple acceptance, tester access, or an App Store release.
Consult these resources as needed:
npm install -g eas-cli
eas loginnpx eas-cli@latest initeas init links or creates the EAS project. Run eas build:configure to create build profiles in eas.json; preserve existing project and store identifiers when a release setup already exists.
# iOS App Store build
npx eas-cli@latest build -p ios --profile production
# Android Play Store build
npx eas-cli@latest build -p android --profile production
# Both platforms
npx eas-cli@latest build --profile production# iOS: Build and submit to App Store Connect
npx eas-cli@latest build -p ios --profile production --auto-submit
# Android: Build and submit to Play Store
npx eas-cli@latest build -p android --profile production --auto-submit
# Expo / React Native shortcut for iOS TestFlight
npx testflightDeploying an Expo website or Expo Router API routes to EAS Hosting (npx expo export -p web then eas deploy) is covered by the eas-hosting skill. This skill focuses on native app store releases.
Example for an Expo / React Native project (native Swift profiles are in references/native-ios.md):
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true,
"ios": {
"resourceClass": "m-medium"
}
},
"development": {
"developmentClient": true,
"distribution": "internal"
}
},
"submit": {
"production": {
"ios": {
"appleId": "your@email.com",
"ascAppId": "1234567890"
},
"android": {
"serviceAccountKeyPath": "./google-service-account.json",
"track": "internal"
}
}
}
}references/native-ios.mdnpx testflight provides a quick TestFlight floweas credentialsEAS Workflows automate the build → submit → update pipeline for CI/CD. See ./references/workflows.md for store-release examples. To author or validate workflow YAML, use the eas-workflows skill - it works from the live workflow schema.
EAS manages version numbers automatically with appVersionSource: "remote":
# Check current versions
eas build:version:get
# Manually set version
eas build:version:set -p iosThe version-set command prompts for the value. When setting up or changing native iOS versioning, or diagnosing a duplicate build number, inspect the archived CFBundleVersion: the remote counter alone does not prove that Xcode used it.
# List recent builds
eas build:list
# Check build status
eas build:view BUILD_ID
# Inspect submissions (verified with EAS CLI 23.2.0)
eas submit:list -p ios --json
eas submit:view SUBMISSION_ID --jsonCheck the CLI version before interpreting a missing command: these submission commands are available in 23.2.0 but not in the tested 18.6.0 installation. A pinned npx eas-cli@23.2.0 invocation can use them without changing the global installation. See references/testflight.md for live Apple status and retry guidance. Follow the returned log URLs when the JSON result omits the underlying failure. Report the exact build ID/version and the furthest verified release state.
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 "eas-app-stores" "<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.
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, plus existing native apps. Use for eas.json setup, release pipelines, signing, app versions and build numbers, store submissions, and listing metadata. For Expo websites and API routes, use eas-hosting; for adding React Native screens to a native app, use expo-brownfield.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
plugins/expo/skills/eas-app-stores/SKILL.mdmain, last pushed 23 September 2026.SKILL.md, not by matching a directory convention. 3 distinct layouts observed: .claude/skills/*/SKILL.md, plugins/expo-experiments/skills/*/SKILL.md, plugins/expo/skills/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by Expo Team, declaring 5 plugins. It is read for editorial metadata only — never as the skill index, which is always the repository tree./expo/skills.md, and each skill at its own .md URL.7 files · 49 KB
Everything this skill ships beside its prose. All of it is set here, as subchapters of skill 2.
Documentation the agent loads on demand, rather than up front.
Everything else published alongside the skill.