I've been watching how other people structure their Claude Code setups, and gstack got me thinking. Gary Tan's framework assigns Claude agents to named roles — CEO, engineering manager, QA — and the idea is that giving each agent a persona shapes how it reasons. It's a thoughtful approach, and I get the appeal.

But after a few months of running multi-agent setups daily, I landed somewhere different.

The thing that actually changed behavior

When I tried giving agents distinct personas without changing anything else, the outputs looked... roughly the same. A "QA agent" that could still write and commit code thought like a writer. It suggested fixes, restructured things, went down implementation rabbit holes. The persona was decorative.

The change that stuck was making agents genuinely read-only. One reviewer agent: no file edits, no shell commands, no git access. Just read and comment.