Codex Team The lead orchestrates, Codex agents execute. Each agent gets one focused task. The team lead prevents file conflicts before spawning — the orchestrator IS the lock manager. For Claude-runtime feature compatibility (agents/hooks/worktree/settings), use the shared contract at , mirrored locally at , when this skill falls back to . When to Use - You have 2+ tasks (bug fixes, implementations, refactors) - Tasks are well-scoped with clear instructions - You want Codex execution with predictable isolation - You may be in Claude or Codex runtime (skill auto-selects backend) Don't use when…

\"\ncheck \"SKILL.md has name: codex-team\" \"grep -q '^name: codex-team' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md mentions codex\" \"grep -qi 'codex' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md mentions parallel\" \"grep -qi 'parallel' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md mentions merge\" \"grep -qi 'merge' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md mentions multi-wave\" \"grep -qi 'multi-wave' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md mentions spawn\" \"grep -qi 'spawn' '$SKILL_DIR/SKILL.md'\"\ncheck \"SKILL.md documents output directory\" \"grep -q '\\.agents/codex-team/' '$SKILL_DIR/SKILL.md'\"\n\necho \"\"; echo \"Results: $PASS passed, $FAIL failed\"\n[ $FAIL -eq 0 ] && exit 0 || exit 1\n","content_type":"application/x-sh; charset=utf-8","language":"bash","size":1020,"content_sha256":"bb76fba8880a64b0d4fff08d4c2c01b7ca3b6232857957fb3b3831d893f1e971"}],"content_json":{"type":"doc","content":[{"type":"heading","attrs":{"level":1},"content":[{"text":"Codex Team","type":"text"}]},{"type":"paragraph","content":[{"text":"The lead orchestrates, Codex agents execute. Each agent gets one focused task. The team lead prevents file conflicts before spawning — the orchestrator IS the lock manager.","type":"text"}]},{"type":"paragraph","content":[{"text":"For Claude-runtime feature compatibility (agents/hooks/worktree/settings), use the shared contract at ","type":"text"},{"text":"skills/shared/references/claude-code-latest-features.md","type":"text","marks":[{"type":"code_inline"}]},{"text":", mirrored locally at ","type":"text"},{"text":"references/claude-code-latest-features.md","type":"text","marks":[{"type":"code_inline"}]},{"text":", when this skill falls back to ","type":"text"},{"text":"/swarm","type":"text","marks":[{"type":"code_inline"}]},{"text":".","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"When to Use","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"You have 2+ tasks (bug fixes, implementations, refactors)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Tasks are well-scoped with clear instructions","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"You want Codex execution with predictable isolation","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"You may be in Claude or Codex runtime (skill auto-selects backend)","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"Don't use when:","type":"text","marks":[{"type":"strong"}]},{"text":" Tasks need tight shared-state coordination. Use ","type":"text"},{"text":"/swarm","type":"text","marks":[{"type":"code_inline"}]},{"text":" for dependency-heavy wave orchestration.","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Backend Selection (MANDATORY)","type":"text"}]},{"type":"paragraph","content":[{"text":"Select backend in this order:","type":"text"}]},{"type":"ordered_list","attrs":{"order":1,"listStyle":"number"},"content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"spawn_agent","type":"text","marks":[{"type":"code_inline"}]},{"text":" available -> ","type":"text"},{"text":"Codex experimental sub-agents","type":"text","marks":[{"type":"strong"}]},{"text":" (preferred)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Codex CLI available -> ","type":"text"},{"text":"Codex CLI via Bash","type":"text","marks":[{"type":"strong"}]},{"text":" (","type":"text"},{"text":"codex exec ...","type":"text","marks":[{"type":"code_inline"}]},{"text":")","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"skill","type":"text","marks":[{"type":"code_inline"}]},{"text":" tool is read-only (OpenCode) -> ","type":"text"},{"text":"OpenCode subagents","type":"text","marks":[{"type":"strong"}]},{"text":" — ","type":"text"},{"text":"task(subagent_type=\"general\", prompt=\"\u003ctask prompt>\")","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"None of the above -> fall back to ","type":"text"},{"text":"/swarm","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Pre-Flight (CLI backend only)","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"# REQUIRED before spawning with Codex CLI backend\nif ! which codex > /dev/null 2>&1; then\n echo \"Codex CLI not found. Install: npm i -g @openai/codex\"\n # Fallback: use /swarm\nfi\n\n# Model availability test (uses the user's configured Codex default)\nif ! codex exec --full-auto -C \"$(pwd)\" \"echo ok\" > /dev/null 2>&1; then\n echo \"Default Codex model unavailable. Falling back to /swarm.\"\nfi","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Canonical Command","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"codex exec --full-auto -C \"$(pwd)\" -o \u003coutput-file> \"\u003cprompt>\"","type":"text"}]},{"type":"paragraph","content":[{"text":"Uses the user's default Codex model. Add ","type":"text"},{"text":"-m \"\u003cmodel>\"","type":"text","marks":[{"type":"code_inline"}]},{"text":" before ","type":"text"},{"text":"-C","type":"text","marks":[{"type":"code_inline"}]},{"text":" only when you intentionally want to pin a specific model.","type":"text"}]},{"type":"paragraph","content":[{"text":"Flag order: ","type":"text"},{"text":"--full-auto","type":"text","marks":[{"type":"code_inline"}]},{"text":" -> ","type":"text"},{"text":"-C","type":"text","marks":[{"type":"code_inline"}]},{"text":" -> ","type":"text"},{"text":"-o","type":"text","marks":[{"type":"code_inline"}]},{"text":" -> prompt (insert ","type":"text"},{"text":"-m","type":"text","marks":[{"type":"code_inline"}]},{"text":" before ","type":"text"},{"text":"-C","type":"text","marks":[{"type":"code_inline"}]},{"text":" only when overriding the model).","type":"text"}]},{"type":"paragraph","content":[{"text":"Valid flags:","type":"text","marks":[{"type":"strong"}]},{"text":" ","type":"text"},{"text":"--full-auto","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"-m","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"-C","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"-o","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"--json","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"--output-schema","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"--add-dir","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"-s","type":"text","marks":[{"type":"code_inline"}]}]},{"type":"paragraph","content":[{"text":"DO NOT USE:","type":"text","marks":[{"type":"strong"}]},{"text":" ","type":"text"},{"text":"-q","type":"text","marks":[{"type":"code_inline"}]},{"text":", ","type":"text"},{"text":"--quiet","type":"text","marks":[{"type":"code_inline"}]},{"text":" (don't exist)","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Cross-Project Tasks","type":"text"}]},{"type":"paragraph","content":[{"text":"When tasks span multiple repos/directories, use ","type":"text"},{"text":"--add-dir","type":"text","marks":[{"type":"code_inline"}]},{"text":" to grant access:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"codex exec --full-auto -C \"$(pwd)\" --add-dir /path/to/other/repo -o output.md \"prompt\"","type":"text"}]},{"type":"paragraph","content":[{"text":"The ","type":"text"},{"text":"--add-dir","type":"text","marks":[{"type":"code_inline"}]},{"text":" flag is repeatable for multiple additional directories.","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Progress Monitoring (optional)","type":"text"}]},{"type":"paragraph","content":[{"text":"Add ","type":"text"},{"text":"--json","type":"text","marks":[{"type":"code_inline"}]},{"text":" to stream JSONL events to stdout for real-time monitoring:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":"bash"},"content":[{"text":"codex exec --full-auto --json -C \"$(pwd)\" -o output.md \"prompt\" 2>/dev/null","type":"text"}]},{"type":"paragraph","content":[{"text":"Key events:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"turn.started","type":"text","marks":[{"type":"code_inline"}]},{"text":" / ","type":"text"},{"text":"turn.completed","type":"text","marks":[{"type":"code_inline"}]},{"text":" — track progress","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"turn.completed","type":"text","marks":[{"type":"code_inline"}]},{"text":" includes token ","type":"text"},{"text":"usage","type":"text","marks":[{"type":"code_inline"}]},{"text":" field","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"No events for 60s → agent likely stuck","type":"text"}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Sandbox Levels","type":"text"}]},{"type":"paragraph","content":[{"text":"Use ","type":"text"},{"text":"-s","type":"text","marks":[{"type":"code_inline"}]},{"text":" to control the sandbox:","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Level","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Flag","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Use When","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Read-only","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-s read-only","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Judges, reviewers (no file writes needed)","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Workspace write","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-s workspace-write","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Default with ","type":"text"},{"text":"--full-auto","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Full access","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-s danger-full-access","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Only in externally sandboxed environments","type":"text"}]}]}]}]},{"type":"paragraph","content":[{"text":"For code review and analysis tasks, prefer ","type":"text"},{"text":"-s read-only","type":"text","marks":[{"type":"code_inline"}]},{"text":" over ","type":"text"},{"text":"--full-auto","type":"text","marks":[{"type":"code_inline"}]},{"text":".","type":"text"}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Execution","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 1: Define Tasks","type":"text"}]},{"type":"paragraph","content":[{"text":"Break work into focused tasks. Each task = one Codex agent (unless merged).","type":"text"}]},{"type":"paragraph","content":[{"text":"For multi-agent work that needs interchangeable workers, file reservations, session mail, repeated passes, or tmux-backed coordination, read ","type":"text"},{"text":"references/fungible-agent-coordination.md","type":"text","marks":[{"type":"link","attrs":{"href":"references/fungible-agent-coordination.md","title":null}}]},{"text":" before dispatching.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 2: Analyze File Targets (REQUIRED)","type":"text"}]},{"type":"paragraph","content":[{"text":"Before spawning, identify which files each task will edit.","type":"text","marks":[{"type":"strong"}]},{"text":" Codex agents are headless — they can't negotiate locks or wait turns. All conflict prevention happens here.","type":"text"}]},{"type":"paragraph","content":[{"text":"For each task, list the target files. Then apply the right strategy:","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"File Overlap","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Strategy","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Action","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"All tasks touch same file","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Merge","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Combine into 1 agent with all fixes","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Some tasks share files","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Multi-wave","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Shared-file tasks go sequential across waves","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"No overlap","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Parallel","type":"text","marks":[{"type":"strong"}]}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Spawn all agents at once","type":"text"}]}]}]}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"# Decision logic (team lead performs this mentally):\n\ntasks = [\n {name: \"fix spec_path\", files: [\"cmd/zeus.go\"]},\n {name: \"remove beads field\", files: [\"cmd/zeus.go\"]},\n {name: \"fix dispatch counter\", files: [\"cmd/zeus.go\"]},\n]\n\n# All touch zeus.go → MERGE into 1 agent","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"tasks = [\n {name: \"fix auth bug\", files: [\"pkg/auth.go\"]},\n {name: \"add rate limiting\", files: [\"pkg/auth.go\", \"pkg/middleware.go\"]},\n {name: \"update config\", files: [\"internal/config.go\"]},\n]\n\n# Task 1 and 2 share auth.go → MULTI-WAVE (1+3 parallel, then 2)\n# Task 3 is independent → runs in Wave 1 alongside Task 1","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"tasks = [\n {name: \"fix auth\", files: [\"pkg/auth.go\"]},\n {name: \"fix config\", files: [\"internal/config.go\"]},\n {name: \"fix logging\", files: [\"pkg/log.go\"]},\n]\n\n# No overlap → PARALLEL (all 3 at once)","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 3: Spawn Agents","type":"text"}]},{"type":"paragraph","content":[{"text":"Strategy: Parallel (no file overlap)","type":"text","marks":[{"type":"strong"}]}]},{"type":"paragraph","content":[{"text":"Codex sub-agent backend (preferred):","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"spawn_agent(message=\"Fix the null check in pkg/auth.go:validateToken around line 89...\")\nspawn_agent(message=\"Add timeout field to internal/config.go:Config struct...\")\nspawn_agent(message=\"Fix log rotation in pkg/log.go:rotateLogFile...\")","type":"text"}]},{"type":"paragraph","content":[{"text":"Codex CLI backend:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"Bash(command='codex exec --full-auto -C \"$(pwd)\" -o .agents/codex-team/auth-fix.md \"Fix the null check in pkg/auth.go:validateToken around line 89...\"', run_in_background=true)\nBash(command='codex exec --full-auto -C \"$(pwd)\" -o .agents/codex-team/config-fix.md \"Add timeout field to internal/config.go:Config struct...\"', run_in_background=true)\nBash(command='codex exec --full-auto -C \"$(pwd)\" -o .agents/codex-team/logging-fix.md \"Fix log rotation in pkg/log.go:rotateLogFile...\"', run_in_background=true)","type":"text"}]},{"type":"paragraph","content":[{"text":"Strategy: Merge (same file)","type":"text","marks":[{"type":"strong"}]}]},{"type":"paragraph","content":[{"text":"Combine all fixes into a single agent prompt:","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"spawn_agent(message=\"Fix these 3 issues in cmd/zeus.go: (1) rename spec_path to spec_location in QUEST_REQUEST payload (2) remove beads field (3) fix dispatch counter increment location\")\n\n# CLI equivalent:\nBash(command='codex exec --full-auto -C \"$(pwd)\" -o .agents/codex-team/zeus-fixes.md \\\n \"Fix these 3 issues in cmd/zeus.go: \\\n (1) Line 245: rename spec_path to spec_location in QUEST_REQUEST payload \\\n (2) Line 250: remove the spurious beads field from the payload \\\n (3) Line 196: fix dispatch counter — increment inside the loop, not outside\"', run_in_background=true)","type":"text"}]},{"type":"paragraph","content":[{"text":"One agent, one file, no conflicts possible.","type":"text"}]},{"type":"paragraph","content":[{"text":"Strategy: Multi-wave (partial overlap)","type":"text","marks":[{"type":"strong"}]}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"# Wave 1: non-overlapping tasks (sub-agent backend)\nspawn_agent(message='Fix null check in pkg/auth.go:89...')\nspawn_agent(message='Add timeout to internal/config.go...')\n\n# Wait for Wave 1 (sub-agent backend)\nwait(ids=[\"\u003cid-1>\", \"\u003cid-2>\"], timeout_ms=120000)\n\n# Wave 1: non-overlapping tasks (CLI backend)\nBash(command='codex exec ... -o .agents/codex-team/auth-fix.md \"Fix null check in pkg/auth.go:89...\"', run_in_background=true)\nBash(command='codex exec ... -o .agents/codex-team/config-fix.md \"Add timeout to internal/config.go...\"', run_in_background=true)\n\n# Wait for Wave 1\nTaskOutput(task_id=\"\u003cid-1>\", block=true, timeout=120000)\nTaskOutput(task_id=\"\u003cid-2>\", block=true, timeout=120000)\n\n# Read Wave 1 results — understand what changed\nRead(.agents/codex-team/auth-fix.md)\ngit diff pkg/auth.go\n\n# Wave 2: task that shares files with Wave 1 (sub-agent backend)\nspawn_agent(message='Add rate limiting to pkg/auth.go and pkg/middleware.go. Note: validateToken now has a null check at line 89. Build on current file state.')\n\n# Wave 2: CLI backend equivalent\nBash(command='codex exec ... -o .agents/codex-team/rate-limit.md \\\n \"Add rate limiting to pkg/auth.go and pkg/middleware.go. \\\n Note: pkg/auth.go was recently modified — the validateToken function now has a null check at line 89. \\\n Build on the current state of the file.\"', run_in_background=true)\n\nTaskOutput(task_id=\"\u003cid-3>\", block=true, timeout=120000)","type":"text"}]},{"type":"paragraph","content":[{"text":"The team lead synthesizes Wave 1 results and injects relevant context into Wave 2 prompts. Don't dump raw diffs — describe what changed and why it matters for the next task.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 4: Wait for Completion","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"# Sub-agent backend:\nwait(ids=[\"\u003cid-1>\", \"\u003cid-2>\", \"\u003cid-3>\"], timeout_ms=120000)\n\n# CLI backend:\nTaskOutput(task_id=\"\u003cid-1>\", block=true, timeout=120000)\nTaskOutput(task_id=\"\u003cid-2>\", block=true, timeout=120000)\nTaskOutput(task_id=\"\u003cid-3>\", block=true, timeout=120000)","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Step 5: Verify Results","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Read output files from ","type":"text"},{"text":".agents/codex-team/","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Check ","type":"text"},{"text":"git diff","type":"text","marks":[{"type":"code_inline"}]},{"text":" for changes made by each agent","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Run tests if applicable","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"For multi-wave: verify Wave 2 agents built correctly on Wave 1 changes","type":"text"}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Output Directory","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"mkdir -p .agents/codex-team","type":"text"}]},{"type":"paragraph","content":[{"text":"Output files: ","type":"text"},{"text":".agents/codex-team/\u003ctask-name>.md","type":"text","marks":[{"type":"code_inline"}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Prompt Guidelines","type":"text"}]},{"type":"paragraph","content":[{"text":"Good Codex prompts are ","type":"text"},{"text":"specific and self-contained","type":"text","marks":[{"type":"strong"}]},{"text":":","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"# GOOD: Specific file, line, exact change\n\"Fix in cmd/zeus.go line 245: rename spec_path to spec_location in the QUEST_REQUEST payload struct\"\n\n# BAD: Vague, requires exploration\n\"Fix the spec path issue somewhere in the codebase\"","type":"text"}]},{"type":"paragraph","content":[{"text":"Include in each prompt:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Exact file path(s)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Line numbers or function names","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"What to change and why","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Any constraints (don't touch other files, preserve API compatibility)","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"For multi-wave Wave 2+ prompts, also include:","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"What changed in prior waves (summarized, not raw diffs)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Current state of shared files after prior edits","type":"text"}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Limits","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Max agents:","type":"text","marks":[{"type":"strong"}]},{"text":" 6 per wave (resource-reasonable)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Timeout:","type":"text","marks":[{"type":"strong"}]},{"text":" 2 minutes default per agent. Increase with ","type":"text"},{"text":"timeout","type":"text","marks":[{"type":"code_inline"}]},{"text":" param for larger tasks","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Max waves:","type":"text","marks":[{"type":"strong"}]},{"text":" 3 recommended. If you need more, reconsider task decomposition","type":"text"}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Fallback","type":"text"}]},{"type":"paragraph","content":[{"text":"If Codex is unavailable, delegate to ","type":"text"},{"text":"/swarm","type":"text","marks":[{"type":"code_inline"}]},{"text":" which auto-selects the best available backend (native teams with messaging/redirect/graceful shutdown, or background tasks as last resort):","type":"text"}]},{"type":"code_block","attrs":{"wrap":false,"language":""},"content":[{"text":"Skill(skill=\"swarm\")","type":"text"}]},{"type":"blockquote","content":[{"type":"paragraph","content":[{"text":"Note:","type":"text","marks":[{"type":"strong"}]},{"text":" ","type":"text"},{"text":"/codex-team","type":"text","marks":[{"type":"code_inline"}]},{"text":" runs Codex CLI processes as background shell commands — this is fine (separate OS processes). For Claude agent orchestration, use ","type":"text"},{"text":"/swarm","type":"text","marks":[{"type":"code_inline"}]},{"text":" which uses your runtime's native multi-agent primitives.","type":"text"}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Quick Reference","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Item","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Value","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Model","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"User's configured Codex default (","type":"text"},{"text":"-m \"\u003cmodel>\"","type":"text","marks":[{"type":"code_inline"}]},{"text":" to pin one)","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Command","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"codex exec --full-auto -C \"$(pwd)\" -o \u003cfile> \"prompt\"","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Output dir","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":".agents/codex-team/","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Max agents/wave","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"6 recommended","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Timeout","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"120s default","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Strategies","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Parallel (no overlap), Merge (same file), Multi-wave (partial overlap)","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Fallback","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"/swarm","type":"text","marks":[{"type":"code_inline"}]},{"text":" (runtime-native)","type":"text"}]}]}]}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Examples","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Parallel Execution (No File Overlap)","type":"text"}]},{"type":"paragraph","content":[{"text":"User says:","type":"text","marks":[{"type":"strong"}]},{"text":" Fix three bugs in auth.go, config.go, and logging.go using ","type":"text"},{"text":"/codex-team","type":"text","marks":[{"type":"code_inline"}]}]},{"type":"paragraph","content":[{"text":"What happens:","type":"text","marks":[{"type":"strong"}]}]},{"type":"ordered_list","attrs":{"order":1,"listStyle":"number"},"content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Agent analyzes file targets (auth.go, config.go, log.go — no overlap)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Agent selects PARALLEL strategy","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Agent spawns three Codex agents (sub-agents if available, else CLI via Bash)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"All agents execute simultaneously, write to ","type":"text"},{"text":".agents/codex-team/*.md","type":"text","marks":[{"type":"code_inline"}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Team lead verifies results with ","type":"text"},{"text":"git diff","type":"text","marks":[{"type":"code_inline"}]},{"text":" and tests","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Team lead commits all changes together","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"Result:","type":"text","marks":[{"type":"strong"}]},{"text":" Three bugs fixed in parallel with zero file conflicts.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Merge Strategy (Same File)","type":"text"}]},{"type":"paragraph","content":[{"text":"User says:","type":"text","marks":[{"type":"strong"}]},{"text":" Fix three issues in zeus.go: rename field, remove unused field, fix counter","type":"text"}]},{"type":"paragraph","content":[{"text":"What happens:","type":"text","marks":[{"type":"strong"}]}]},{"type":"ordered_list","attrs":{"order":1,"listStyle":"number"},"content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Agent analyzes file targets (all three tasks touch zeus.go)","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Agent selects MERGE strategy","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Agent combines all three fixes into a single Codex prompt with line-specific instructions","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Agent spawns ONE Codex agent with merged prompt","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Agent completes all three fixes in one pass","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Team lead verifies and commits","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"Result:","type":"text","marks":[{"type":"strong"}]},{"text":" One agent, one file, no conflicts possible.","type":"text"}]},{"type":"heading","attrs":{"level":3},"content":[{"text":"Multi-Wave (Partial Overlap)","type":"text"}]},{"type":"paragraph","content":[{"text":"User says:","type":"text","marks":[{"type":"strong"}]},{"text":" Fix auth.go, add rate limiting to auth.go + middleware.go, update config.go","type":"text"}]},{"type":"paragraph","content":[{"text":"What happens:","type":"text","marks":[{"type":"strong"}]}]},{"type":"ordered_list","attrs":{"order":1,"listStyle":"number"},"content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Agent identifies overlap: tasks 1 and 2 both touch auth.go","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Agent decomposes into waves: W1 = task 1 + task 3 (non-overlapping), W2 = task 2","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Agent spawns Wave 1 agents in parallel, waits for completion","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Agent reads Wave 1 results, synthesizes context for Wave 2","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Agent spawns Wave 2 agent with updated file-state context","type":"text"}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"Team lead validates and commits after Wave 2","type":"text"}]}]}]},{"type":"paragraph","content":[{"text":"Result:","type":"text","marks":[{"type":"strong"}]},{"text":" Sequential wave execution prevents conflicts, context flows forward.","type":"text"}]},{"type":"hr","attrs":{"markup":"---"}},{"type":"heading","attrs":{"level":2},"content":[{"text":"Troubleshooting","type":"text"}]},{"type":"table","attrs":{"layout":null},"content":[{"type":"tr","content":[{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Problem","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Cause","type":"text"}]}]},{"type":"th","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Solution","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Codex CLI not found","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"codex","type":"text","marks":[{"type":"code_inline"}]},{"text":" not installed or not on PATH","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Run ","type":"text"},{"text":"npm i -g @openai/codex","type":"text","marks":[{"type":"code_inline"}]},{"text":" or use fallback ","type":"text"},{"text":"/swarm","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Default Codex model unavailable","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Account/config mismatch or unsupported default","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Verify ","type":"text"},{"text":"codex exec --full-auto -C \"$(pwd)\" \"echo ok\"","type":"text","marks":[{"type":"code_inline"}]},{"text":" works, or pin a supported model with ","type":"text"},{"text":"-m \"\u003cmodel>\"","type":"text","marks":[{"type":"code_inline"}]}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Agents produce file conflicts","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Multiple agents editing same file","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Use file-target analysis and apply merge or multi-wave strategy","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Agent timeout with no output","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Task too complex or vague prompt","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Break into smaller tasks, add specific file:line instructions","type":"text"}]}]}]},{"type":"tr","content":[{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Output files empty or missing","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"-o","type":"text","marks":[{"type":"code_inline"}]},{"text":" path invalid or permission denied","type":"text"}]}]},{"type":"td","attrs":{"colspan":1,"rowspan":1,"colwidth":null,"alignment":""},"content":[{"type":"paragraph","content":[{"text":"Check ","type":"text"},{"text":".agents/codex-team/","type":"text","marks":[{"type":"code_inline"}]},{"text":" directory exists and is writable","type":"text"}]}]}]}]},{"type":"heading","attrs":{"level":2},"content":[{"text":"Reference Documents","type":"text"}]},{"type":"bullet_list","content":[{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/fungible-agent-coordination.md","type":"text","marks":[{"type":"link","attrs":{"href":"references/fungible-agent-coordination.md","title":null}}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/claude-code-latest-features.md","type":"text","marks":[{"type":"link","attrs":{"href":"references/claude-code-latest-features.md","title":null}}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"../shared/references/claude-code-latest-features.md","type":"text","marks":[{"type":"link","attrs":{"href":"../shared/references/claude-code-latest-features.md","title":null}}]}]}]},{"type":"list_item","content":[{"type":"paragraph","content":[{"text":"references/codex-team.feature","type":"text","marks":[{"type":"link","attrs":{"href":"references/codex-team.feature","title":null}}]},{"text":" — Executable spec: analyze file targets for disjoint scopes, spawn conflict-free wave, join before reaping results (soc-qk4b)","type":"text"}]}]}]},{"type":"hr","attrs":{"markup":"---"}}]},"metadata":{"date":"2026-06-05","name":"codex-team","author":"@skillopedia","source":{"stars":375,"repo_name":"agentops","origin_url":"https://github.com/boshu2/agentops/blob/HEAD/skills/codex-team/SKILL.md","repo_owner":"boshu2","body_sha256":"b53e7c4e0f1c1ccb3e675e24d3b37def375477c21d7e0f17ff671133b3d71078","cluster_key":"3d1ca0d8c847e6a767b3cbd3d02971667fc1b8af415764f50193644d7598eb15","clean_bundle":{"format":"clean-skill-bundle-v1","source":"boshu2/agentops/skills/codex-team/SKILL.md","attachments":[{"id":"95f70740-38c8-5bc7-9f0e-241fadcc5c2f","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/95f70740-38c8-5bc7-9f0e-241fadcc5c2f/attachment","path":"references/.gitkeep","size":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","contentType":"text/plain; charset=utf-8"},{"id":"5e7ea68c-54d7-5639-9c8d-b23fab6d9974","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/5e7ea68c-54d7-5639-9c8d-b23fab6d9974/attachment.md","path":"references/claude-code-latest-features.md","size":4471,"sha256":"bfebe1fe3a63bf296f7a4345a3cd5ab32e5b24e9a06c16d37fe2a1106ed67296","contentType":"text/markdown; charset=utf-8"},{"id":"74237b5d-aacc-5ccb-9d22-b4617245b2ec","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/74237b5d-aacc-5ccb-9d22-b4617245b2ec/attachment.feature","path":"references/codex-team.feature","size":1269,"sha256":"b10c1e766fea8b77c5c0b2698edae52817e71650ab9db78a3aa9220e934ee98e","contentType":"text/plain; charset=utf-8"},{"id":"002153ff-509e-5f4e-8c45-2c7cbe4a3a16","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/002153ff-509e-5f4e-8c45-2c7cbe4a3a16/attachment.md","path":"references/fungible-agent-coordination.md","size":1495,"sha256":"20e4624264ddcea69e22c04d27c00480ba7d80ea4ac2c766da97f6d863808c91","contentType":"text/markdown; charset=utf-8"},{"id":"cbbf5dd9-a74f-5154-995b-3d18cc7f7c0a","key":"uploads/10433ee7-ad12-4ae0-b34e-97553e46c6c8/cbbf5dd9-a74f-5154-995b-3d18cc7f7c0a/attachment.sh","path":"scripts/validate.sh","size":1020,"sha256":"bb76fba8880a64b0d4fff08d4c2c01b7ca3b6232857957fb3b3831d893f1e971","contentType":"application/x-sh; charset=utf-8"}],"bundle_sha256":"8667e54412abc05f1e164da7d02103f8f9de3f2f7d1673a7ad032367fa2a5fc0","attachment_count":5,"text_attachments":3,"attachment_storage":"skillopedia-attachments-v1","binary_attachments":2,"excluded_attachments":[]},"cluster_size":1,"skill_md_path":"skills/codex-team/SKILL.md","import_metadata":{"date":"2026-06-05","author":"@skillopedia","version":"v1","category":"software-engineering","category_label":"Engineering"},"exact_dupes_collapsed_into_this":0},"context":"fork","version":"v1","category":"software-engineering","consumes":[],"metadata":{"tier":"cross-vendor"},"produces":[".agents/swarm/results/*.json"],"practices":["team-topologies","ai-assisted-dev"],"import_tag":"clean-skills-v1","context_rel":[],"description":"Coordinate multiple Codex agents.","hexagonal_role":"supporting","output_contract":".agents/swarm/results/*.json","skill_api_version":1}},"renderedAt":1782979637899}

Codex Team The lead orchestrates, Codex agents execute. Each agent gets one focused task. The team lead prevents file conflicts before spawning — the orchestrator IS the lock manager. For Claude-runtime feature compatibility (agents/hooks/worktree/settings), use the shared contract at , mirrored locally at , when this skill falls back to . When to Use - You have 2+ tasks (bug fixes, implementations, refactors) - Tasks are well-scoped with clear instructions - You want Codex execution with predictable isolation - You may be in Claude or Codex runtime (skill auto-selects backend) Don't use when…