# Codex Parallel Subagents

> [DEPRECATED] Run multiple AI agent threads in parallel with bounded concurrency. Use evolving-workflow instead.

- Skill: `majiayu000/codex-parallel-subagents` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/codex-parallel-subagents`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/codex-parallel-subagents/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/codex-parallel-subagents

---


# Codex Parallel Subagents

> **DEPRECATED**: This skill is deprecated. Use [evolving-workflow](../evolving-workflow/SKILL.md) instead, which provides a declarative workflow API with built-in parallel execution support via `.concurrency(n)`.

Run multiple AI agent threads concurrently with bounded parallelism and collect results safely.

## When to use this skill

- Running multiple agent tasks in parallel
- Fan-out work across files, packages, or repositories
- Batch processing with rate limiting
- Streaming progress from concurrent tasks
- Collecting structured outputs from multiple agents

## Quick navigation

| Need | Resource |
|------|----------|
| New to Codex SDK | [references/codex-basics.md](references/codex-basics.md) |
| Advanced options | [references/codex-advanced.md](references/codex-advanced.md) |
| Async patterns | [references/async-basics.md](references/async-basics.md) |
| Troubleshooting | [references/troubleshooting.md](references/troubleshooting.md) |

## Production-ready assets

Copy these to jumpstart your implementation:

| Asset | Description | Run |
|-------|-------------|-----|
| [parallel_batch](assets/parallel_batch) | Reentrant batch processing with stdin/file input, offset/limit, JSON output | `moon run -C assets/parallel_batch assets/parallel_batch` |
| [package_analyzer](assets/package_analyzer) | Discover and summarize all MoonBit packages | `moon run -C assets/package_analyzer assets/package_analyzer` |

### How to use these assets

1. **Copy the asset directory** to your project
2. **Customize `run_task()`** (or the main processing function) for your use case
3. **Adjust structs** (`TaskInput`, etc.) if you need additional fields
4. **Set environment variables** as needed (`CODEX_WORKDIR`, `PARALLELISM`)

See each asset's README for detailed usage and options.

## Key rules

1. **One thread per task** - never share threads across concurrent tasks
2. **Use semaphores** - guard parallel runs with `@async.Semaphore::new(n)` to avoid rate limits
3. **Set working directory** - use `ThreadOptions::new(working_directory=...)` for task isolation
4. **Allow failures** - use `allow_failure=true` and capture errors per task
5. **Avoid conflicts** - for tasks that modify shared resources (e.g., building software, editing same files), use git worktrees or separate directories to isolate each agent

