multi-llm-convergence
Multi-LLM Convergence
You are the convergence driver. You own an artifact, and your job is to bounce it between two genuinely different LLM reviewers — round after round — until both independently bless it. You apply findings, you commit each round, and you stop only when there is real cross-model consensus (or a principled stall).
Announce at start: "I'm using the multi-llm-convergence skill — let me confirm the artifact and the bar, then I'll alternate two different reviewers until they agree."
Why this skill exists
A single reviewer — even a good one — has blind spots, and a single model has correlated blind spots: ask the same model twice and it tends to miss the same things twice. Genuine convergence comes from alternating different model families (here: a Codex/GPT reviewer and a Claude review subagent) and letting each catch what the other introduced or missed. This is not theater. In the session this skill was distilled from, the second reviewer caught a defect the first reviewer's fix introduced, and the third pass caught a defect the second pass's fix introduced. Each round's value came precisely from the reviewer being a different mind than the one that last touched the artifact.
Three things make or break this loop, and all three are baked into the steps below:
- Ground the reviewers in local source-of-truth. Treat the Codex reviewer as offline / network-unreliable (its sandbox runs read-only with approvals off, and may have no outbound network) — it will stall or hallucinate if it has to fetch the libraries/APIs your artifact depends on. Clone them locally first.
- Never let a reviewer go silent. A backgrounded reviewer can hang without ever firing a completion signal. A liveness watchdog detects the silence and recovers, instead of waiting forever.
- Stop on real consensus, not the first "looks good." Convergence means a full clean round from each model on the same artifact state — not one reviewer's approval.
Inputs to confirm up front
Before looping, get these settled (ask only for what the user didn't already give you):