One agent file, many opinions
I did not want three review agents for three CLIs. I wanted the agent I already tuned for Claude Code to run everywhere. That one constraint shaped multi-agent's architecture.
The core normalizes an agent definition into a portable form and maps its tools onto a neutral capability vocabulary: read_files, search_repository, run_shell. Each adapter maps those capabilities onto its own CLI's native tool names. Tools that cannot be mapped are reported, never silently dropped. The core never learns about a specific model, so every quirk lives in one adapter file.
The payoff is that diversity comes free. Same agent, same instructions, three different models reading the same code. When they converge on a finding, I trust it more. When they diverge, I have coverage I would not have had alone.