agentsclimarketplace

Multi ai review agent

Skill MathieuDoyon/multi-ai-review-agent/skills/multi-ai-review-agent

Adversarial multi-AI peer review of a code change via the Cursor `agent` CLI across diverse model families (GPT/Codex, Claude/Opus, Grok, and more), with interactive model selection, selectable thinking level, base-ref override, extra focus, and a remembered last-used lineup. Use when the user asks for a "multi-AI review", "cross-AI review", "peer review", "review with cursor / agent / multiple models", or wants an independent second/third opinion on a diff, PR, or commit before merging.From its SKILL.md

Install
npx -y skills add MathieuDoyon/multi-ai-review-agent --skill multi-ai-review-agent

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.9 KB, as published. Nobody here has run it

Multi-AI Peer Review (Cursor agent, engine-backed)

This skill drives a bundled Node CLI at scripts/cli.mjs that discovers Cursor agent models, runs the selected ones in parallel forcing a JSON schema, and returns a deterministic Markdown report. The host agent then ground-truths the actionable findings before presenting them.

Each reviewer runs read-only: agent --print --output-format text --mode ask --trust --model <id>, with the diff piped in on stdin.

Set the CLI path once — DIR is this skill's own directory (the directory containing this SKILL.md, wherever the skill was installed):

DIR="<absolute path to this skill's directory>"

Procedure

1. Parse invocation args

Invocation may include a base ref and/or extra focus. In Claude Code, use /multi-ai-review-agent [baseRef] [focus text…]. In Codex, invoke $multi-ai-review-agent and include [baseRef] [focus text…] in the prompt.

  • A token that looks like a git ref (contains / such as origin/main, or is a bare main/master/tag) → baseRef.
  • All remaining words → focus. Either may be absent.

2. Run prep

node "$DIR/scripts/cli.mjs" prep <baseRef-if-any>

Read the JSON: families (ordered — last-used first, then Codex/Opus/Grok, then the rest; each has family, label, flagship, variants, efforts), lastModels, baseRef (ok + ref/mergeBase, or ok:false + message), and diffStat.

3. Ask the user

Use the host's structured user-input mechanism when available and ask all questions in one interaction. Otherwise, ask the questions conversationally.

  • Q1 "Which models should review this?" (multiSelect: true). Options = the flagship of each of the first up to 4 families from prep.
    • Label each Label (flagship-id), e.g. Opus 4.8 (claude-opus-4-8-high) using the family's label and flagship.
    • For families whose flagship appears in lastModels, order them first and append · last to the label. If the host cannot preselect options, surfacing them first and labeling them is how "remember last" shows up.
    • Offer Other when the host supports it so the user can type exact model IDs or family names not shown; map that text to concrete IDs using the prep families list (a family label/name → its flagship; an exact id → itself).
  • Q2 "Thinking level?" (single-select). Options: medium (Recommended), high, low. Cursor bakes effort into the model id, so the engine maps this level to each chosen family's matching effort variant (e.g. high → claude-opus-4-8-high), falling back to the family's base id when that effort is not offered.
  • Q3 "Base ref?" — include only if prep returned baseRef.ok:false. Options: origin/main, origin/master, main, master, plus Other. If prep succeeded, do not ask; instead state the detected ref (baseRef.ref) and diffStat in your preamble.

4. Resolve selections to model IDs

Turn the selected family flagships (and any "Other" text) into an exact comma-separated list of model IDs. Pass the family flagship id (e.g. claude-opus-4-8-high); the engine re-resolves it to the chosen thinking level. Never pass a display label — only IDs.

5. Run the review

node "$DIR/scripts/cli.mjs" run \
  --models <csv-of-ids> \
  --thinking <low|medium|high> \
  [--base <ref>] \
  [--focus "<focus text>"] \
  [--timeout <seconds>]

This prints the deterministic report (findings table with severity, confidence, consensus models, location, recommendation, action; a "Do Not Address Yet" section; and any reviewer failures) and records the resolved lineup globally for next time. Use the host's background execution support when available; it typically takes 1–3 minutes for three models. Large diffs may need a higher timeout (default 240s), e.g. --timeout 480.

6. Ground-truth, then present

Reviewers hallucinate. Before presenting, verify every finding actioned address or investigate against the actual code and tools:

  • type claims → tsc --noEmit (a green vite/esbuild build does NOT type-check);
  • behavior claims → read the cited file / run the relevant test. Downgrade false positives with a one-line rationale. Present the report plus your triage. Optionally apply the confirmed fixes, re-run the project gates (lint/type-check/tests/build), and — for a PR — post a short summary comment with the lineup, verdicts, and what was addressed vs. ignored.

Notes

  • The CLI forces each model into one fenced-JSON block; a non-compliant model degrades to a "Reviewer Failures" row rather than breaking the run.
  • Model discovery is at runtime (agent models); versions are never hardcoded. Keep family diversity — don't pick three variants of one family.
  • Reviewers run read-only (--mode ask); --trust only grants workspace trust so the headless run isn't blocked, not command execution.
  • You must be signed in to Cursor (agent status); if not, run agent login.
  • The bundled scripts/cli.mjs is a committed build output. After changing the engine (src/), run pnpm build and commit the regenerated bundle.
  • Data egress: running a review sends the full branch diff (up to the configured limits) to Cursor's servers and the model providers behind the models you select. Don't run this skill on repos whose diffs must not leave the machine.

Keep looking

Skills are one crate of 628,853. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.