Brick & Mortar

How It's Made · Step 4 of 27

Step4

Hiring a team of agents - a CEO, specialists and a one-page rulebook

· 3 min read

claudeagentsprocess

A top-down view of a battlefield on grass, with wrecked brick vehicles, debris and a few small brick soldiers.

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:

RoleOwnsNever touches
CEOthe plan, the vision, the handoffscode, models, maps
EngineC++ in Source/, build and package scriptsmodel builders and map generators
Modellerthe Blender and LEGO scripts, model review boardsgame code
Mapperterrain and map generatorsgame code and models
QAplaytests and scripted scenario runsany fix: it files, it never repairs
Writerthe campaign text and briefingseverything else
UI designerthe design system and the interface stylinggameplay code
Perfthe frame budget and the cost of workinggameplay design
Design revieweran argument about whether it is funany 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:

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

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)

Start at Step 1All 27 steps

Written afterwards from our project notes and commit history; dated to when the work happened.