diff --git a/.gitignore b/.gitignore
index 00428b401..c4ce718e4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -67,6 +67,7 @@ NOTES.md
# The scripts/ and integrations/*/README.md files ARE committed; only generated
# agent/skill files are excluded.
integrations/antigravity/agency-*/
+integrations/codex/agency-*/
integrations/gemini-cli/skills/
integrations/gemini-cli/gemini-extension.json
integrations/opencode/agents/
@@ -78,3 +79,4 @@ integrations/qwen/agents/
integrations/kimi/*/
!integrations/openclaw/README.md
!integrations/kimi/README.md
+!integrations/codex/README.md
diff --git a/README.md b/README.md
index cbc5ae377..8c8617fe4 100644
--- a/README.md
+++ b/README.md
@@ -44,7 +44,7 @@ Each agent file contains:
Browse the agents below and copy/adapt the ones you need!
-### Option 3: Use with Other Tools (Cursor, Aider, Windsurf, Gemini CLI, OpenCode, Kimi Code)
+### Option 3: Use with Other Tools (Codex, Cursor, Aider, Windsurf, Gemini CLI, OpenCode, Kimi Code)
```bash
# Step 1 -- generate integration files for all supported tools
@@ -59,6 +59,7 @@ Browse the agents below and copy/adapt the ones you need!
./scripts/install.sh --tool aider
./scripts/install.sh --tool windsurf
./scripts/install.sh --tool kimi
+./scripts/install.sh --tool codex
```
See the [Multi-Tool Integrations](#-multi-tool-integrations) section below for full details.
@@ -514,6 +515,7 @@ The Agency works natively with Claude Code, and ships conversion + install scrip
- **[Claude Code](https://claude.ai/code)** — native `.md` agents, no conversion needed → `~/.claude/agents/`
- **[GitHub Copilot](https://github.com/copilot)** — native `.md` agents, no conversion needed → `~/.github/agents/` + `~/.copilot/agents/`
- **[Antigravity](https://github.com/google-gemini/antigravity)** — `SKILL.md` per agent → `~/.gemini/antigravity/skills/`
+- **Codex** — `SKILL.md` per agent → `~/.codex/skills/`
- **[Gemini CLI](https://github.com/google-gemini/gemini-cli)** — extension + `SKILL.md` files → `~/.gemini/extensions/agency-agents/`
- **[OpenCode](https://opencode.ai)** — `.md` agent files → `.opencode/agents/`
- **[Cursor](https://cursor.sh)** — `.mdc` rule files → `.cursor/rules/`
@@ -551,16 +553,17 @@ The installer scans your system for installed tools, shows a checkbox UI, and le
[x] 1) [*] Claude Code (claude.ai/code)
[x] 2) [*] Copilot (~/.github + ~/.copilot)
[x] 3) [*] Antigravity (~/.gemini/antigravity)
- [ ] 4) [ ] Gemini CLI (gemini extension)
- [ ] 5) [ ] OpenCode (opencode.ai)
- [ ] 6) [ ] OpenClaw (~/.openclaw)
- [x] 7) [*] Cursor (.cursor/rules)
- [ ] 8) [ ] Aider (CONVENTIONS.md)
- [ ] 9) [ ] Windsurf (.windsurfrules)
- [ ] 10) [ ] Qwen Code (~/.qwen/agents)
- [ ] 11) [ ] Kimi Code (~/.config/kimi/agents)
-
- [1-11] toggle [a] all [n] none [d] detected
+ [x] 4) [*] Codex (~/.codex/skills)
+ [ ] 5) [ ] Gemini CLI (gemini extension)
+ [ ] 6) [ ] OpenCode (opencode.ai)
+ [ ] 7) [ ] OpenClaw (~/.openclaw)
+ [x] 8) [*] Cursor (.cursor/rules)
+ [ ] 9) [ ] Aider (CONVENTIONS.md)
+ [ ] 10) [ ] Windsurf (.windsurfrules)
+ [ ] 11) [ ] Qwen Code (~/.qwen/agents)
+ [ ] 12) [ ] Kimi Code (~/.config/kimi/agents)
+
+ [1-12] toggle [a] all [n] none [d] detected
[Enter] install [q] quit
```
@@ -570,6 +573,7 @@ The installer scans your system for installed tools, shows a checkbox UI, and le
./scripts/install.sh --tool opencode
./scripts/install.sh --tool openclaw
./scripts/install.sh --tool antigravity
+./scripts/install.sh --tool codex
```
**Non-interactive (CI/scripts):**
@@ -642,6 +646,25 @@ Activate in Gemini with Antigravity:
See [integrations/antigravity/README.md](integrations/antigravity/README.md) for details.
+
+Codex
+
+Each agent becomes a skill in `~/.codex/skills/agency-/`.
+
+```bash
+./scripts/convert.sh --tool codex
+./scripts/install.sh --tool codex
+```
+
+Then invoke by skill name in Codex:
+```
+Use the agency-frontend-developer skill to review this React component.
+```
+
+See [integrations/codex/README.md](integrations/codex/README.md) for details.
+
+
+
Gemini CLI
@@ -814,7 +837,7 @@ When you add new agents or edit existing ones, regenerate all integration files:
- [ ] Interactive agent selector web tool
- [x] Multi-agent workflow examples -- see [examples/](examples/)
-- [x] Multi-tool integration scripts (Claude Code, GitHub Copilot, Antigravity, Gemini CLI, OpenCode, OpenClaw, Cursor, Aider, Windsurf, Qwen Code, Kimi Code)
+- [x] Multi-tool integration scripts (Claude Code, GitHub Copilot, Antigravity, Codex, Gemini CLI, OpenCode, OpenClaw, Cursor, Aider, Windsurf, Qwen Code, Kimi Code)
- [ ] Video tutorials on agent design
- [ ] Community agent marketplace
- [ ] Agent "personality quiz" for project matching
diff --git a/integrations/README.md b/integrations/README.md
index f051a3018..41472d9d9 100644
--- a/integrations/README.md
+++ b/integrations/README.md
@@ -8,6 +8,7 @@ supported agentic coding tools.
- **[Claude Code](#claude-code)** — `.md` agents, use the repo directly
- **[GitHub Copilot](#github-copilot)** — `.md` agents, use the repo directly
- **[Antigravity](#antigravity)** — `SKILL.md` per agent in `antigravity/`
+- **[Codex](#codex)** — `SKILL.md` per agent in `codex/`
- **[Gemini CLI](#gemini-cli)** — extension + `SKILL.md` files in `gemini-cli/`
- **[OpenCode](#opencode)** — `.md` agent files in `opencode/`
- **[OpenClaw](#openclaw)** — `SOUL.md` + `AGENTS.md` + `IDENTITY.md` workspaces
@@ -24,6 +25,7 @@ supported agentic coding tools.
# Install a specific home-scoped tool
./scripts/install.sh --tool antigravity
+./scripts/install.sh --tool codex
./scripts/install.sh --tool copilot
./scripts/install.sh --tool openclaw
./scripts/install.sh --tool claude-code
@@ -88,6 +90,20 @@ See [antigravity/README.md](antigravity/README.md) for details.
---
+## Codex
+
+Skills are installed to `~/.codex/skills/`. Each agent becomes
+a separate skill prefixed with `agency-` to avoid naming conflicts.
+
+```bash
+./scripts/convert.sh --tool codex
+./scripts/install.sh --tool codex
+```
+
+See [codex/README.md](codex/README.md) for details.
+
+---
+
## Gemini CLI
Agents are packaged as a Gemini CLI extension with individual skill files.
diff --git a/integrations/codex/README.md b/integrations/codex/README.md
new file mode 100644
index 000000000..792f8cd67
--- /dev/null
+++ b/integrations/codex/README.md
@@ -0,0 +1,23 @@
+# Codex Integration
+
+Agency agents are converted into Codex skills (`SKILL.md`) and installed to:
+
+`~/.codex/skills/agency-/SKILL.md`
+
+## Install
+
+```bash
+# Generate Codex skill files (required on fresh clone)
+./scripts/convert.sh --tool codex
+
+# Install to ~/.codex/skills/
+./scripts/install.sh --tool codex
+```
+
+## Usage
+
+In Codex, call the installed skill by name:
+
+```text
+Use the agency-frontend-developer skill to review this component.
+```
diff --git a/scripts/convert.sh b/scripts/convert.sh
index 5dd26bca7..8e22e4730 100755
--- a/scripts/convert.sh
+++ b/scripts/convert.sh
@@ -11,6 +11,7 @@
#
# Tools:
# antigravity — Antigravity skill files (~/.gemini/antigravity/skills/)
+# codex — Codex skill files (~/.codex/skills/)
# gemini-cli — Gemini CLI extension (skills/ + gemini-extension.json)
# opencode — OpenCode agent files (.opencode/agent/*.md)
# cursor — Cursor rule files (.cursor/rules/*.mdc)
@@ -132,6 +133,32 @@ ${body}
HEREDOC
}
+convert_codex() {
+ local file="$1"
+ local name description slug outdir outfile body
+
+ name="$(get_field "name" "$file")"
+ description="$(get_field "description" "$file")"
+ slug="agency-$(slugify "$name")"
+ body="$(get_body "$file")"
+
+ outdir="$OUT_DIR/codex/$slug"
+ outfile="$outdir/SKILL.md"
+ mkdir -p "$outdir"
+
+ # Codex skill format mirrors community skills in ~/.codex/skills/
+ cat > "$outfile" </dev/null 2>&1 || [[ -d "${HOME}/.github" || -d "${HOME}/.copilot" ]]; }
detect_antigravity() { [[ -d "${HOME}/.gemini/antigravity/skills" ]]; }
+detect_codex() { command -v codex >/dev/null 2>&1 || [[ -d "${HOME}/.codex" ]]; }
detect_gemini_cli() { command -v gemini >/dev/null 2>&1 || [[ -d "${HOME}/.gemini" ]]; }
detect_cursor() { command -v cursor >/dev/null 2>&1 || [[ -d "${HOME}/.cursor" ]]; }
detect_opencode() { command -v opencode >/dev/null 2>&1 || [[ -d "${HOME}/.config/opencode" ]]; }
@@ -149,6 +151,7 @@ is_detected() {
claude-code) detect_claude_code ;;
copilot) detect_copilot ;;
antigravity) detect_antigravity ;;
+ codex) detect_codex ;;
gemini-cli) detect_gemini_cli ;;
opencode) detect_opencode ;;
openclaw) detect_openclaw ;;
@@ -167,6 +170,7 @@ tool_label() {
claude-code) printf "%-14s %s" "Claude Code" "(claude.ai/code)" ;;
copilot) printf "%-14s %s" "Copilot" "(~/.github + ~/.copilot)" ;;
antigravity) printf "%-14s %s" "Antigravity" "(~/.gemini/antigravity)" ;;
+ codex) printf "%-14s %s" "Codex" "(~/.codex/skills)" ;;
gemini-cli) printf "%-14s %s" "Gemini CLI" "(gemini extension)" ;;
opencode) printf "%-14s %s" "OpenCode" "(opencode.ai)" ;;
openclaw) printf "%-14s %s" "OpenClaw" "(~/.openclaw)" ;;
@@ -351,6 +355,25 @@ install_antigravity() {
ok "Antigravity: $count skills -> $dest"
}
+install_codex() {
+ local src="$INTEGRATIONS/codex"
+ local dest="${HOME}/.codex/skills"
+ local count=0
+ [[ -d "$src" ]] || { err "integrations/codex missing. Run ./scripts/convert.sh --tool codex first."; return 1; }
+ local first_skill
+ first_skill="$(find "$src" -mindepth 2 -maxdepth 2 -type f -name "SKILL.md" -print -quit)"
+ [[ -n "$first_skill" ]] || { err "No Codex skills found in integrations/codex. Run ./scripts/convert.sh --tool codex first."; return 1; }
+ mkdir -p "$dest"
+ local d
+ while IFS= read -r -d '' d; do
+ local name; name="$(basename "$d")"
+ mkdir -p "$dest/$name"
+ cp "$d/SKILL.md" "$dest/$name/SKILL.md"
+ (( count++ )) || true
+ done < <(find "$src" -mindepth 1 -maxdepth 1 -type d -print0)
+ ok "Codex: $count skills -> $dest"
+}
+
install_gemini_cli() {
local src="$INTEGRATIONS/gemini-cli"
local dest="${HOME}/.gemini/extensions/agency-agents"
@@ -498,6 +521,7 @@ install_tool() {
claude-code) install_claude_code ;;
copilot) install_copilot ;;
antigravity) install_antigravity ;;
+ codex) install_codex ;;
gemini-cli) install_gemini_cli ;;
opencode) install_opencode ;;
openclaw) install_openclaw ;;