What it does
twoperson sets up a two-person rule for AI coding agents. A builder agent writes a review packet, a JSON record of its goal, head commit, changed files and test results, and publishes it to a shared .twoperson inbox directory. A reviewer agent claims the packet and writes a verdict. There is no server, API key or network involved; the two agents just share a directory. The rule lives in a schema rather than a prompt. A verdict must answer a packet that exists, an approval must name the commit that packet is at, and a report of work as pushed, deployed or restarted is refused without a reference to an approving verdict for that same commit. Test changes must be acknowledged by path, and the changed-files list is recomputed from git. Packets are treated as untrusted input, with a size cap, a strict schema and a scan for credential-like values. It installs with pip. A Stop hook installer adds a signal to Claude Code settings, a macOS launchd watcher can run a reviewer command when a packet arrives, and the inbox is shared across git worktrees. The README is explicit that it does not review code, spawn agents or verify who the reviewer is.
Capabilities
- Review packets recording goal, head commit, changed files and test evidence
- Approvals bound to one commit, so a rebase or amend makes them stale
- Ship reports refused without a matching approving verdict
- Strict packet schema with a credential scan
- Claude Code Stop hook installer and a worktree-aware shared inbox
- Difficulty tiers from low to critical to decide which reviewer sees a packet
When to use it
- You run one coding agent to build and another to review the same repository
- You want a review recorded against an exact commit instead of relying on a prompt instruction
- Your agents work in separate git worktrees and need to share one review inbox