English | 한국어 | 日本語 | 中文 | Deutsch | Français
Looking for Claude Code? → my-claude — same Boss orchestration in native Claude
.mdagent format
All-in-one agent harness for OpenAI Codex CLI. Install once, 17 curated agents ready.
Boss auto-discovers every agent and skill at runtime,
then routes your task to the right specialist via spawn_agent. No config. No boilerplate.
curl -fsSL https://raw.githubusercontent.com/sehoon787/my-codex/main/install.sh | bashClone-based install:
git clone --depth 1 https://github.com/sehoon787/my-codex.git /tmp/my-codex
bash /tmp/my-codex/install.sh
rm -rf /tmp/my-codexWindows note:
install.shpatches the npm-managedcodex,codex.cmd, andcodex.ps1shims when they exist, so the my-codex vault pipeline still has wrapper fallback coverage even if%APPDATA%\npmresolves before~/.codex/bin.
Read https://raw.githubusercontent.com/sehoon787/my-codex/main/AI-INSTALL.md and follow every step.
Boss is the meta-orchestrator at the core of my-codex. It never writes code — it discovers, classifies, matches, delegates, and verifies.
User Request
│
▼
┌─────────────────────────────────────────────┐
│ Phase 0 · DISCOVERY │
│ Scan ~/.codex/agents/*.toml at runtime │
│ → Build live capability registry │
└──────────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ Phase 1 · INTENT GATE │
│ Classify: trivial | build | refactor | │
│ mid-sized | architecture | research | ... │
│ → Counter-propose skill if better fit │
└──────────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ Phase 2 · CAPABILITY MATCHING │
│ P1: Exact skill match │
│ P2: Specialist agent via spawn_agent │
│ P3: Multi-agent orchestration │
│ P4: General-purpose fallback │
└──────────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ Phase 3 · DELEGATION │
│ spawn_agent with structured instructions │
│ TASK / OUTCOME / TOOLS / DO / DON'T / CTX │
└──────────────────────┬──────────────────────┘
▼
┌─────────────────────────────────────────────┐
│ Phase 4 · VERIFICATION │
│ Read changed files independently │
│ Run tests, lint, build │
│ Cross-reference with original intent │
│ → Retry up to 3× on failure │
└─────────────────────────────────────────────┘
Boss cascades every request through a priority chain until the best match is found:
| Priority | Match Type | When | Example |
|---|---|---|---|
| P1 | Skill match | Task maps to a self-contained skill | "review this diff" → /review skill |
| P2 | Specialist agent | Domain-specific agent exists | "security audit" → security-reviewer |
| P3a | Boss direct | 2–4 independent agents | "fix 3 bugs" → parallel spawn |
| P3b | Sub-orchestrator | Complex multi-step workflow | "refactor + test" → Sisyphus |
| P4 | Fallback | No specialist matches | "explain this" → general agent |
| Complexity | Model | Used For |
|---|---|---|
| Deep analysis, architecture | gpt-6-astra (high/xhigh reasoning) | Boss, Oracle, Sisyphus, Atlas |
| Standard implementation | gpt-5.6-sol (medium) | executor, debugger, test-engineer |
| Quick lookup, exploration | gpt-5.6-terra (low) | explore, simple advisory |
For end-to-end feature implementation, Boss orchestrates a structured sprint:
Phase 1: DESIGN Phase 2: EXECUTE Phase 3: REVIEW
(interactive) (autonomous) (interactive)
───────────────────── ───────────────────── ─────────────────────
User decides scope executor runs tasks Compare vs design doc
Engineering review Auto code review Present comparison table
Confirm "design done" Architect verification User: approve / improve
Boss closes every working turn — any turn that edited files, made commits/PRs, changed configuration, or ran verification — with a structured final report the reader can scan without opening a diff. The report is assembled from five fixed tables, each emitted only when its situation actually occurred (never an empty table):
| Situation | Table | Columns |
|---|---|---|
| Files/settings changed | Changes | Target / Before / After / Rationale |
| Multiple tasks completed | Work summary | Item / Result / Evidence |
| Verification was run | Verification | Item / Expected / Actual / Verdict |
| Commits/PRs produced | Deliverables | PR / Repo / Content / Status |
| Anything unresolved | Remaining | Item / Status / Next step |
It fires only at the very end of the request — never on a turn that launches or relays background work, never as a mid-task progress update — and pure Q&A turns end normally without it. The spec ships in boss.toml's developer instructions and in ~/.codex/AGENTS.md, so the main session sees it too. A Stop hook (hooks/stop-final-report.js) enforces it, mirroring the sibling my-claude: when a turn changed state but closed without a report table, the hook blocks that turn once and asks for the report.
┌─────────────────────────────────────────────────────┐
│ User Request │
└───────────────────────┬─────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ Boss · Meta-Orchestrator (gpt-6-astra xhigh) │
│ Discovery → Classification → Matching → Delegation │
└──┬──────────┬──────────┬──────────┬─────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌──────┐ ┌────────┐ ┌────────┐ ┌────────┐
│ P3a │ │ P3b │ │ P1/P2 │ │Config │
│Direct│ │Sub-orch│ │ Skill/ │ │Control │
│2-4 │ │Sisyphus│ │ Agent │ │config. │
│spawn │ │Atlas │ │ Direct │ │toml │
└──────┘ └────────┘ └────────┘ └────────┘
┌─────────────────────────────────────────────────────┐
│ Agent Layer (17 installed TOML files) │
│ Boss 1 · OMO 9 · OMX 7 │
│ + 2 opt-in agent packs (17 agents, off by default) │
├─────────────────────────────────────────────────────┤
│ Skills Layer (106: ECC + gstack + superpowers + more)│
│ coding-standards · security-scan · deep-research │
│ /review · /qa · /cso · /ship │
├─────────────────────────────────────────────────────┤
│ MCP Layer │
│ Context7 · Exa · grep.app · Serena · Headroom │
└─────────────────────────────────────────────────────┘
| Category | Count | Source |
|---|---|---|
| Core agents (always loaded) | 17 | Boss 1 + OMO 9 + OMX 7 |
| Agent packs (opt-in, none enabled by default) | 17 | 2 vendored categories: data-ai 13 + llmops 4 |
| Skills | 106 | ECC 61 · gstack 27 · Superpowers 13 · Core 4 · archify 1 |
| MCP Servers | 5 | Context7, Exa, grep.app, Serena, Headroom |
| config.toml | 1 | my-codex |
| AGENTS.md | 1 | my-codex |
Core Agent — Boss meta-orchestrator (1)
| Agent | Model | Role | Source |
|---|---|---|---|
| Boss | gpt-6-astra xhigh | Dynamic runtime discovery → capability matching → optimal routing. Never writes code. | my-codex |
OMO Agents — Sub-orchestrators and specialists (9)
| Agent | Model | Role | Source |
|---|---|---|---|
| Sisyphus | gpt-6-astra high | Intent classification → specialist delegation → verification | oh-my-openagent |
| Hephaestus | gpt-6-astra high | Autonomous explore → plan → execute → verify | oh-my-openagent |
| Atlas | gpt-6-astra high | Task decomposition + 4-stage QA verification | oh-my-openagent |
| Oracle | gpt-6-astra xhigh | Strategic technical consulting (read-only) | oh-my-openagent |
| Metis | gpt-6-astra high | Intent analysis, ambiguity detection | oh-my-openagent |
| Momus | gpt-6-astra high | Plan feasibility review | oh-my-openagent |
| Prometheus | gpt-6-astra xhigh | Interview-based detailed planning | oh-my-openagent |
| Librarian | gpt-5.6-sol medium | Open-source documentation search via MCP | oh-my-openagent |
| Multimodal-Looker | gpt-5.6-sol medium | Image/screenshot/diagram analysis | oh-my-openagent |
OMX Agents — Specialist workers (7)
Converted from oh-my-codex prompts/*.md to Codex TOML. Only the lanes templates/codex-AGENTS.md advertises are converted — the allowlist lives in scripts/skill-allowlists.sh.
| Agent | Sandbox | Role | Source |
|---|---|---|---|
| executor | workspace-write | Code implementation | oh-my-codex |
| planner | workspace-write | Implementation planning | oh-my-codex |
| architect | read-only | System design and architecture | oh-my-codex |
| test-engineer | workspace-write | Test strategy and coverage | oh-my-codex |
| security-reviewer | read-only | Security analysis | oh-my-codex |
| code-reviewer | read-only | Focused code review | oh-my-codex |
| debugger | workspace-write | Root cause analysis | oh-my-codex |
Agent Packs — Opt-in AI specialists (2 packs, 17 agents)
Vendored from awesome-codex-subagents (MIT) into codex-agents/packs/ and installed to ~/.codex/agent-packs/. No pack is enabled by default — opt in explicitly:
# View current state
~/.codex/bin/my-codex-packs status
# Enable a pack immediately
~/.codex/bin/my-codex-packs enable data-ai
# Switch profiles at install time
bash /tmp/my-codex/install.sh --profile minimal # no packs
bash /tmp/my-codex/install.sh --profile dev # data-ai + llmops
bash /tmp/my-codex/install.sh --profile full # every installed pack| Pack | Count | Agents |
|---|---|---|
| data-ai | 13 | ai-engineer, data-analyst, data-engineer, data-scientist, database-optimizer, llm-architect, machine-learning-engineer, ml-engineer, mlops-engineer, nlp-engineer, postgres-pro, prompt-engineer, reinforcement-learning-engineer |
| llmops | 4 | ai-observability-engineer, eval-engineer, hallucination-investigator, prompt-regression-tester |
Skills — 106 from 5 sources
Curated per-skill allowlists live in scripts/skill-allowlists.sh — that file is the authority for what ships.
| Source | Count | Key Skills |
|---|---|---|
| everything-claude-code | 61 | coding-standards, python-testing, api-design, deep-research |
| gstack | 27 | /qa, /review, /ship, /cso, /investigate, /office-hours |
| superpowers | 13 | brainstorming, systematic-debugging, TDD, writing-plans |
| my-codex Core | 4 | boss-advanced, boss-briefing, briefing-vault, gstack-sprint |
| archify | 1 | archify (architecture / workflow / sequence / data-flow / lifecycle diagrams) |
gstack is counted as 26 allowlisted skills plus the repo root entry; the whole gstack repo also lives at ~/.codex/skills/gstack as its canonical runtime tree.
A further 18 ECC web/UI skills (React, Vue, Nuxt, Nest, motion, a11y, E2E) sit in an optional lane that is off by default, because every installed skill spends context in every session. Add them with bash install.sh --skills=web; the choice persists in ~/.codex/enabled-skill-lanes.txt.
Codex ships no document skills — there is no pdf, docx, pptx, or xlsx skill in this bundle.
MCP Servers (3)
| Server | Purpose | Cost |
|---|---|---|
| Real-time library documentation | Free | |
| Semantic web search | Free 1k req/month | |
| GitHub code search | Free |
Obsidian-compatible persistent memory. Every project maintains a .briefing/ directory that updates during Codex sessions via native plugin hooks, with wrapper fallback for session start/end continuity.
.briefing/
├── INDEX.md ← Project context (auto-created once)
├── state.json ← Session metadata, counters, lastVaultSync (auto-managed)
├── sessions/
│ ├── YYYY-MM-DD-<topic>.md ← Human/agent-written follow-up session summary
│ └── YYYY-MM-DD-auto.md ← Auto-generated scaffold (recorded files, filtered status, follow-up)
├── decisions/
│ └── YYYY-MM-DD-<decision>.md ← Human/agent-written decision record
├── learnings/
│ ├── YYYY-MM-DD-<pattern>.md ← Human/agent-written learning note
│ └── YYYY-MM-DD-auto-session.md ← Auto-generated scaffold (files, wrapper activity, prompts)
├── references/
│ └── auto-links.md ← Reserved for collected research links
├── archives/ ← PARA: completed/inactive notes (flat)
├── wiki/ ← LLM-wiki: concept pages
│ └── _schema.md
├── agents/
│ ├── agent-log.jsonl ← Wrapper/session log
│ └── YYYY-MM-DD-summary.md ← Daily logged-signal breakdown
└── persona/
├── profile.md ← Routing/profile summary from logged signals
├── suggestions.jsonl ← Routing suggestions (auto-generated)
├── persona-policy.json ← Accepted soft routing preferences for Boss
└── rules/ ← Workflow pattern rules (workflow-*.md)
| Path | Description |
|---|---|
INDEX.md |
Project overview with links to recent decisions and learnings. Auto-created on first session, refreshed periodically. |
sessions/ |
Session summaries. *-auto.md — auto-generated scaffold refreshed during the session and finalized at stop using recorded session files, filtered status, and logged signals. <topic>.md — human or agent-written follow-up session summary prompted by the vault reminders. |
decisions/ |
Architecture and design decisions with rationale. Write these as durable notes when a decision is important enough to keep. |
learnings/ |
Patterns, gotchas, non-obvious solutions. *-auto-session.md — auto-generated scaffold refreshed during the session with the session's recorded file list, logged signals, and prompts for follow-up notes. <topic>.md — human or agent-written learning note. |
references/ |
Web research URLs. references/auto-links.md is updated from WebSearch/WebFetch hook activity when those native Codex hooks are available. |
agents/ |
Logged session signals. agent-log.jsonl — enriched entries with {ts, agent_id, agent_type, phase, seq, task_hint}. YYYY-MM-DD-summary.md — daily logged-signal breakdown derived from that log. |
persona/ |
User work style profile. profile.md — routing/profile summary derived from logged signals. suggestions.jsonl — routing recommendations. persona-policy.json — accepted soft routing preferences. rules/workflow-*.md — workflow sequence pattern rules proposed by /boss-briefing. |
state.json |
Session metadata: counters, lastVaultSync, sessionStartHead. Auto-managed by hooks. |
archives/ |
PARA Archives — completed sessions (30+ days), superseded decisions, inactive learnings |
wiki/ |
LLM-wiki concept pages — distilled knowledge from multiple sessions |
BriefingVault v2 integrates three knowledge management methodologies:
| Methodology | Applied As |
|---|---|
| PARA (Tiago Forte) | Directory structure: sessions=Projects, decisions=Areas, references=Resources, archives=Archives |
| Zettelkasten (Luhmann) | Atomic notes in learnings/, unique IDs (YYYYMMDDHHMMSS), enforced [[wiki-links]] |
| LLM-wiki (Karpathy) | Concept pages in wiki/ — auto-suggested when keywords appear 3+ times |
Codex CLI session-end hooks automatically:
- Suggest archiving notes older than 30 days
- Propose wiki pages for frequently mentioned concepts
- Generate unique Zettelkasten IDs for new notes
At session start, my-codex saves the current git HEAD and a snapshot of the working tree state. During the session, native Codex hooks refresh .briefing scaffolds after prompts, edits, searches, and subagent completions. At session end, the final scaffold summarizes diff and status only for recorded paths, while filtering hook-created noise such as .briefing/ artifacts and session-start .gitignore edits.
This keeps the scaffold focused on session-owned work instead of dumping the entire repository status. For non-git projects, a YYYY-MM-DD:cwd identifier is used as fallback.
- Open Obsidian → Open folder as vault → select
.briefing/ - Notes appear in graph view, linked by
[[wiki-links]] - YAML frontmatter (
date,type,tags) enables structured search - Timeline scaffolds for sessions and learnings build automatically; follow-up summaries, decisions, and learning notes accumulate as you write them
Run /boss-briefing during or at the end of a session to:
- Sync vault: Update profile.md, INDEX.md, and agent summaries
- Detect workflow patterns: Analyze temporal agent call sequences across sessions
- Recover from gaps: Generate recovery summaries if days have passed since the last session
- Propose persona rules: Suggest workflow-based routing preferences (not just frequency)
- Validate session notes: Check that today's session has a proper summary
The Stop hook checks whether /boss-briefing has run today. If not, it blocks session end with a reminder. The existing stop-profile-update.js continues to run as a fallback.
| Hook | Event | Behavior |
|---|---|---|
| Session Setup | SessionStart | Auto-detects tools + injects Briefing Vault context |
| Delegation Guard | PreToolUse | Blocks Boss from directly modifying files |
| Agent Telemetry | PostToolUse | Logs agent usage to analytics |
| Vault Enforcer | PostToolUse | Counts edits, warns if no vault entries |
| Subagent Logger | SubagentStop | Logs agent execution to Briefing Vault |
| Vault Reminder | UserPromptSubmit | Suggests /boss-briefing after 5+ messages |
| Completion Check | Stop | Runs profile fallback + guards /boss-briefing |
| Final Report Gate | Stop | Blocks the turn once if work happened but no final-report table was emitted |
Codex loads these from ~/.codex/hooks.json and only when features.hooks = true, so install.sh writes the file at that path and sets the flag under [features] in config.toml. On the next interactive Codex start you are asked once to review and trust the hooks — choose "Trust all and continue". Until you do, none of them run.
my-codex tracks 5 upstream submodules, plus one vendored snapshot, two adapted/sister projects, two companion CLIs, and four MCP servers:
| # | Source | Method | What It Provides |
|---|---|---|---|
| 1 | submodule | 61 allowlisted skills across development workflows. Claude Code-specific content stripped; generic coding skills retained. | |
| 2 | submodule | 27 skills for code review, QA, security audit, deployment. Includes Playwright browser daemon. | |
| 3 | submodule | 7 allowlisted worker agents (executor, planner, architect, test-engineer, security-reviewer, code-reviewer, debugger), converted from Markdown prompts to Codex TOML. | |
| 4 | submodule | 13 skills covering brainstorming, TDD, systematic debugging, and plan writing. No agents installed. | |
| 5 | submodule (tag v2.9.0) |
The archify skill: architecture, workflow, sequence, data-flow, and lifecycle diagrams rendered as standalone HTML with inline SVG. Only the repo's archify/ directory is installed. |
|
| 6 | vendored (MIT) | 17 AI/LLM agents snapshotted into codex-agents/packs/ as 2 opt-in packs (data-ai 13, llmops 4). Submodule removed 2026-07-27. |
|
| 7 | removed (MIT) | No agent from these packs was ever spawned in this repo, so nothing was vendored. Submodule removed 2026-07-27. | |
| 8 | adapted | 9 OMO agents (Sisyphus, Atlas, Oracle, etc.). Adapted to Codex-native TOML format and maintained in-repo. | |
| 9 | sister project | Same Boss orchestration in native Claude .md agent format. Skills, rules, and briefing vault shared across both projects. |
|
| 10 | npm CLI (MIT) | Local-first token/cost tracker. Parses ~/.codex/sessions read-only — no proxy, no upload. Installed by install.sh (pinned codeburn@0.9.23), registered in upstream/SOURCES.json as method: npm-cli. No hooks on Codex. |
|
| 11 | uv tool + MCP | Symbol-level code navigation and editing over MCP. Installed as serena-agent==1.7.0, registered as [mcp_servers.serena]. Licensed GPL-3.0-or-later as a whole — the package combines the GPL application with MIT SolidLSP, and PyPI’s MIT metadata is inaccurate. Installed as a standalone tool, never vendored. |
|
| 12 | uv tool + MCP | Context compression over MCP (headroom_compress, headroom_retrieve, headroom_stats). Installed as headroom-ai[all]==0.37.0, registered as [mcp_servers.headroom] with default_tools_approval_mode = "approve" (headroom publishes no MCP annotations, so Codex’s default auto mode would prompt for approval on every call). The headroom wrap proxy works but is not automated; the Where to See Results table documents the manual opt-in. Apache-2.0. |
|
| 13 | npm CLI (MIT) | Structural code search and rewrite. Installed by install.sh (pinned @ast-grep/cli@0.42.0). |
|
| 14 | hosted MCP | Up-to-date library documentation. Registered by install.sh at https://mcp.context7.com/mcp. |
|
| 15 | hosted MCP | Neural web search. Registered at https://mcp.exa.ai/mcp?tools=web_search_exa. |
|
| 16 | hosted MCP | Cross-repository code search. Registered at https://mcp.grep.app. |
Every submodule is SHA-pinned in upstream/SOURCES.json (AI-BOM) — companion CLIs (ast-grep, codeburn) and MCP servers (serena, headroom) are version-pinned there too — which also records the two removed submodules (agency-agents — nothing vendored; awesome-codex-subagents — 17 agents vendored).
Every installed tool writes its output somewhere. This is where.
| Tool | What it does | How to run | Where to see results |
|---|---|---|---|
| codeburn | Token/cost accounting per task, tool, model, project | codeburn (interactive dashboard); codeburn web --provider codex (local browser dashboard; add --no-open to print the URL without opening a tab); non-interactive: codeburn report --format json --period week --provider codex (also --day, --from/--to) |
Terminal TUI, or browser dashboard at http://127.0.0.1:4747, or JSON on stdout with --format json. Reads ~/.codex/sessions read-only and prices it from public list rates, so figures are estimates, not an invoice. |
| Serena | Symbol-level code navigation and editing over MCP | Started by Codex from [mcp_servers.serena]; tools appear as get_symbols_overview, find_symbol, find_referencing_symbols, replace_symbol_body, insert_after_symbol |
Live dashboard and tool-call stats at http://localhost:24282/dashboard/index.html while a server is running. Per-project index and memories under <repo>/.serena/. The browser does not auto-open (--open-web-dashboard False). |
| Headroom | Compresses oversized tool output, retrieves the original on demand | Started by Codex from [mcp_servers.headroom] (headroom mcp serve); tools are headroom_compress, headroom_retrieve, headroom_stats |
headroom_stats from inside a session; headroom doctor from a shell. Proxy mode is off by default because Codex cannot reach the API while the proxy is down, not because a subscription login blocks it — it works. To opt in: run headroom proxy --port 8787 in one terminal, then launch Codex per headroom wrap codex --help, which sets OPENAI_BASE_URL and registers the MCP server in your Codex config. Proxy stats are at http://127.0.0.1:8787/stats, with headroom dashboard and headroom perf for savings and latency once traffic has flowed through it; headroom doctor reports codex: not routed while it is off. |
| Archify | Architecture / workflow / sequence / data-flow / lifecycle diagrams | From ~/.codex/skills/archify: node bin/archify.mjs render <type> <input>.json <output>.html, then node bin/archify.mjs check <output>.html |
The <output>.html you named — one self-contained file with inline SVG, a dark/light toggle, and PNG/JPEG/WebP/SVG export. Open it in a browser. The skill's own examples/*.json are worked inputs to copy from. |
| Workflow | Trigger | Purpose |
|---|---|---|
| CI | push, PR | Validates TOML agent files, skill existence, and upstream file counts |
| Smoke Tests | push, PR | hooks, shell, drift, and routing-refs jobs — hook wiring, shell syntax, model drift, and AGENTS.md routing references |
| Update Upstream | every 3 days / manual | Security-gated git submodule update --remote, refreshes upstream/SOURCES.json pins, and creates an auto-merge PR |
| Auto Tag | push to main | Reads version from config.toml and creates git tag if new |
| Pages | push to main | Deploys docs/index.html to GitHub Pages |
| CLA | PR | Contributor License Agreement check |
| Lint Workflows | push, PR | Validates GitHub Actions workflow YAML syntax |
Features built specifically for this project, beyond what upstream sources provide:
| Feature | Description |
|---|---|
| Boss Meta-Orchestrator | Dynamic capability discovery → intent classification → 4-priority routing → delegation → verification |
| 3-Phase Sprint | Design (interactive) → Execute (autonomous via executor) → Review (interactive vs design doc) |
| Agent Tier Priority | core > omo > omx > opt-in packs. Pack agents are skipped if their name collides with an already-installed agent. Most specialized agent wins. |
| Cost Optimization | gpt-5.6-terra for lookups, gpt-5.6-sol for implementation, gpt-6-astra for architecture and review — automatic model routing across all 34 installed agents |
| Briefing Signals | Wrapper/session logging feeds .briefing/agents/agent-log.jsonl, daily summaries, and routing/profile hints |
| Smart Packs | Project-type detection recommends relevant agent packs at session start |
| Agent Pack System | On-demand domain specialist activation via --profile and my-codex-packs helper |
| Codex Attribution | git hooks record Codex-touched files and append AI-Contributed-By: Codex to commit messages |
| CI Dedup Detection | Automated duplicate TOML agent detection across upstream syncs |
git clone --depth 1 https://github.com/sehoon787/my-codex.git /tmp/my-codex
bash /tmp/my-codex/install.sh
rm -rf /tmp/my-codexRe-running the same command refreshes to the latest main build, replaces only my-codex-managed files in ~/.codex/, and removes stale skill copies from ~/.agents/skills/.
Packs are installed but inactive by default — a fresh install enables none of them and records the empty set in ~/.codex/enabled-agent-packs.txt. Opt in per pack, or pick a profile:
# Enable one pack immediately
~/.codex/bin/my-codex-packs enable data-ai
# Minimal profile (core agents only, no packs — the default)
bash /tmp/my-codex/install.sh --profile minimal
# Dev profile (data-ai + llmops)
bash /tmp/my-codex/install.sh --profile dev
# Full profile (all 2 installed pack categories enabled)
bash /tmp/my-codex/install.sh --profile fullinstall.sh installs a codex wrapper plus global git hooks in ~/.codex/git-hooks/:
prepare-commit-msg— Records files changed during a real Codex sessioncommit-msg— AppendsGenerated with Codex CLI: https://github.com/openai/codexwhen staged files intersect the recorded change setpost-commit— AddsAI-Contributed-By: Codextrailer to qualifying commits
Opt-in Co-authored-by trailer: set both git config --global my-codex.codexContributorName '<label>' and my-codex.codexContributorEmail '<github-linked-email>'. Disable entirely: git config --global my-codex.codexAttribution false. my-codex does not change git user.name, git user.email, or commit author identity.
Every agent is a native TOML file in ~/.codex/agents/:
name = "debugger"
description = "Focused debugging specialist — traces failures to root cause"
model = "gpt-5.6-sol"
model_reasoning_effort = "medium"
[developer_instructions]
content = """
You are a debugging specialist. Analyze failures systematically:
1. Reproduce the issue
2. Isolate the root cause
3. Propose a minimal fix
4. Verify the fix does not break adjacent behavior
"""Global Codex settings in ~/.codex/config.toml:
[agents]
max_threads = 8
max_depth = 1max_threads— Maximum concurrent sub-agentsmax_depth— Maximum nesting depth for agent-spawns-agent chains
Upstream sources managed as git submodules. Pinned commits tracked in .gitmodules.
| Source | Sync |
|---|---|
| everything-claude-code | submodule (upstream/ecc) |
| gstack | submodule (upstream/gstack) |
| oh-my-codex | submodule (upstream/omx) |
| superpowers | submodule (upstream/superpowers) |
| archify | submodule (upstream/archify, tag v2.9.0) |
| awesome-codex-subagents | vendored snapshot (submodule removed 2026-07-27) |
How is my-codex different from my-claude?
my-codex and my-claude share the same Boss orchestration architecture and upstream skill sources. The key difference is the runtime: my-codex targets OpenAI Codex CLI with native .toml agent format and spawn_agent delegation, while my-claude targets Claude Code with .md agent format and the Agent tool.
Can I use both my-codex and my-claude?
Yes. They install to separate directories (~/.codex/ and ~/.claude/) and do not conflict. Skills from shared upstream sources are adapted for each platform.
How do agent packs work?
Agent packs are domain-specific agent collections installed to ~/.codex/agent-packs/. Two packs ship today — data-ai (13) and llmops (4) — and none is enabled on install. Use my-codex-packs enable <pack> to activate one, or reinstall with --profile full to enable both categories.
How does upstream sync work?
A GitHub Actions workflow runs every 3 days, pulling the latest commits from the 4 branch-tracked upstream submodules (upstream/archify is tag-pinned and bumped deliberately), refreshing the SHA pins in upstream/SOURCES.json, and creating a security-gated auto-merge PR. You can also trigger it manually from the Actions tab.
What models does my-codex use?
Boss and sub-orchestrators (Sisyphus, Atlas, Oracle) use gpt-6-astra with high reasoning effort (Boss, Oracle, and Prometheus at xhigh). Standard workers use gpt-5.6-sol with medium reasoning. Lightweight advisory agents use gpt-5.6-terra.
Skills consume the SKILL.md standard as-is with no transformation; only agents are converted to Codex TOML, and the model tier for that conversion is managed from a single file, scripts/model-tiers.sh. When Codex ships its next model generation, update only that file — scripts/md-to-toml.sh and install.sh both source it.
If a tool reports invalid SKILL.md files under ~/.agents/skills/, the most common cause is a stale local copy or stale symlink target from an older install.
Remove the affected directories from ~/.agents/skills/ and matching entries under ~/.claude/skills/, then reinstall:
npx skills add sehoon787/my-codex -y -gIf you use the full Codex bundle, rerun install.sh once as well. The full installer refreshes ~/.codex/skills/ and removes stale my-codex-managed copies under ~/.agents/skills/.
Issues and PRs are welcome. When adding a new agent, add a .toml file to codex-agents/core/ or codex-agents/omo/ and update the agent list in SETUP.md. See CONTRIBUTING.md for PR validation steps and Codex commit attribution behavior.
Built on the work of: my-claude (sehoon787), everything-claude-code (affaan-m), gstack (garrytan), oh-my-codex (Yeachan Heo), superpowers (Jesse Vincent), awesome-codex-subagents (VoltAgent), oh-my-openagent (code-yeongyu), openai/skills (OpenAI).
MIT License. See the LICENSE file for details.