How It's Made · Step 4 of 27
Hiring a team of agents - a CEO, specialists and a one-page rulebook
claudeagentsprocess

For the first four days, the project was one long conversation between the owner and one Claude. It worked until it did not: the chat got heavy and unrelated jobs started to overlap in one context.
On 21 September we turned it into a small company. This step is about how that is set up, because it is the most reusable thing in the whole project.
The setup, in one paragraph
Claude Code lets you define subagents: named roles with their own instructions, tools and model. We wrote one file per role in .claude/agents/, a rulebook that every chat and every agent reads (CLAUDE.md), and a roster in Docs/AGENTS.md that says what each role owns and may never touch. The owner talks to one role, the CEO. The CEO does not write code, build models or run tests. It turns feedback into plan rows, writes handoffs, and delegates.
The roles
We started with six and have more than a dozen now. The ones that matter most:
| Role | Owns | Never touches |
|---|---|---|
| CEO | the plan, the vision, the handoffs | code, models, maps |
| Engine | C++ in Source/, build and package scripts | model builders and map generators |
| Modeller | the Blender and LEGO scripts, model review boards | game code |
| Mapper | terrain and map generators | game code and models |
| QA | playtests and scripted scenario runs | any fix: it files, it never repairs |
| Writer | the campaign text and briefings | everything else |
| UI designer | the design system and the interface styling | gameplay code |
| Perf | the frame budget and the cost of working | gameplay design |
| Design reviewer | an argument about whether it is fun | any file but its own |
Later came an enemy-AI role (the opponent), a tracker that audits what is rotting, a compactor that keeps the documents small, a name checker, and a mission maker. The pattern is always the same: one job, a list of files it owns, a list it must not touch, and a definition of "done".
The rule that did the most
Nothing is done without a proof file.
A screenshot, a log line, a test output, a contact sheet. A role that finishes something another role must pick up appends a handoff to one shared file:
## 2026-09-22 11:40 modeller -> engine Carrier v7 exported
- files: Content/Meshes/Carrier*.fbx, rigs.json (Carrier entry)
- proof: Docs/review/Carrier_views.jpg
- ask: import + one showcase screenshot; owner verdict pending
- status: OPEN
The receiver marks it DONE with what it did and where the proof is. It reads like bureaucracy and it is the reason a project this size does not lose work. By 25 September there were 126 open handoffs at once, and the log still told each role what was waiting for it.
Rules that came from mistakes
Almost every line in CLAUDE.md is a scar:
- One editor process at a time. Two Unreal editors and a Blender render on one PC end with the machine out of memory.
- Never run UE tests one by one. Batch the work, then one export, import, compile and test pass.
- Edit, never Write, an existing file. A full rewrite re-sends the whole file and can silently lose lines.
- Commit per finished row, and never leave the game broken.
- Model verdicts belong to the owner. Show a board, ask, and do not iterate past what was judged.
- No agent fan-outs unless the owner asks. A swarm of agents spends tokens very quickly, so the owner decides when one is worth it.
What the human does
The owner plays the game, writes notes in plain language, and gives verdicts: yes, no, closer, scarier, funnier. The CEO files those notes as rows and quotes the owner's own words in them, so a specialist who has never seen the conversation still hears what was said. That habit helped keep the specialists on the owner's intent.
What we would do differently
- Start with three roles, not six. The CEO, the engine and the modeller carried most of the first month.
- Write "never touches" before "owns". The boundaries cost nothing and prevent most collisions.
- Give every role a reading budget on day one. We did not, and the next step is about what that cost.
Try it yourself
Pick the three jobs in your project that are most unlike each other, write one page for each saying what it owns and what it must never touch, and make a fourth role that only coordinates. Then make the coordinator promise not to do the work.
Next: The model review loop - reference boards, a camera solver and a rig audit (22 September 2026)
Written afterwards from our project notes and commit history; dated to when the work happened.


