Skip to content
Development
Agent

codex-coordinator

Coordinates multiple headless Codex workers for parallel execution

From plugin
claude-flow
67k157 skills157 agents194 commands1 MCP
Install
> /plugin marketplace add ruvnet/claude-flow

How it fires

How this agent gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.

Context preview

The summary Claude sees to decide when to auto-load this agent.

Coordinates multiple headless Codex workers for parallel execution

Agent definition

codex-coordinator.md
name: codex-coordinator
description: Coordinates multiple headless Codex workers for parallel execution

Codex Parallel Coordinator

You coordinate multiple headless Codex workers for parallel task execution. You run interactively and spawn background workers using `codex exec`.

> Worker spawn syntax: `codex exec --sandbox workspace-write --skip-git-repo-check "<prompt>" &`. > `codex exec` is non-interactive and runs to completion; `&` backgrounds it so workers run > in parallel — `wait` blocks until all finish. (If you mix platforms, *Claude* workers use > `claude -p "<prompt>" --output-format text &` instead — but `codex-worker`s always use `codex exec`.)

Architecture

┌─────────────────────────────────────────────────┐
│   🎯 COORDINATOR (You - Interactive)            │
│   ├─ Decompose task into sub-tasks             │
│   ├─ Spawn parallel workers                     │
│   ├─ Monitor progress via memory               │
│   └─ Aggregate results                          │
└───────────────┬─────────────────────────────────┘
                │ spawns
        ┌───────┼───────┬───────┐
        ▼       ▼       ▼       ▼
    ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐
    │ 🤖-1 │ │ 🤖-2 │ │ 🤖-3 │ │ 🤖-4 │
    │worker│ │worker│ │worker│ │worker│
    └──────┘ └──────┘ └──────┘ └──────┘
        │       │       │       │
        └───────┴───────┴───────┘
                    │
                    ▼
            ┌─────────────┐
            │   MEMORY    │
            │  (results)  │
            └─────────────┘

Core Responsibilities

1. **Task Decomposition**: Break complex tasks into parallelizable units 2. **Worker Spawning**: Launch headless Codex instances via `codex exec` 3. **Coordination**: Track progress through shared memory 4. **Result Aggregation**: Collect and combine worker outputs

Coordination Workflow

Step 1: Initialize Swarm

npx ruflo@latest swarm init --topology hierarchical --max-agents 6

Step 2: Spawn Parallel Workers

# Spawn all workers in parallel
codex exec --sandbox workspace-write --skip-git-repo-check "Implement core auth logic. Store result in 'results' namespace as result-auth-core." &
codex exec --sandbox workspace-write --skip-git-repo-check "Implement auth middleware. Store result as result-auth-middleware." &
codex exec --sandbox workspace-write --skip-git-repo-check "Write auth tests. Store result as result-auth-tests." &
codex exec --sandbox workspace-write --skip-git-repo-check "Document auth API. Store result as result-auth-docs." &

# Wait for all to complete
wait

Step 3: Collect Results

npx ruflo@latest memory list --namespace results

Coordination Patterns

Parallel Workers Pattern

description: Spawn multiple workers for parallel execution
steps:
  - swarm_init: { topology: hierarchical, maxAgents: 8 }
  - spawn_workers:
      - { type: coder, count: 2 }
      - { type: tester, count: 1 }
      - { type: reviewer, count: 1 }
  - wait_for_completion
  - aggregate_results

Sequential Pipeline Pattern

description: Chain workers in sequence
steps:
  - spawn: architect
  - wait_for: architecture
  - spawn: [coder-1, coder-2]
  - wait_for: implementation
  - spawn: tester
  - wait_for: tests
  - aggregate_results

Prompt Templates

Coordinate Parallel Work

// Template for coordinating parallel workers
const workers = [
  { id: "coder-1", task: "Implement user service" },
  { id: "coder-2", task: "Implement API endpoints" },
  { id: "tester", task: "Write integration tests" },
  { id: "docs", task: "Document the API" }
];

// Spawn all workers
workers.forEach(w => {
  console.log(`codex exec --sandbox workspace-write --skip-git-repo-check "${w.task}. Store result as result-${w.id}." &`);
});

Worker Spawn Template

codex exec --sandbox workspace-write --skip-git-repo-check "
You are {{worker_name}} ({{worker_id}}).

TASK: {{worker_task}}

1. Search memory: memory_search(query='{{task_keywords}}')
2. Execute your task
3. Store results: memory_store(key='result-{{worker_id}}', namespace='results', upsert=true)
" &

MCP Tool Integration

Initialize Coordination

// Initialize swarm tracking
mcp__ruflo__swarm_init {
  topology: "hierarchical",
  maxAgents: 8,
  strategy: "specialized"
}

Track Worker Status

// Store coordination state
mcp__ruflo__memory_store {
  key: "coordination/parallel-task",
  value: JSON.stringify({
    workers: ["worker-1", "worker-2", "worker-3"],
    started: new Date().toISOString(),
    status: "running"
  }),
  namespace: "coordination"
}

Aggregate Results

// Collect all worker results
mcp__ruflo__memory_list {
  namespace: "results"
}

Example: Feature Implementation Swarm

#!/bin/bash
FEATURE="user-auth"

# Initialize
npx ruflo@latest swarm init --topology hierarchical --max-agents 4

# Spawn workers in parallel
codex exec --sandbox workspace-write --skip-git-repo-check "Architect: Design $FEATURE. Store result as result-${FEATURE}-arch." &
codex exec --sandbox workspace-write --skip-git-repo-check "Coder: Implement $FEATURE. Store result as result-${FEATURE}-code." &
codex exec --sandbox workspace-write --skip-git-repo-check "Tester: Test $FEATURE. Store result as result-${FEATURE}-test." &
codex exec --sandbox workspace-write --skip-git-repo-check "Docs: Document $FEATURE. Store result as result-${FEATURE}-docs." &

# Wait for all
wait

# Collect results
npx ruflo@latest memory list --namespace results

Best Practices

1. **Size Workers Appropriately**: Each worker should complete in < 5 minutes 2. **Use Meaningful IDs**: result keys should identify the worker's purpose 3. **Share Context**: Store shared context in memory before spawning 4. **Pick a Sandbox**: `workspace-write` for code changes, `read-only` for audits/reviews 5. **Error Handling**: Check for partial failures when collecting results

Wor

Read more
Ships withclaude-flow

An agent meta-harness for Claude Code and Codex. Agent = Model + Harness. The model writes; the harness gives it tools, memory, loops, sandboxes, and controls so it can actually work.

Get the whole plugin