codex-expo-run-actions — Codex skill: what it does, how to install
Connects Expo projects to the Codex action bar by generating a local run script and configuring environment actions.
npx skills add openai/plugins --skill codex-expo-run-actions -a codexWhat codex-expo-run-actions does
The skill verifies the workspace using package.json and Expo configs such as app.json or app.config.js. When working inside a monorepo, it targets the specific child directory rather than the workspace root. It also detects package managers via packageManager or lockfiles, avoiding hardcoded npm calls when pnpm, yarn, or bun are present.
It writes script/build_and_run.sh and configures actions in .codex/environments/environment.toml. The default Run action launches expo start. Optional flags support opening iOS, Android, web, or dev-client targets. Metro stays in the foreground so the Codex action terminal retains logs and handles Ctrl-C cleanly. Cloud workflows like eas build are omitted by default.
What it helps with
- wire Expo dev server execution to the Codex Run button
- generate a package-manager-aware script/build_and_run.sh runner
- configure targeted launch actions for iOS, Android, and web in Codex
- stream Metro logs directly into the Codex action terminal
Example prompts for the agent
- Set up Codex Run actions for this Expo project
- Add iOS and Android run buttons to my Codex environment config
- Create build_and_run.sh for our Expo workspace using pnpm
How to install codex-expo-run-actions
1Skills CLI (Vercel)
npx skills add openai/plugins --skill codex-expo-run-actions -a codex2Manually: put the files in place
.agents/skills/codex-expo-run-actions/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add openai/plugins --skill codex-expo-run-actions -a claude-code2Manually: put the files in place
~/.claude/skills/codex-expo-run-actions/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/codex-expo-run-actions/
Manually: put the files in place
.cursor/skills/codex-expo-run-actions/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install openai/plugins codex-expo-run-actions2Manually: put the files in place
.github/skills/codex-expo-run-actions/SKILL.mdPlatform CLI
gemini skills install https://github.com/openai/plugins --path plugins/expo/skills/codex-expo-run-actionsManually: put the files in place
.devin/skills/codex-expo-run-actions/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: Codex skills: how to install, where they live, how to call them
Questions about codex-expo-run-actions
How to install codex-expo-run-actions in Codex?
Run npx skills add openai/plugins --skill codex-expo-run-actions -a codex in your terminal. This registers the skill in your Codex agent setup.
What does codex-expo-run-actions do?
It creates a shell runner script and configures .codex/environments/environment.toml. This wires the Codex Run button directly to the Expo development server.
Does it configure EAS Build commands?
No. The skill defaults to local Expo workflows like expo start and avoids cloud build commands unless explicitly requested.
Source text
SKILL.md · MIT
---
name: codex-expo-run-actions
description: Wire Expo projects into the Codex app with project-local run scripts and .codex/environments/environment.toml actions. Use when the user wants the Codex app Run button, build/run actions, action buttons, or a stable Expo start/run workflow from Codex.
version: 1.0.0
license: MIT
---
# Codex Run Actions for Expo
Use this skill to connect an Expo project to the Codex app action bar.
The goal is one project-local script plus `.codex/environments/environment.toml`,
so the user can press `Run` in the Codex app and see the Expo CLI / Metro logs in
an action terminal.
## Workflow
1. Confirm the current workspace is an Expo app.
- Look for `package.json`.
- Look for `app.json`, `app.config.js`, `app.config.ts`, or `expo` in `package.json`.
- Do not wire the Codex action at a monorepo root if the Expo app is in a child package.
2. Discover the package runner.
- Prefer the package manager declared in `packageManager`.
- Otherwise infer from lockfiles.
- The generated run script should still have a safe fallback to `npx expo`.
3. Create or update `script/build_and_run.sh`.
- Use the reference file for the script shape.
- Default no-argument mode starts the Expo dev server: `expo start`.
- Keep the dev server in the foreground so the Codex action terminal owns logs and Ctrl-C behavior.
- Support optional modes for direct buttons:
- `--ios` starts Expo and opens iOS simulator.
- `--android` starts Expo and opens Android.
- `--web` starts Expo for web.
- `--dev-client` starts in dev-client mode.
- `--tunnel` starts a tunnel.
- `--export-web` exports web.
4. Write `.codex/environments/environment.toml`.
- Always add or update one primary action named `Run`.
- Wire `Run` to `./script/build_and_run.sh`.
- Add direct `Run iOS`, `Run Android`, `Run Web`, or `Run Dev Client`
actions only when the user asks for those buttons or the project clearly needs them.
- If the environment file already exists, update the existing matching action instead of duplicating it.
5. Use the action script as the default local run path.
- After wiring, run `./script/build_and_run.sh --help` or a short non-server mode if you need to sanity-check syntax.
- Do not start a long-lived Metro server during a setup-only task unless the user asked you to run the app.
## References
- `references/expo-run-button-bootstrap.md`: canonical Expo `script/build_and_run.sh` and Codex environment action examples.
## Guardrails
- Try Expo Go / `expo start` first; do not default the Codex Run button to `expo run:ios`, `expo run:android`, prebuild, or EAS Build.
- Do not wire cloud actions such as `eas build`, `eas submit`, or store deployment into Codex buttons unless the user explicitly asks and accepts the auth / time / cost tradeoff.
- Do not create a nested git repo.
- Do not put secrets in `.codex/environments/environment.toml` or in the run script.
- Do not background Metro from the run script; the action terminal should show the active server logs.
- Do not hard-code npm if the project uses pnpm, yarn, or bun.
## Output Expectations
When setup changes are made, summarize:
- the Expo app root you wired
- the run script path
- the Codex environment file path
- the actions added or updated
- how to launch the same path from shell
© Expo Team · MIT · openai/plugins