Skip to content
Back to skills

Dispatching Parallel Agents Codex

ASecurity

Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies

  • 7 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added May 26, 2026
developmentgodebugging

Works with

  • mcp

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add mzored/superpowers-cc-to-codex --skill dispatching-parallel-agents-codex --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Dispatching Parallel Agents Codex?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Dispatching Parallel Agents Codex
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mzored-dispatching-parallel-agents-codex/badge)](https://www.skillsdirectory.com/skills/mzored-dispatching-parallel-agents-codex)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: dispatching-parallel-agents-codex
description: Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
disable-model-invocation: true
---
<!--
Upstream source: obra/superpowers skills/dispatching-parallel-agents/SKILL.md
Last synced: 2026-04-05
Divergence: Codex-backed dispatch — parallel `codex_implement` MCP calls replace upstream `Task()` tool calls; review still done by Claude after all threads return
-->

# Dispatching Parallel Agents

## Overview

When you have multiple unrelated tasks (different subsystems, different bugs), working them sequentially wastes time. Each thread is independent and can happen in parallel.

**Core principle:** Dispatch one `codex_implement` per independent problem domain. Let them work concurrently.

<HARD-GATE>
Parallel execution MUST use codex_implement calls. You cannot implement tasks yourself.
This skill dispatches Codex workers — Claude orchestrates, Codex executes.
</HARD-GATE>

## When to Use

```dot
digraph when_to_use {
    "Multiple independent tasks?" [shape=diamond];
    "Are they independent?" [shape=diamond];
    "Single codex_implement handles all" [shape=box];
    "One codex_implement per domain" [shape=box];
    "Can they run without shared state?" [shape=diamond];
    "Sequential codex_implement" [shape=box];
    "Parallel dispatch" [shape=box];

    "Multiple independent tasks?" -> "Are they independent?" [label="yes"];
    "Are they independent?" -> "Single codex_implement handles all" [label="no - related"];
    "Are they independent?" -> "Can they run without shared state?" [label="yes"];
    "Can they run without shared state?" -> "Parallel dispatch" [label="yes"];
    "Can they run without shared state?" -> "Sequential codex_implement" [label="no - shared state"];
}
```

**Use when:**
- 3+ failing test files with different root causes
- Multiple subsystems broken independently
- Each problem can be understood without context from others
- No shared state between threads (no same-file edits)

**Don't use when:**
- Failures are related (fix one might fix others)
- Need to understand full system state first
- Threads would edit the same files

## The Pattern

### 1. Identify Independent Domains

Group tasks by what's being changed:
- Thread A: Agent forwarding contract in `scripts/`
- Thread B: Test fixture updates in `tests/fixtures/`
- Thread C: Schema validation in `schemas/`

Each domain is independent — Thread A doesn't touch Thread B's files.

### 2. Create Focused Task Prompts

Each `codex_implement` call gets:
- **Specific scope:** One file or subsystem
- **Clear goal:** What done looks like
- **Constraints:** Don't change other code
- **Expected output:** Summary of what was found and fixed

### 3. Dispatch in Parallel

Call multiple `codex_implement` tools in a single message so they run concurrently:

```json
{
  "tool": "codex_implement",
  "arguments": {
    "taskId": "parallel-A",
    "prompt": "Fix the 3 failing tests in tests/adapter/codex-run.test.mjs. These are timeout-related. Root cause and fix only — do not touch other test files.",
    "workspaceRoot": "/absolute/path/to/your/repo"
  }
}
```

```json
{
  "tool": "codex_implement",
  "arguments": {
    "taskId": "parallel-B",
    "prompt": "Fix the schema mismatch in schemas/implementer-result.schema.json. The 'tests' field is missing from the required array. Do not touch other schemas.",
    "workspaceRoot": "/absolute/path/to/your/repo"
  }
}
```

```json
{
  "tool": "codex_implement",
  "arguments": {
    "taskId": "parallel-C",
    "prompt": "Update the fixture in tests/fixtures/sample-result.jsonl to match the new implementer-result schema. Only touch that fixture file.",
    "workspaceRoot": "/absolute/path/to/your/repo"
  }
}
```

### 4. Review and Integrate

When all threads return, each response includes a `sessionId` — capture it for follow-up:
- Read each summary
- Verify fixes don't conflict (check for same-file edits)
- Run full test suite
- Use `codex_resume` with the returned `taskId` and `sessionId` if any thread needs follow-up

## Writing Good Prompts

Good prompts are:
1. **Focused** - One clear problem domain
2. **Self-contained** - All context needed to understand the problem
3. **Specific about constraints** - Name files they must NOT touch
4. **Clear about output** - Summary of root cause and changes made

**Bad:**
```
"Fix all the tests"  ← agent gets lost
"Fix the race condition"  ← agent doesn't know where
```

**Good:**
```
"Fix the 3 failing tests in tests/adapter/codex-run.test.mjs.
Tests: [list test names + error messages].
Root cause is likely X. Fix by Y.
Do NOT change production code.
Return: root cause found and what you changed."
```

## Common Mistakes

**Too broad:** Agent gets lost in unrelated code.
**No constraints:** Agent refactors everything.
**Vague output:** You don't know what changed.
**Overlapping scope:** Threads edit same files, creating conflicts.

## When NOT to Use

**Related failures:** Investigate together, fixing one might fix others.
**Need full context:** Understanding requires seeing the whole system.
**Exploratory debugging:** You don't know what's broken yet — use `codex_debug` first.
**Shared state:** Threads would interfere (editing same files).

## After All Threads Return

1. **Review each summary** — understand what changed
2. **Check for conflicts** — did any threads edit the same file?
3. **Run full suite** — `npm test`
4. **Resume if needed** — use `codex_resume` with the appropriate `taskId` and `sessionId`
5. **Spot check** — Codex can make systematic errors; read the diff

## Key Benefits

1. **Parallelization** — multiple threads work simultaneously
2. **Focus** — each thread has narrow scope
3. **Independence** — threads don't interfere
4. **Speed** — N problems solved in time of 1

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…