Review anything you build with a panel of models, not just one
Multi-model review and feedback on any code, plan, report or artifact. One command, several different high-capability models in parallel, one ranked list of what to fix.
Why a panel beats a single review
One reviewer has one set of blind spots - and a single model, however strong, misses the same class of bug every time. multi-duck convenes a panel of independent rubber-duck reviewers over whatever you have in flight (a diff, a PR, a plan, tests, or a commentable-HTML plan with its open comments), puts each duck on a different high-capability model so their blind spots do not overlap, runs them all in parallel, then consolidates their findings and applies the fixes that are safe to apply. The disagreement is the point.
Every model is confidently wrong in its own way. Ask the same model that wrote (or reviewed) a change to review it again and it tends to re-make the same oversight. The fix is not a bigger model - it is uncorrelated reviewers. Put an Anthropic model, an OpenAI model, a Google model, and more on the same change and the bug one family always glosses over is the one another family flags on sight.
multi-duck turns that into a one-word command. It runs end to end with no extra prompt: say "multi-duck" and it discovers what to review on its own, launches the panel, waits for every duck, merges the results into one ranked list, and autonomously applies the fixes that are safe - leaving the judgment calls clearly flagged for you. The ducks are strictly review-only; every change is made by the main agent under explicit safe-fix rules.
Install
Works with both Claude Code and the GitHub Copilot CLI. Add the marketplace, install multi-duck, and say "multi-duck".
copilot plugin marketplace add https://github.com/urikanonov/ai-marketplace
copilot plugin install multi-duck@urikan-ai-marketplace
claude plugin marketplace add https://github.com/urikanonov/ai-marketplace
claude plugin install multi-duck@urikan-ai-marketplace
- Download the ZIP above.
- In Claude (Desktop or claude.ai), open Settings > Features and enable Skills (Pro, Max, Team, or Enterprise with code execution).
- Upload the ZIP to add the
multi-duckskill, then invoke it in any chat.
Model diversity is the whole point, so the panel is strongest where several high-capability models are available to you. On the Copilot CLI each duck runs on a distinct model out of the box; on Claude Code, configure a few rubber-duck subagents pinned to different models to get the same cross-model coverage.
plugin update.
What it is good for
A second, third, and fourth opinion - on demand, before you ship.
A go/no-go before you merge
Point it at a branch, an open PR, or a design and get a cross-model read on whether it is safe to ship, with the top agreed risks called out.
Catches the bug one model misses
Model diversity is uncorrelated failure: correctness slips, edge cases, race conditions, security and data-safety issues, missing tests, and migration risks that a single reviewer waves through.
Reviews plans, not just code
It discovers active HTML and commentable-HTML plans and mines their open inline comments, so the panel reviews the proposal and the feedback already on it.
High-confidence verification
In consensus mode every duck answers the same question ("is this migration safe?"), so agreement across independent models becomes a real confidence signal.
Autonomous, safe cleanup
The safe, local, well-verified fixes get applied and verified with the narrowest test; the risky ones are surfaced with a recommended action and why they were held back.
Works where you work
The same panel runs on both Claude Code and the GitHub Copilot CLI, with a host mapping for launching reviewers, picking models, and collecting results.
Two modes, one command
Pick breadth or agreement - or let the default (prisms) choose breadth for you.
Prisms (default)
The panel is split by review aspect - correctness, edge cases, security, tests, performance, migration - with at least two differently-modeled ducks per aspect. Every aspect gets two independent opinions, so coverage spreads wide across a large change.
Consensus
Every duck chases the same goal, so cross-model agreement (k of N) is a strong confidence signal. Best for a focused question or a high-confidence go/no-go: a critical flagged by most of the panel is near-certain.
How it works
Discover, diversify, launch, consolidate, act - autonomously and safely.
Discover the work in flight
It gathers the diff, the PR and its open comments, any markdown plan, the tests, and active commentable-HTML plans with their open inline comments into one self-contained bundle every reviewer can read.
Pick a model-diverse roster
The strongest, most different models your host exposes - one per provider family first - so the ducks are as independent as possible. Each duck gets a review aspect (prisms) or the shared goal (consensus).
Example roster on the GitHub Copilot CLI, in order (substitute the equivalents your host exposes):
claude-opus-5- Anthropic Opusgpt-5.6-sol- OpenAIgemini-3.1-pro-preview- Googlemai-code-1-flash-picker- Microsoft MAIclaude-sonnet-5- Anthropic Sonnetgpt-5.6-terra- OpenAI (5.6 sibling variant)claude-opus-4.8- Anthropic Opus (prior generation)gpt-5.5- OpenAI (prior generation)
Launch the panel in parallel
Every duck runs at once as a strictly review-only reviewer. Running many in parallel is safe because no duck can change anything.
Consolidate the findings
Cluster duplicate findings, weigh agreement, rank by severity, and adjudicate conflicts by reading the work itself - because agreement across models that read the same bundle is corroboration to verify, never proof.
Act on the safe ones
Apply the local, non-destructive, independently-verified fixes and check them with the narrowest test. Defer anything risky - API, dependency, migration, security, infrastructure, history-rewriting - with a clear recommendation.
Run it more than once for complex work
Scale the number of rounds to the complexity of the change. Each round applies the safe fixes and reshapes the work, so a fresh panel over the updated work almost always finds something the previous round could not see yet. For anything non-trivial, run multi-duck across several rounds - the later passes are where the subtle issues surface, and the subsequent rounds almost always turn up something useful.
Autonomous, but safe by design
It fixes what is safe to fix and never guesses at the rest.
Reviewers cannot mutate
Ducks are review-only. Every change is made by the main agent under explicit safe-fix rules, and each fix is independently verified before it lands.
Risky changes are deferred
Public API, dependency, migration, security, infrastructure, and history-rewriting changes are never applied autonomously - they are surfaced with a recommended action for you to decide.
Reviewed content is untrusted
The diff, PR text, and plan comments are treated as data, never as instructions, so embedded prompt injection cannot manufacture panel agreement or drive an autonomous change.
Changelog
Changes to multi-duck. See the full changelog on GitHub.
[1.1.0] - 2026-07-25
- Refreshed the example duck roster to lead with the current strongest Anthropic flagship. The panel now leads with
claude-opus-5as roster row 1 and duck 1 of the prisms example. The rows that changed are row 1 (claude-opus-4.8->claude-opus-5), row 6 (gpt-5.3-codex->gpt-5.6-terra), and the prior-generation tail rows 7 and 8 (claude-opus-4.7->claude-opus-4.8,gpt-5.4->gpt-5.5); the other rows (gpt-5.6-sol,gemini-3.1-pro-preview,mai-code-1-flash-picker,claude-sonnet-5) were already current and are unchanged. The roster stays an illustrative example of the diversity-first selection strategy - substitute the equivalents your host exposes (for example xAI's Grok or Moonshot's Kimi flagships on hosts that offer them, or Google'sgemini-3.6-flashas a lighter distinct-family voice).
- Built-in guidance for repeated panel runs on the same work: rotate/refresh the non-anchor roster each run (and, in prisms mode, which model reviews which aspect) while keeping the top flagships pinned, and increase the duck
countwhen weaker or lighter models are added so extra diversity is additive rather than displacing the flagships.
[1.0.2] - 2026-07-19
- Targetless runs no longer auto-select the newest matching HTML from the user's Downloads folder. The panel now reviews only a target that is explicit in the invocation or clearly identified by the current session; an explicit or session-identified target takes priority and is never overridden by a scratch or working-tree file, and scratch/cwd discovery runs only for a targetless invocation and only for a candidate unambiguously tied to this session. If none is clear, it stops and asks the user which document to review instead of reaching into Downloads.
- The commentable-HTML open-comments extractor is now a shipped script (
tools/extract_open_comments.py) that the skill runs by resolving the plugin root, rather than a full parser listing rehydrated from SKILL.md on every activation. Behavior is unchanged.
Show 2 older releases
[1.0.1] - 2026-07-19
- The shipped plugin package now includes the MIT license text.
[1.0.0]
- Initial release of multi-duck: convene a panel of independent rubber-duck reviewers over the work in flight (a diff, PR, plan, tests, or commentable-HTML plans with their open inline comments), each on a different model, all in parallel, then consolidate the findings and autonomously apply the safe fixes.
- Two panel modes: prisms (split the panel by review aspect, at least two differently-modeled ducks per aspect, for wide coverage) and consensus (every duck chases the same goal so cross-model agreement is a confidence signal).
- Auto-discovers what to review (diff, PR, markdown plan, and active commentable-HTML plans plus their open inline comments) and runs end to end with no extra prompt.
- Dual-host: runs on both Claude Code and the GitHub Copilot CLI, with a host mapping for the reviewer subagent, per-duck model selection, parallel launch, result collection, and tracking.