Skip to content
Development
Skill

/review-pr

PR review using parallel specialized agents for code quality, security, testing, architecture, and performance analysis. Synthesizes findings into a review report with conventional comments (praise/issue/suggestion/nitpick) and approve or request-changes verdict. Use when

From plugin
orchestkit
269113 skills36 agents
Install
$ npx -y skills add yonatangross/orchestkit --skill review-pr --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/review-pr

Context preview

The summary Claude sees to decide when to auto-load this skill.

PR review using parallel specialized agents for code quality, security, testing, architecture, and performance analysis. Synthesizes findings into a review report with conventional comments (praise/issue/suggestion/nitpick) and approve or request-changes verdict. Use when

SKILL.md

review-pr.SKILL.md
name: review-pr
license: MIT
compatibility: "Claude Code 2.1.251+. Requires memory MCP server, gh CLI."
description: "PR review using parallel specialized agents for code quality, security, testing, architecture, and performance analysis. Synthesizes findings into a review report with conventional comments (praise/issue/suggestion/nitpick) and approve or request-changes verdict. Use when reviewing pull requests, conducting security audits, or validating changes before merge."
argument-hint: "[pr-number-or-branch]"
context: fork
# user-typed commands stay interactive; CC >= 2.1.218 backgrounds forks by default (#3093)
background: false
version: 1.9.0
author: OrchestKit
tags: [code-review, pull-request, quality, security, testing]
user-invocable: true
allowed-tools: [SendMessage, AskUserQuestion, Bash, Read, Write, Edit, Grep, Glob, Agent, TaskCreate, TaskUpdate, TaskStop, mcp__memory__search_nodes, ToolSearch, Monitor]
skills: [code-review-playbook, testing-unit, testing-e2e, testing-integration, memory, chain-patterns]
complexity: medium
persuasion-type: discipline
hooks:
  PreToolUse:
    - matcher: "Read"
      command: "${CLAUDE_PLUGIN_ROOT}/hooks/bin/run-hook.mjs skill/pr-context-loader"
      once: true
    - matcher: "Agent"
      command: "${CLAUDE_PLUGIN_ROOT}/hooks/bin/run-hook.mjs skill/review-dimensions-loader"
      once: true
metadata:
  category: workflow-automation
  mcp-server: memory
triggers:
  keywords: ["review pr", "code review", reveiw, "review pull request", "review the changes", "thorough review", "review of", "look over", "check this pr", "before we merge"]
  examples:
    - "review PR 123"
    - "do a code review on this pull request"
    - "check this PR for issues before we merge"
  anti-triggers: [create pr, open pr, commit, assess, rate, implement]

Review PR

Host-neutral workflow. Invoke by skill name (`review-pr`). Claude Code slash routing, YAML hook loaders, and `.claude/chain` live in `references/claude-code.md`.

Deep code review using 6-7 parallel specialized agents.

Quick Start

review-pr 123
review-pr feature-branch

> **Opus 5**: Parallel agents use native adaptive thinking for deeper analysis. Complexity-aware routing matches agent model to review difficulty.

---

Argument Resolution

Resolve the target with the script first, then review exactly that target (#3892):

TARGET=$(bash "${CLAUDE_SKILL_DIR}/scripts/resolve-target.sh" $ARGUMENTS)  # one JSON object

| `kind` | Comes from | Review source | |---|---|---| | `pr` | `123`, `#123`, a PR URL, `ORCHESTKIT_PR_URL`, or the current branch's open PR (no argument) | `PR_NUMBER`; the `gh pr view/diff/checks` commands below | | `range` | `base...head` or `base..head`, e.g. `origin/main...origin/qa` | `git diff base...head`, `git log base..head`; skip `gh pr checks` and Phase 6 submit | | `ref` | a branch or ref that resolves | `gh pr view <ref>`: open PR, treat as `pr`; none, review `<default>...<ref>` as `range` | | `ask` | anything else, or no argument and no PR | **STOP** and `AskUserQuestion` for a PR number or ref range |

Never substitute `HEAD`, the current checkout, or its branch for a target the user did not name. On `ask`, stop and ask. State the resolved target in your first line of output, and use `PR_NUMBER` (or the range) consistently in every later command and agent prompt.

---

STEP 0: Verify User Intent with AskUserQuestion

**BEFORE creating tasks**, clarify review focus:

AskUserQuestion(
  questions=[{
    "question": "What type of review do you need?",
    "header": "Focus",
    "options": [
      {"label": "Full review (Recommended)", "description": "Security + code quality + tests + architecture"},
      {"label": "Security focus", "description": "Prioritize security vulnerabilities"},
      {"label": "Performance focus", "description": "Focus on performance implications"},
      {"label": "Quick review", "description": "High-level review, skip deep analysis"}
    ],
    "multiSelect": false
  }]
)

**Based on answer, adjust workflow:**

  • **Full review**: All 6-7 parallel agents
  • **Security focus**: Prioritize security-auditor, reduce other agents
  • **Performance focus**: Add frontend-performance-engineer agent
  • **Quick review**: Single code-quality-reviewer agent only

"Ultra" mode → defer to `claude ultrareview` (CC 2.1.120+, #1542)

If the user asks for an "ultra" / "deep" / "thorough" review and the host is on CC ≥ 2.1.120, **defer to the native subcommand** instead of re-implementing the multi-agent loop in skill instructions:

claude ultrareview "$PR_REF" --json

The CLI runs the same multi-agent review (`code-quality`, `security-auditor`, `test-coverage`, `architecture`) with structured output and a determinate verdict (`approve` | `comment` | `request-changes`). On CC < 2.1.120 the subcommand doesn't exist — fall back to the parallel-agents path below.

This keeps the skill thin: built-in CLI wins for "ultra" depth; the OrchestKit skill wins for `--render`-style customization, focused review modes (security-only, perf-only), and offline scenarios.

> **vs built-in `/code-review` (CC 2.1.223; background since 2.1.218):** as of CC 2.1.223 `/review` is simply an **alias of `/code-review`**, so the fast-single-pass vs multi-agent split this note used to draw (CC 2.1.202) no longer exists. One built-in command reviews the current diff or a PR (`/code-review <level> <pr#>`), and with no level it **reuses the level you typed last**, so type a level to change it. Depth is the level: low/medium give fewer high-confidence findings, high and above broaden coverage, and `ultra` runs a deep multi-agent cloud review. `--comment` posts findings as inline PR comments; `--fix` applies them to the working tree. From CC 2.1.257 `--comment` also posts on GitLab merge requests via `glab mr note`. Backgrounding arrived in two steps, and the distinction is load-bearing: CC 2.1.218 backgrounded review **forks** (#3092

Read more
Ships withorchestkit

The Complete AI Development Toolkit for Claude Code. 106 skills, 36 agents, 171 hooks. Install `ork` for stable (v9.x), or `ork-alpha` for the v10 line, which ships daily.

Get the whole plugin

Other skills on orchestkit.