Quick answer
- The unit of work
- One story → one spec → one worktree → one PR
- Isolation guarantee
- Git worktrees: agents can't touch each other's uncommitted changes
- Practical agent count
- 2-4 for most people — bounded by review attention and rate limits
- Your role
- Tech lead: write stories, approve specs, review diffs, merge
Why One Agent at a Time Undersells the Models
The default way to use Claude Code or Codex is serial: give the agent a task, watch it work, review, repeat. That made sense when agents needed constant supervision. Current models routinely complete a well-scoped story end to end — including running tests and iterating on failures — with no input from you in the middle.
Serial usage turns that autonomy into dead time. While the agent works, you wait. A agentic IDE flips the model: the agent's working time becomes your planning and review time. While agent one implements authentication, you spec the search feature and review the finished pagination PR.
The catch is that parallelism without structure produces chaos — conflicting edits, unreviewable diffs, and agents waiting on each other. The rest of this guide is the structure: story slicing, isolation, a spec gate, and a review budget.
Slicing Work into Parallelizable Stories
Everything downstream depends on how you cut the work. A good story for a parallel agent is independent (owns its files), bounded (one PR's worth of change), and verifiable (a concrete done-condition an agent can test against). See spec-driven AI development for how stories become specs.
The one rule that matters most: anything touching shared contracts serializes. Database schema changes, shared API types, framework upgrades — run those alone, merge, then fan out again from the new base. Two agents editing the same schema on different branches guarantees a painful merge.
Good: 'Add CSV export to the reports page'
Good: 'Rate-limit the public API'
Bad: 'Refactor the User model and add profiles'
Bad: 'Improve the app's performance'
The Workflow, Step by Step
Here is the loop AIDEN runs for every story. It works because each stage has one owner: you own scope and approval, the agent owns implementation, git owns isolation.
- 1
Write stories on the board
Each story is a card in the Stories column — one or two plain sentences. AIDEN's codebase analysis gives agents full project context, so cards stay short. - 2
AI drafts a spec; you approve it
AIDEN generates a spec from the card: scope, files, acceptance criteria, exclusions. The card sits in Spec Review until you approve — an enforced gate (since v1.5.21), and your cheapest chance to catch bad scope. No agent starts coding without approval. - 3
Each story gets its own worktree and branch
On approval, AIDEN creates a git worktree and branch per story and launches a Claude Code or Codex agent inside it. Agents cannot see each other's uncommitted work — this isolation is the workflow's one hard guarantee. - 4
Agents implement in parallel; you watch the board
Cards move to In Progress. Agents can run tests and iterate on failures — best-effort, not a guarantee of green CI. You spec the next stories or review finished ones instead of babysitting terminals. - 5
One PR per story, reviewed against its spec
When a story completes, AIDEN can run an optional LLM review pass, then opens a PR with the spec as its description. You review the diff against the spec and merge — or reject and re-spec.
Staying in Control: Review Budget, Spec Gate, Board
The honest constraint on parallelism is not your machine — it's you. Every running agent eventually produces a PR that deserves a real review. If you can carefully review roughly three or four agent PRs in a working session, that is your agent budget. Model rate limits usually cap you before hardware does.
Three habits keep the workflow calm. First, treat spec approval as your main control point — a minute spent tightening scope saves a rejected PR later. Second, keep a visible queue: a kanban board where each agent is a card shows what's running, blocked, and awaiting review at a glance. Third, stop launching when the Review column grows — unreviewed PRs are inventory, not progress.
Failure Modes and the Conventions That Prevent Them
Conflicting edits
Review pile-up
Context starvation
Stale bases
If you orchestrate Claude Code specifically, the Claude Code orchestration guide covers session management, MCP inheritance, and model-level rate limit behavior in more depth.