7.3 KiB
name, description
| name | description |
|---|---|
| magpie-review | Run a multi-AI adversarial code review using the `magpie` CLI. Multiple AI models independently review the changes, debate findings, and a verifier audits each issue against the actual code. Use whenever the user asks for a "magpie review", a "multi-AI review", an "adversarial review", a "second opinion review", or wants magpie to look at local uncommitted changes, the current branch, or a GitHub PR. Also use when the user wants to `magpie discuss` a topic or do a whole-repo review. |
magpie-review
Wraps the magpie CLI to run adversarial multi-AI code reviews. Magpie spawns several reviewer models (Claude Code, Codex, Gemini, etc.) that independently review a change, debate across rounds, then a verifier audits each reported issue against the actual code.
When to pick which mode
Magpie supports three review targets — pick based on what the user is reviewing:
| User's intent | Command |
|---|---|
| Review work I haven't committed yet (staged + unstaged) | magpie review --local |
| Review the commits on my current branch vs a base | magpie review --branch [base] (base defaults to main) |
| Review a GitHub PR | magpie review <pr-number> or magpie review <pr-url> |
| Review specific files only | magpie review --files <path> [path...] |
| Review the entire repository | magpie review --repo |
| Discuss a topic / design question | magpie discuss "<topic>" or magpie discuss <path-to-file.md> |
If the user is ambiguous (e.g. "review my changes"), check git status and git log @{u}..HEAD to figure out whether they mean uncommitted, committed-but-unpushed, or already-pushed work — then pick the matching mode rather than guessing.
Running a review
Always run magpie from inside the target repo's working tree. For PR mode it uses the origin remote to find the repo by default.
Common flags
These apply to both review and discuss unless noted:
-i, --interactive— Pause between turns for Q&A. Use when the user wants to drive the review themselves.-a, --all— Use every configured reviewer without an interactive picker. Good for non-interactive/batch runs.--reviewers <ids>— Comma-separated reviewer IDs (e.g.claude-code,gemini-cli) when you want a specific subset.-r, --rounds <n>— Cap the debate rounds (default 5).--no-converge— Disable early-stop on consensus. Use when you want the full debate even if reviewers agree quickly.-o, --output <file>and-f, --format <markdown|json>— Save results to a file.--fail-fast— Abort the whole flow if any reviewer fails. Default is resilient (continues with surviving reviewers). Use fail-fast when debugging provider/auth issues or when the user wants a guarantee every reviewer participated.--plan-only— Generate the review plan without running reviewers. Useful for a quick preview of what magpie would do.
review-only flags worth knowing
--skip-context— Skip the context-gathering phase (call chains, related PRs). Faster, less informed.--no-post— Skip the post-debate GitHub comment-posting flow. Use in non-interactive contexts where you just want the review output, not the interactive post-each-issue loop.--no-conclusion— Skip the final summarizer. Useful for bot/CI use.--git-remote <remote>— Override the remote used for PR-URL detection (defaultorigin).--reanalyze— Bypass the analyzer cache and re-analyze from scratch.
Repo-mode flags (with --repo)
--path <subdir>— Limit the repo review to a subdirectory.--ignore <patterns...>— Skip matching paths.--quick— Architecture overview only.--deep— Full analysis, no prompts.--list-sessions/--session <id>/--export <file>— Manage long-running repo review sessions (they persist so you can pause and resume).
Interactive vs non-interactive
Magpie's default flow includes interactive prompts (reviewer selection, per-issue post/edit/skip after the debate). When you (Claude) are invoking magpie programmatically on the user's behalf:
- Prefer
-a(or--reviewers) to skip the reviewer-selection prompt. - Prefer
--no-postto skip the per-issue posting loop — the user can still read the review output. - If you want a clean machine-readable result, add
-f json -o <file>.
When the user wants to drive the review themselves, hand the command back to them to run (e.g. via ! magpie review ...) so they get the interactive UX rather than running it through a tool call.
Running it as a long task (it takes minutes)
A full review runs several models across multiple debate rounds, so it takes minutes. Run it as a background Bash task with run_in_background: true and save the output (-f markdown -o <file>). The background task auto-notifies you when it completes — that completion notification is all you need; read the saved output file then.
- Do not add a separate
Monitoron the same output file. The background task already notifies on completion, so a monitor watching the same file is redundant. Only add aMonitorif you genuinely need streamed interim progress, and even then it is usually unnecessary for a fire-and-forget review. - Never copy the output path by hand. Pass the same explicit
-o <file>path you chose (e.g./tmp/magpie-review.md) to your follow-upRead— don't transcribe the long auto-generated task-output path from the completion notification, which is easy to typo. - Don't suppress stderr (
2>/dev/null) on magpie or on any watcher command. If something fails — bad path, auth error, missing reviewer — you want to see why, not a bare non-zero exit. Use2>&1 | tee <log>if you want both a saved log and visible errors.
Examples
User: "Have magpie look at what I'm working on right now." They likely mean uncommitted work. Run:
magpie review --local
User: "Get a magpie review on this branch before I push." Current branch vs main:
magpie review --branch
User: "Run magpie on PR 4521."
magpie review 4521
User: "Use magpie to review just the changes to src/auth/."
Pick the files mode:
magpie review --files src/auth/login.ts src/auth/session.ts
User: "Get a fast magpie sanity check on PR 4521 — I just want the output, don't post anything."
magpie review 4521 -a --no-post --skip-context
User: "Have magpie debate whether we should adopt tRPC."
magpie discuss "Should we adopt tRPC for our internal APIs?"
Configuration notes
- Magpie reads
~/.magpie/config.yamlfor providers, reviewers, analyzer, summarizer, and the context-gatherer config. - CLI providers (
claude-code,codex-cli,gemini-cli,qwen-code,opencode-cli) use the user's existing subscriptions/logins — no API keys needed and they're the recommended choice. - If the user hasn't run
magpie inityet, suggestmagpie init(interactive) ormagpie init -y(defaults) before the first review. - If
magpieis not on PATH, the project at/home/tgrosinger/code/magpiemay neednpm install && npm run build && npm linkfrom its root.
When not to use this skill
- The user is asking how magpie itself is implemented or wants to modify magpie's source — that's a normal code task in the magpie repo, not an invocation of this skill.
- The user wants a single-model review (just Claude reviewing the diff). Use the built-in
/code-reviewskill instead.