Skip to main content
skill CX Codex GP ChatGPT official · OpenAI

expo-deployment — Codex skill: what it does, how to install

Guides deployment of Expo applications to the iOS App Store, Google Play Store, and EAS Hosting using EAS CLI.

Install into Codex · Skills CLI (Vercel) All methods and platforms ↓
npx skills add openai/plugins --skill expo-deployment -a codex
Open on GitHub

What expo-deployment does

This skill guides agents through deploying React Native apps with Expo Application Services (EAS). It provides CLI patterns and profiles for building production artifacts, submitting binaries to store tracks, and configuring eas.json. For iOS beta releases, it documents the npx testflight shortcut alongside standard App Store Connect submissions.

The skill covers web deployments via npx expo export -p web and CI/CD pipelines defined in .eas/workflows/release.yml. It also details remote version tracking with appVersionSource: "remote", letting you inspect and set build numbers directly through EAS commands.

Running builds requires an active Expo account and globally installed eas-cli. Store submissions will fail without proper credentials: an Apple ID with ascAppId for iOS, or a Google Play service account key file for Android.

What it helps with

  • Build production binaries for iOS and Android via EAS
  • Submit iOS test builds directly to TestFlight
  • Generate standard eas.json profiles for production and internal distribution
  • Deploy web versions with PR preview URLs on EAS Hosting

Example prompts for the agent

  • Help me set up eas.json for production builds with remote versioning.
  • How do I submit an Android build to the internal track in Google Play?
  • Write an EAS workflow file to build and submit iOS on push to main.

How to install expo-deployment

1Skills CLI (Vercel)

npx skills add openai/plugins --skill expo-deployment -a codex

2Manually: put the files in place

.agents/skills/expo-deployment/SKILL.md

For all projects use ~/.agents/skills/

Step by step, with commands for each platform: Codex skills: how to install, where they live, how to call them

Questions about expo-deployment

How do I install expo-deployment in Codex?

Run npx skills add openai/plugins --skill expo-deployment in your project terminal.

What does the expo-deployment skill do?

It gives the agent instructions and EAS CLI workflows to build, version, and submit Expo apps to app stores and web hosting.

What credentials are required for automated store submission?

You need Apple credentials configured in EAS or specified in eas.json, plus a Google Play Console service account JSON file for Android.

Source text

SKILL.md · MIT
---
name: expo-deployment
description: Deploying Expo apps to iOS App Store, Android Play Store, web hosting, and API routes
version: 1.0.0
license: MIT
---

# Deployment

This skill covers deploying Expo applications across all platforms using EAS (Expo Application Services).

## References

Consult these resources as needed:

- ./references/workflows.md -- CI/CD workflows for automated deployments 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

```bash
npm install -g eas-cli
eas login
```

### Initialize EAS

```bash
npx eas-cli@latest init
```

This creates `eas.json` with build profiles.

## Build Commands

### Production Builds

```bash
# 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

```bash
# 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 Deployment

Deploy web apps using EAS Hosting:

```bash
# Deploy to production
npx expo export -p web
npx eas-cli@latest deploy --prod

# Deploy PR preview
npx eas-cli@latest deploy
```

## EAS Configuration

Standard `eas.json` for production deployments:

```json
{
  "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 testflight` for quick TestFlight submissions
- Configure Apple credentials via `eas credentials`
- See ./reference/testflight.md for credential setup
- See ./reference/ios-app-store.md for App Store submission

### Android

- Set up Google Play Console service account
- Configure tracks: internal → closed → open → production
- See ./reference/play-store.md for detailed setup

### Web

- EAS Hosting provides preview URLs for PRs
- Production deploys to your custom domain
- See ./reference/workflows.md for CI/CD automation

## Automated Deployments

Use EAS Workflows for CI/CD:

```yaml
# .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.

## Version Management

EAS manages version numbers automatically with `appVersionSource: "remote"`:

```bash
# Check current versions
eas build:version:get

# Manually set version
eas build:version:set -p ios --build-number 42
```

## Monitoring

```bash
# List recent builds
eas build:list

# Check build status
eas build:view

# View submission status
eas submit:list
```

© Expo Team · MIT · openai/plugins

Similar skills

All skills for Mobile →

From the same set596

The whole set →
expo-ui-jetpack-compose A skill that tells the agent how to build native Android UI with @expo/ui/jetpack-compose inside an Expo app. CX Codex GP ChatGPT 1installs expo-tailwind-setup Sets up Tailwind CSS v4 in Expo projects using NativeWind v5 and react-native-css. Useful for sharing styling across mobile platforms and the web. CX Codex GP ChatGPT 1installs expo-module This skill covers Expo native modules and views with Swift, Kotlin, and TypeScript. Use it when building or changing code through the Expo Modules API. CX Codex GP ChatGPT 1installs expo-dev-client A Claude skill that walks the agent through building an Expo development client and getting it onto TestFlight or a device. CX Codex GP ChatGPT 1installs expo-cicd-workflows This skill helps create and check EAS Workflow YAML for Expo projects. Use it for CI/CD questions, build pipelines, and deployment automation. CX Codex GP ChatGPT 1installs expo-api-routes This skill tells the agent how to write server-side API routes in Expo Router and ship them to EAS Hosting. Useful when keys and database calls must stay off the client. CX Codex GP ChatGPT 1installs gather-business-context Extracts business definitions, metric context, and source owners before analytical work starts. It frames the question so subsequent skills operate on verified facts. CX Codex GP ChatGPT 1installs create-data-context Builds and maintains a semantic layer that records how data should be read, which metric counts as canonical, and what caveats to check. CX Codex GP ChatGPT 1installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor