eas-app-stores
About
This skill helps deploy Expo apps to iOS and Google Play stores using the paid EAS service. It handles building, submitting to TestFlight/production, managing version numbers, and configuring store metadata. Use it when preparing production builds or submitting updates to app stores.
Quick Install
Claude Code
Recommendednpx skills add expo/skills -a claude-code/plugin add https://github.com/expo/skillsgit clone https://github.com/expo/skills.git ~/.claude/skills/eas-app-storesCopy and paste this command in Claude Code to install this skill
Documentation
App Store Deployment
EAS service - costs apply. This skill uses Expo Application Services (EAS), a paid product with free-tier limits.
eas buildandeas submitconsume your plan's build minutes, and store submission requires paid Apple Developer and Google Play accounts. Review https://expo.dev/pricing before running cloud commands.
This skill covers building and releasing Expo apps to the iOS App Store, Google Play Store, and TestFlight using EAS (Expo Application Services). For deploying an Expo website or API routes to EAS Hosting, use the eas-hosting skill.
References
Consult these resources as needed:
- ./references/workflows.md -- CI/CD workflows for automated store releases and PR previews
- ./references/testflight.md -- Submitting iOS builds to TestFlight for beta testing
- ./references/app-store-metadata.md -- Managing App Store metadata and ASO optimization
- ./references/play-store.md -- Submitting Android builds to Google Play Store
- ./references/ios-app-store.md -- iOS App Store submission and review process
Quick Start
Install EAS CLI
npm install -g eas-cli
eas login
Initialize EAS
npx eas-cli@latest init
This creates eas.json with build profiles.
Build Commands
Production Builds
# 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
Submit to Stores
# iOS: Build and submit to App Store Connect
npx eas-cli@latest build -p ios --profile production --submit
# Android: Build and submit to Play Store
npx eas-cli@latest build -p android --profile production --submit
# Shortcut for iOS TestFlight
npx testflight
Web & API Route Hosting
Deploying 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.
EAS Configuration
Standard eas.json for production deployments:
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true,
"ios": {
"resourceClass": "m-medium"
}
},
"development": {
"developmentClient": true,
"distribution": "internal"
}
},
"submit": {
"production": {
"ios": {
"appleId": "[email protected]",
"ascAppId": "1234567890"
},
"android": {
"serviceAccountKeyPath": "./google-service-account.json",
"track": "internal"
}
}
}
}
Platform-Specific Guides
iOS
- Use
npx testflightfor quick TestFlight submissions - Configure Apple credentials via
eas credentials - See ./references/testflight.md for credential setup
- See ./references/ios-app-store.md for App Store submission
Android
- Set up Google Play Console service account
- Configure tracks: internal → closed → open → production
- See ./references/play-store.md for detailed setup
Automated Releases
EAS 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.
Version Management
EAS manages version numbers automatically with appVersionSource: "remote":
# Check current versions
eas build:version:get
# Manually set version
eas build:version:set -p ios --build-number 42
Monitoring
# List recent builds
eas build:list
# Check build status
eas build:view
# View submission status
eas submit:list
GitHub Repository
Frequently asked questions
What is the eas-app-stores skill?
eas-app-stores is a Claude Skill by expo. Skills package instructions and resources that Claude loads on demand, so Claude can perform eas-app-stores-related tasks without extra prompting.
How do I install eas-app-stores?
Use the install commands on this page: add eas-app-stores to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does eas-app-stores belong to?
eas-app-stores is in the Meta category, tagged ai, testing, api, design and data.
Is eas-app-stores free to use?
Yes. eas-app-stores is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
Related Skills
This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.
This skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.
This skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.
SGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.
