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://github.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://github.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-5.6 (high reasoning) | Boss, Oracle, Sisyphus, Atlas |
| Standard implementation | gpt-5.6-terra (medium) | executor, debugger, security-reviewer |
| Quick lookup, exploration | gpt-5.6-luna (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
┌─────────────────────────────────────────────────────┐
│ User Request │
└───────────────────────┬─────────────────────────────┘
▼
┌─────────────────────────────────────────────────────┐
│ Boss · Meta-Orchestrator (gpt-5.6 high) │
│ 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 (123 from ECC + gstack + superpowers) │
│ coding-standards · security-scan · deep-research │
│ /review · /qa · /cso · /ship │
├─────────────────────────────────────────────────────┤
│ MCP Layer │
│ Context7 · Exa · grep.app │
└─────────────────────────────────────────────────────┘
| 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 | 123 | ECC 79 · gstack 27 · Superpowers 13 · Core 4 |
| MCP Servers | 3 | Context7, Exa, grep.app |
| config.toml | 1 | my-codex |
| AGENTS.md | 1 | my-codex |
Core Agent — Boss meta-orchestrator (1)
| Agent | Model | Role | Source |
|---|---|---|---|
| Boss | gpt-5.6 high | 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-5.6 high | Intent classification → specialist delegation → verification | oh-my-openagent |
| Hephaestus | gpt-5.6 high | Autonomous explore → plan → execute → verify | oh-my-openagent |
| Atlas | gpt-5.6 high | Task decomposition + 4-stage QA verification | oh-my-openagent |
| Oracle | gpt-5.6 high | Strategic technical consulting (read-only) | oh-my-openagent |
| Metis | gpt-5.6 high | Intent analysis, ambiguity detection | oh-my-openagent |
| Momus | gpt-5.6 high | Plan feasibility review | oh-my-openagent |
| Prometheus | gpt-5.6 high | Interview-based detailed planning | oh-my-openagent |
| Librarian | gpt-5.6-terra medium | Open-source documentation search via MCP | oh-my-openagent |
| Multimodal-Looker | gpt-5.6-terra 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 — 123 from 4 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 | 79 | 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 |
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.
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 |
| Teammate Guide | TeammateIdle | Prompts leader on idle teammates |
| Quality Gate | TaskCompleted | Verifies deliverable quality |
my-codex tracks 4 upstream submodules, plus one vendored snapshot and two adapted/sister projects:
| # | Source | Method | What It Provides |
|---|---|---|---|
| 1 | submodule | 79 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 | 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. |
|
| 6 | adapted | 9 OMO agents (Sisyphus, Atlas, Oracle, etc.). Adapted to Codex-native TOML format and maintained in-repo. | |
| 7 | sister project | Same Boss orchestration in native Claude .md agent format. Skills, rules, and briefing vault shared across both projects. |
Every submodule is SHA-pinned in upstream/SOURCES.json (AI-BOM), which also records the two removed submodules (agency-agents — nothing vendored; awesome-codex-subagents — 17 agents vendored).
| 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-luna for advisory, gpt-5.6 for implementation — 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-terra"
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) |
| 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 all 4 upstream submodules, 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-5.6 with high reasoning effort. Standard workers use gpt-5.6-terra with medium reasoning. Lightweight advisory agents use gpt-5.6-luna.
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.