One agent can't catch its own mistakes. It wrote them, so it can't see them.

A team can: one builds, another tears it apart, a third tests it, and a lead keeps them moving. That's the difference between a demo and real work.
Full config below: the roles, the handoffs, and what keeps them honest.
Here's the full setup 👇
Before we dive in, I share daily notes on AI & vibe coding in my Telegram channel: https://t.me/zodchixquant🧠

## Why a team beats one agent
A single agent reviewing its own code is the same mind that wrote the bug grading its own work.
It writes tests that match the implementation instead of the spec, and "reviews" with the exact blind spots that created the problem.
A team breaks that. The writer writes. A separate reviewer, blind to the writer's reasoning, hunts for what's wrong.
A tester builds from the spec, not the code. Each one is sharper because its job is narrow, and because no agent checks its own work.
The config is 4 roles, a handoff file, and a lead that runs them.

## The roster: 4 roles, one job each
Three specialists plus a lead. Drop the specialists into .claude/agents/.
writer.md:
---
name: writer
description: Implements features. Writes code, nothing else.
tools: Read, Write, Edit, Glob, Grep, Bash
model: sonnet
---
You write code that ships. You do not test or review.
1. Read the brief and the files you need, fully.
2. Implement, matching existing style.
3. Confirm the build isn't broken.
4. Summarize what you wrote with file:line refs.
You do not write tests. You do not review yourself. Stay in your lane.reviewer.md:
---
name: reviewer
description: Reviews code from this session. Finds problems, never edits.
tools: Read, Grep, Glob, Bash
model: sonnet
---
You review code you did not write.
1. Run git diff to see what changed.
2. Check for bugs, edge cases, security holes, broken conventions.
3. Output: Critical, Important, Nitpick, each with file:line.
Find nothing critical? Say so. Don't invent issues to look useful.tester.md:
Generated by Thread Navigator
Press ⌘ + S to quick-export
