codex-team

Use when you have 2+ tasks that Codex agents should execute. Runtime-native: Codex sub-agents when available, Codex CLI fallback otherwise. Handles file conflicts via merge/wave strategies. Triggers: "codex team", "spawn codex", "codex agents", "use codex for", "codex fix".

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "codex-team" with this command: npx skills add boshu2/agentops/boshu2-agentops-codex-team

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 skills/shared/references/claude-code-latest-features.md, mirrored locally at references/claude-code-latest-features.md, when this skill falls back to /swarm.

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: Tasks need tight shared-state coordination. Use /swarm for dependency-heavy wave orchestration.

Backend Selection (MANDATORY)

Select backend in this order:

  1. spawn_agent available -> Codex experimental sub-agents (preferred)
  2. Codex CLI available -> Codex CLI via Bash (codex exec ...)
  3. skill tool is read-only (OpenCode) -> OpenCode subagentstask(subagent_type="general", prompt="<task prompt>")
  4. None of the above -> fall back to /swarm

Pre-Flight (CLI backend only)

# REQUIRED before spawning with Codex CLI backend
if ! which codex > /dev/null 2>&1; then
  echo "Codex CLI not found. Install: npm i -g @openai/codex"
  # Fallback: use /swarm
fi

# Model availability test (uses the user's configured Codex default)
if ! codex exec --full-auto -C "$(pwd)" "echo ok" > /dev/null 2>&1; then
  echo "Default Codex model unavailable. Falling back to /swarm."
fi

Canonical Command

codex exec --full-auto -C "$(pwd)" -o <output-file> "<prompt>"

Uses the user's default Codex model. Add -m "<model>" before -C only when you intentionally want to pin a specific model.

Flag order: --full-auto -> -C -> -o -> prompt (insert -m before -C only when overriding the model).

Valid flags: --full-auto, -m, -C, -o, --json, --output-schema, --add-dir, -s

DO NOT USE: -q, --quiet (don't exist)

Cross-Project Tasks

When tasks span multiple repos/directories, use --add-dir to grant access:

codex exec --full-auto -C "$(pwd)" --add-dir /path/to/other/repo -o output.md "prompt"

The --add-dir flag is repeatable for multiple additional directories.

Progress Monitoring (optional)

Add --json to stream JSONL events to stdout for real-time monitoring:

codex exec --full-auto --json -C "$(pwd)" -o output.md "prompt" 2>/dev/null

Key events:

  • turn.started / turn.completed — track progress
  • turn.completed includes token usage field
  • No events for 60s → agent likely stuck

Sandbox Levels

Use -s to control the sandbox:

LevelFlagUse When
Read-only-s read-onlyJudges, reviewers (no file writes needed)
Workspace write-s workspace-writeDefault with --full-auto
Full access-s danger-full-accessOnly in externally sandboxed environments

For code review and analysis tasks, prefer -s read-only over --full-auto.

Execution

Step 1: Define Tasks

Break work into focused tasks. Each task = one Codex agent (unless merged).

Step 2: Analyze File Targets (REQUIRED)

Before spawning, identify which files each task will edit. Codex agents are headless — they can't negotiate locks or wait turns. All conflict prevention happens here.

For each task, list the target files. Then apply the right strategy:

File OverlapStrategyAction
All tasks touch same fileMergeCombine into 1 agent with all fixes
Some tasks share filesMulti-waveShared-file tasks go sequential across waves
No overlapParallelSpawn all agents at once
# Decision logic (team lead performs this mentally):

tasks = [
  {name: "fix spec_path",    files: ["cmd/zeus.go"]},
  {name: "remove beads field", files: ["cmd/zeus.go"]},
  {name: "fix dispatch counter", files: ["cmd/zeus.go"]},
]

# All touch zeus.go → MERGE into 1 agent
tasks = [
  {name: "fix auth bug",     files: ["pkg/auth.go"]},
  {name: "add rate limiting", files: ["pkg/auth.go", "pkg/middleware.go"]},
  {name: "update config",    files: ["internal/config.go"]},
]

# Task 1 and 2 share auth.go → MULTI-WAVE (1+3 parallel, then 2)
# Task 3 is independent → runs in Wave 1 alongside Task 1
tasks = [
  {name: "fix auth",    files: ["pkg/auth.go"]},
  {name: "fix config",  files: ["internal/config.go"]},
  {name: "fix logging", files: ["pkg/log.go"]},
]

# No overlap → PARALLEL (all 3 at once)

Step 3: Spawn Agents

Strategy: Parallel (no file overlap)

Codex sub-agent backend (preferred):

spawn_agent(message="Fix the null check in pkg/auth.go:validateToken around line 89...")
spawn_agent(message="Add timeout field to internal/config.go:Config struct...")
spawn_agent(message="Fix log rotation in pkg/log.go:rotateLogFile...")

Codex CLI backend:

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)
Bash(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)
Bash(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)

