skills/expo-deployment/SKILL.md
Deploying Expo apps to iOS App Store, Android Play Store, web hosting, and API routes
npx skillsauth add abogoyavlensky/agents expo-deploymentInstall 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.
This skill covers deploying Expo applications across all platforms using EAS (Expo Application Services).
Consult these resources as needed:
npm install -g eas-cli
eas login
npx eas-cli@latest init
This creates eas.json with build profiles.
# 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 --submit
# Android: Build and submit to Play Store
npx eas-cli@latest build -p android --profile production --submit
# Shortcut for iOS TestFlight
npx testflight
Deploy web apps using EAS Hosting:
# Deploy to production
npx expo export -p web
npx eas-cli@latest deploy --prod
# Deploy PR preview
npx eas-cli@latest deploy
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"
}
}
}
}
npx testflight for quick TestFlight submissionseas credentialsUse EAS Workflows for CI/CD:
# .eas/workflows/release.yml
name: Release
on:
push:
branches: [main]
jobs:
build-ios:
type: build
params:
platform: ios
profile: production
submit-ios:
type: submit
needs: [build-ios]
params:
platform: ios
profile: production
See ./reference/workflows.md for more workflow examples.
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
# List recent builds
eas build:list
# Check build status
eas build:view
# View submission status
eas submit:list
tools
Run a second-opinion code review using the Codex CLI (`codex exec review`) in the background and surface the findings when it finishes. Use when the user says "review with codex", "second-opinion review", "what does codex think", or wants an outside model to look at local changes (uncommitted, current branch vs main, or a named commit). Also used as the review checkpoint inside the `executing-plans` skill.
documentation
Create structured implementation plan in docs/plans/
development
Review local code changes — uncommitted work, the current branch vs main, or a specific commit — for code quality, minimal implementation, basic security, and feature completeness. Use this skill whenever the user asks to review code, review changes, review a branch, review a commit, audit a diff, sanity-check what's about to be committed, or asks "is this ready to ship?" — even when they don't say the word "review" explicitly. This is a fast local review run inside the project, not the cloud-based /ultrareview. The output is a severity-grouped findings report with file:line citations.
testing
Use when writing prose humans will read - documentation, commit messages, error messages, explanations, reports, or UI text. Applies Strunk's timeless rules for clearer, stronger, more professional writing.