mcpbeat

Codex Expo Run Actions

openai/codex-expo-run-actions

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.

2k tokens
context cost
the whole folder, loaded on every use
3
files
instructions only
0
copies elsewhere
how many repositories repackaged it
4915
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/openai/plugins --skill codex-expo-run-actions

What comes with it

5 366 bytes besides the instruction
agents/openai.yaml
references/expo-run-button-bootstrap.md

The instruction itself

5 sections, as written by the author

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

  • 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.
  • 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.
  • 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.
  • 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.
  • 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

How to use it

Copy the folder

Take openai/codex-expo-run-actions from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference npx. Without those the skill loads but fails at the first command.