Strategy: Merge (same file)

Combine all fixes into a single agent prompt:

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")

# CLI equivalent:
Bash(command='codex exec --full-auto -C "$(pwd)" -o .agents/codex-team/zeus-fixes.md \
  "Fix these 3 issues in cmd/zeus.go: \
   (1) Line 245: rename spec_path to spec_location in QUEST_REQUEST payload \
   (2) Line 250: remove the spurious beads field from the payload \
   (3) Line 196: fix dispatch counter — increment inside the loop, not outside"', run_in_background=true)

One agent, one file, no conflicts possible.

Strategy: Multi-wave (partial overlap)

# Wave 1: non-overlapping tasks (sub-agent backend)
spawn_agent(message='Fix null check in pkg/auth.go:89...')
spawn_agent(message='Add timeout to internal/config.go...')

# Wait for Wave 1 (sub-agent backend)
wait(ids=["<id-1>", "<id-2>"], timeout_ms=120000)

# Wave 1: non-overlapping tasks (CLI backend)
Bash(command='codex exec ... -o .agents/codex-team/auth-fix.md "Fix null check in pkg/auth.go:89..."', run_in_background=true)
Bash(command='codex exec ... -o .agents/codex-team/config-fix.md "Add timeout to internal/config.go..."', run_in_background=true)

# Wait for Wave 1
TaskOutput(task_id="<id-1>", block=true, timeout=120000)
TaskOutput(task_id="<id-2>", block=true, timeout=120000)

# Read Wave 1 results — understand what changed
Read(.agents/codex-team/auth-fix.md)
git diff pkg/auth.go

# Wave 2: task that shares files with Wave 1 (sub-agent backend)
spawn_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.')

# Wave 2: CLI backend equivalent
Bash(command='codex exec ... -o .agents/codex-team/rate-limit.md \
  "Add rate limiting to pkg/auth.go and pkg/middleware.go. \
   Note: pkg/auth.go was recently modified — the validateToken function now has a null check at line 89. \
   Build on the current state of the file."', run_in_background=true)

TaskOutput(task_id="<id-3>", block=true, timeout=120000)

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.

Step 4: Wait for Completion

# Sub-agent backend:
wait(ids=["<id-1>", "<id-2>", "<id-3>"], timeout_ms=120000)

# CLI backend:
TaskOutput(task_id="<id-1>", block=true, timeout=120000)
TaskOutput(task_id="<id-2>", block=true, timeout=120000)
TaskOutput(task_id="<id-3>", block=true, timeout=120000)

Step 5: Verify Results

  • Read output files from .agents/codex-team/
  • Check git diff for changes made by each agent
  • Run tests if applicable
  • For multi-wave: verify Wave 2 agents built correctly on Wave 1 changes

Output Directory

mkdir -p .agents/codex-team

Output files: .agents/codex-team/<task-name>.md

Prompt Guidelines

Good Codex prompts are specific and self-contained:

# GOOD: Specific file, line, exact change
"Fix in cmd/zeus.go line 245: rename spec_path to spec_location in the QUEST_REQUEST payload struct"

# BAD: Vague, requires exploration
"Fix the spec path issue somewhere in the codebase"

