An orchestrator is the stuff around a coding agent. The agent writes the code. The orchestrator picks which agent gets a job, gives it somewhere to work, keeps a record of the job outside the session, watches it, checks the result before it lands, and gives me one place to see it all. I didn’t design mine. I added it one block at a time, each block after something broke.
AI-augmented, roughly 70% AI (what this means)
I love AI, and I use it on posts like this one partly to get better at using it. The percent is a rough guess: after rounds of prompting, rewriting and editing, it's very hard to say which words came from whom.
For a wider view, try landscape or desktop.
Who fills each block
| Block | Gas City | firstmate | Claude (native) | Mine |
|---|---|---|---|---|
| Chat: front door You cannot hold ten conversations. One agent holds the whole picture and you talk only to it. | Mayor | first mate | the main Claude Code session | Larry, my main Claude session |
| Rich review A plan, a diagram or a diff cannot be reviewed by scrolling chat. You need a page you can point at. | N/A | lavish-axi | Artifacts, plan mode | lavish-axi on trial, markdown files |
| Overview With a fleet running, no chat and no single page shows what needs you next. You need one board. | don't know | N/A, you ask the first mate | N/A | Cockpit |
| Work ledger Context windows die. Work that lives only in a chat is lost on the next compaction or crash. | beads, molecules, convoys | tasks-axi backlog | session task list only, not durable | beads (bd) |
| Workers One agent is serial: slow, blocks you, confused when tasks stack. A fresh agent per task is parallel and starts clean. | polecats, crew | crewmates, scouts, secondmates | subagents, agent teams | Claude subagents, Codex and Grok sessions |
| Isolation Two agents in one checkout overwrite each other and commit to the wrong branch. | worktree per polecat | treehouse, pooled worktrees | worktree isolation flag | treehouse switching from plain git worktree |
| Runtime You need to see a worker, type into it, and have it outlive whoever spawned it. | tmux | tmux or Herdr tabs | background tasks, in-process | Herdr tabs |
| Dispatcher Subscriptions run out at different times and models differ in strength. Someone has to route. | don't know yet | crew-dispatch.json rules plus quota-axi floors | a model per subagent, Claude only, no quota awareness | my judgment plus quota-axi |
| Supervisor A finished or stuck worker sits silently. The front door cannot watch without blocking you, and its own watchers die with its session. | Witness, Deacon patrol agents | a bash watcher, outside the agents | task notifications, die with the session | my watcher daemon, outside the session |
| Quality gate Agents say done when it is not. Nothing lands on their word alone. | Refinery | no-mistakes | hooks, /code-review | no-mistakes on the blog, stronger-model review, I merge |
The firstmate column is from its docs, not from running it. The Gas City column is from memory and from my own posts on it. The Claude column is what ships in Claude Code today. Cells that say don't know are cells I have not checked.
Why I hand-roll mine
I run two. Larry runs on the one I built, the “Mine” column in the table above. When I want one off the shelf, I use Gas City.
- It fits me: my nudges, my repos, my review habits, my phone.
- Building a block is how I learn what it’s for, and that’s how I can judge someone else’s version.
- Each block can come from a different vendor, and I pick whichever is best. That matters more when I can’t afford all the expensive tokens I want.
The cost: when a distribution ships something new, I’m behind, sometimes by months. I’m fine with that, because each block is small and cheap to throw away.
Claude will probably absorb most of this
Each block covers something Claude doesn’t do yet, and Claude keeps catching up. Worktree isolation was my own block for a while; now it’s a flag. I’d guess the ledger, dispatcher and supervisor go the same way. No idea when.
When that happens, I delete mine and use theirs.