{"id":"0f050a8f-ce84-4ab3-9f33-93851318f125","slug":"claude-codex-orchestrator","kind":"skill","name":"claude-codex-orchestrator","summary":"Claude plans & verifies, Codex executes — an orchestrator/executor split for Claude Code.","owner":"vimoxshah","repoUrl":"https://github.com/vimoxshah/claude-codex-orchestrator","license":"MIT","licenseTier":"permissive","trust":"community","stars":6,"match":null,"fewStars":false,"format":"skill","createdAt":"2026-07-18T06:40:09.000Z","addedAt":"2026-10-21T14:31:53.689Z","logoUrl":"https://avatars.githubusercontent.com/u/10022243?u=2505c80d3d96a8a225500173bbe2d5cccc8ce689&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["developer-tools"],"tags":["ai-agents","claude","claude-code","code-generation","codex","developer-tools","orchestration"],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-26T02:57:34.921Z","sample":false,"url":"https://conduits.dev/tools/claude-codex-orchestrator","language":"","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# claude-codex-orchestrator\n\n> **Claude plans and verifies. Luna handles most bounded execution, Terra handles implementation judgment, and Sol handles the toughest work.**\n\n![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)\n![Claude Code](https://img.shields.io/badge/Claude%20Code-skill-6366f1)\n![Codex](https://img.shields.io/badge/Codex-Luna%20%E2%86%92%20Terra%20%E2%86%92%20Sol-10b981)\n\n![How claude-codex-orchestrator works](diagram.svg)\n\n## Why\n\nClaude is the orchestrator and accepting judge. Codex is the execution surface. The router spends the narrowest capable model on each frozen packet:\n\n- **Luna Max** for most fully specified, deterministic implementation;\n- **Luna Max Fast** when latency materially matters;\n- **Terra High** when localized implementation judgment remains;\n- **Sol High** for architecture-sensitive, security, contract, concurrency, or other highest-risk work;\n- **Sol review/rescue** for read-only review and stuck-task diagnosis.\n\nUnresolved product and architecture decisions stay with Claude, as does final verification.\n\n## The loop\n\n1. **Plan** — Claude resolves intent and decomposes the work.\n2. **Preflight** — each cold packet is decision-complete and at most 12 KiB; source stays in the worktree and is referenced by path and symbol.\n3. **Dispatch** — invoke one direct profile, or use the opt-in Sol-led `orchestrated` profile for a large frozen work order.\n4. **Execute** — Luna routes to Terra when a decision appears; Terra routes to Sol at a high-risk boundary.\n5. **Review and verify** — Codex may provide a read-only first review, but Claude inspects the diff and reruns the proof before accepting it.\n\nThe bounded packet preflight prevents the repeated oversized handoff and guessed chunk-size loop reported in [issue #6](https://github.com/vimoxshah/claude-codex-orchestrator/issues/6).\n\n## Direct profiles\n\n| Profile | Model and effort | Tier | Use |\n| --- | --- | --- | --- |\n| `luna-worker` | `gpt-5.6-luna` max | default | Default fully specified executor |\n| `luna-fast-worker` | `gpt-5.6-luna` max | fast | Urgent fully specified executor |\n| `terra-implementer` | `gpt-5.6-terra` high | default | Localized implementation judgment |\n| `sol-implementer` | `gpt-5.6-sol` high | default | Toughest/highest-risk implementation |\n| `sol-review` | `gpt-5.6-sol` high | default | Read-only review |\n| `sol-rescue` | `gpt-5.6-sol` xhigh | default | Stuck-task diagnosis |\n\nFor one packet, call the selected profile directly. Do not launch a Sol coordinator merely to spawn one worker.\n\nFor a large frozen work order, `--profile orchestrated` activates a Sol coordinator that can route to five custom agents: `luna_worker`, `luna_fast_worker`, `terra_implementer`, `sol-implementer`, and `sol-reviewer`.\n\n## Prerequisites\n\n1. [Claude Code](https://claude.com/claude-code).\n2. The OpenAI Codex CLI, authenticated with a ChatGPT Codex account.\n3. The official OpenAI Codex plugin for Claude Code if you want `/codex:setup` and `/codex:rescue`:\n\n   ```text\n   /plugin marketplace add openai/codex-plugin-cc\n   /plugin install codex@openai-codex\n   ```\n\nThe normal Luna, Terra, and Sol implementation lanes use direct `codex exec --profile ...` invocation. The companion cannot carry a profile, service tier, or Luna's `max` effort, so use it only where the skill explicitly permits it.\n\n## Install\n\nWhen upgrading from the former `daily` / `hard` / `mech` layout, move only its nine replaced files out of Codex discovery first. This backup is recoverable and leaves every unrelated setting untouched:\n\n```bash\nlegacy_dir=~/.codex/legacy-claude-codex-orchestrator\nmkdir -p \"$legacy_dir/agents\"\n\nfor legacy_file in daily.config.toml hard.config.toml review.config.toml rescue.config.toml mech.config.toml escalate.config.toml; do\n  test ! -e ~/.codex/\"$legacy_file\" || mv ~/.codex/\"$legacy_file\" \"$legacy_dir/\"\ndone\n\nfor legacy_agent in fast-worker.toml impl-worker.toml reviewer.toml; do\n  test ! -e ~/.codex/agents/\"$legacy_agent\" || mv ~/.codex/agents/\"$legacy_agent\" \"$legacy_dir/agents/\"\ndone\n```\n\nThen install the current files:\n\n```bash\nmkdir -p ~/.claude/skills/codex-orchestrator\ncp SKILL.md ~/.claude/skills/codex-orchestrator/SKILL.md\ncp ROUTING.md ~/.claude/CLAUDE-CODEX-ROUTING.md\n\ncp codex-profiles/*.config.toml ~/.codex/\nmkdir -p ~/.codex/agents\ncp codex-profiles/agents/*.toml ~/.codex/agents/\n```\n\nMerge the two keys from [`codex-profiles/config.base.example.toml`](codex-profiles/config.base.example.toml) only when they are missing; do not replace the rest of `~/.codex/config.toml`.\n\nA repository-local `CLAUDE-CODEX-ROUTING.md` overrides the global routing policy wholesale. The complete mechanics live in [`SKILL.md`](SKILL.md), and the installable global policy is [`ROUTING.md`](ROUTING.md).\n\n## Examples\n\n### Frozen mechanical migration\n\n\"Rename `getUser()` to `fetchUser()` everywhere and update call sites\" has no remaining design decision. Claude prepares one bounded packet and dispatches `luna-worker`. If latency materially matters, it selects `luna-fast-worker` instead.\n\n### Feature with localized judgment\n\n\"Implement the planned CSV export across these files\" may leave serializer and error-handling choices inside an existing contract. Claude dispatches `terra-implementer` and verifies the resulting diff and tests.\n\n### Highest-risk implementation\n\nA public API contract, auth boundary, or distributed coordination change routes to `sol-implementer` only after Claude freezes the intended contract.\n\n### Large frozen work order\n\nClaude sends one bounded orchestration packet through `--profile orchestrated`. The Sol coordinator forwards exact sub-packets to Luna, Terra, or Sol, requests `sol-reviewer`, and assembles. Claude still gives the final verdict.\n\n### Oversized handoff\n\nClaude writes the packet once, measures it locally, replaces pasted source and logs with file locators, and semantically splits it if necessary. It never calls Codex repeatedly with guessed chunk sizes.\n\n## Design principles\n\n- **Decision-complete, not source-complete.** Codex reads the worktree.\n- **Luna by default for frozen execution.** Terra handles judgment; Sol handles the highest risk.\n- **The transport must carry the lane.** Report the model, effort, and service tier actually used.\n- **The diff is ground truth.** Executor reports are claims until Claude reproduces them.\n- **No blind third retry.** Escalate with evidence or decompose.\n- **Publication authority stays explicit.** Workers do not commit, push, release, or mutate external systems unless separately authorized.\n\nThis project is separate from [`claude-router`](https://github.com/vimoxshah/claude-router), which routes across Claude model tiers.\n\n## License\n\n[MIT](LICENSE) © Vimox Shah\n"}