Include in each prompt:

  • Exact file path(s)
  • Line numbers or function names
  • What to change and why
  • Any constraints (don't touch other files, preserve API compatibility)

For multi-wave Wave 2+ prompts, also include:

  • What changed in prior waves (summarized, not raw diffs)
  • Current state of shared files after prior edits

Limits

  • Max agents: 6 per wave (resource-reasonable)
  • Timeout: 2 minutes default per agent. Increase with timeout param for larger tasks
  • Max waves: 3 recommended. If you need more, reconsider task decomposition

Fallback

If Codex is unavailable, delegate to /swarm which auto-selects the best available backend (native teams with messaging/redirect/graceful shutdown, or background tasks as last resort):

Skill(skill="swarm")

Note: /codex-team runs Codex CLI processes as background shell commands — this is fine (separate OS processes). For Claude agent orchestration, use /swarm which uses your runtime's native multi-agent primitives.

Quick Reference

ItemValue
ModelUser's configured Codex default (-m "<model>" to pin one)
Commandcodex exec --full-auto -C "$(pwd)" -o <file> "prompt"
Output dir.agents/codex-team/
Max agents/wave6 recommended
Timeout120s default
StrategiesParallel (no overlap), Merge (same file), Multi-wave (partial overlap)
Fallback/swarm (runtime-native)

Examples

Parallel Execution (No File Overlap)

User says: Fix three bugs in auth.go, config.go, and logging.go using /codex-team

What happens:

  1. Agent analyzes file targets (auth.go, config.go, log.go — no overlap)
  2. Agent selects PARALLEL strategy
  3. Agent spawns three Codex agents (sub-agents if available, else CLI via Bash)
  4. All agents execute simultaneously, write to .agents/codex-team/*.md
  5. Team lead verifies results with git diff and tests
  6. Team lead commits all changes together

Result: Three bugs fixed in parallel with zero file conflicts.

Merge Strategy (Same File)

User says: Fix three issues in zeus.go: rename field, remove unused field, fix counter

What happens:

  1. Agent analyzes file targets (all three tasks touch zeus.go)
  2. Agent selects MERGE strategy
  3. Agent combines all three fixes into a single Codex prompt with line-specific instructions
  4. Agent spawns ONE Codex agent with merged prompt
  5. Agent completes all three fixes in one pass
  6. Team lead verifies and commits

Result: One agent, one file, no conflicts possible.

Multi-Wave (Partial Overlap)

User says: Fix auth.go, add rate limiting to auth.go + middleware.go, update config.go

What happens:

  1. Agent identifies overlap: tasks 1 and 2 both touch auth.go
  2. Agent decomposes into waves: W1 = task 1 + task 3 (non-overlapping), W2 = task 2
  3. Agent spawns Wave 1 agents in parallel, waits for completion
  4. Agent reads Wave 1 results, synthesizes context for Wave 2
  5. Agent spawns Wave 2 agent with updated file-state context
  6. Team lead validates and commits after Wave 2

Result: Sequential wave execution prevents conflicts, context flows forward.


Troubleshooting

ProblemCauseSolution
Codex CLI not foundcodex not installed or not on PATHRun npm i -g @openai/codex or use fallback /swarm
Default Codex model unavailableAccount/config mismatch or unsupported defaultVerify codex exec --full-auto -C "$(pwd)" "echo ok" works, or pin a supported model with -m "<model>"
Agents produce file conflictsMultiple agents editing same fileUse file-target analysis and apply merge or multi-wave strategy
Agent timeout with no outputTask too complex or vague promptBreak into smaller tasks, add specific file:line instructions
Output files empty or missing-o path invalid or permission deniedCheck .agents/codex-team/ directory exists and is writable

Reference Documents

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

council

No summary provided by upstream source.

Repository SourceNeeds Review
-1.5K
boshu2
Automation

swarm

No summary provided by upstream source.

Repository SourceNeeds Review
-280
boshu2
Research

research

No summary provided by upstream source.

Repository SourceNeeds Review
-258
boshu2