Skip to content

/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

shell
$ 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.
  • You can call itInvoke it directly when you want it.
  • Slash command/review-pr
How auto-invocation works

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.220+. 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

Deep code review using 6-7 parallel specialized agents.

Quick Start

/ork:review-pr 123
/ork: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

The PR number or branch is passed as the skill argument. Resolve it immediately:

PR_NUMBER = "$ARGUMENTS[0]"  # e.g., "123" or "feature-branch"

# If no argument provided, check environment
if not PR_NUMBER:
    PR_NUMBER = os.environ.get("ORCHESTKIT_PR_URL", "").split("/")[-1]

# If still empty, detect from current branch
if not PR_NUMBER:
    PR_NUMBER = "$(gh pr view --json number -q .number 2>/dev/null)"

Use `PR_NUMBER` consistently in all subsequent commands and agent prompts.

---

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 `/review` and `/code-review` (CC 2.1.202; background since 2.1.218):** the built-in `/review` is a **fast single-pass** correctness-bug review of a PR; the **multi-agent** review is now `/code-review <level> <pr#>` (CC's own parallel-agent pass at higher levels, with `--comment` to post findings as inline PR comments). Since CC 2.1.218 `/code-review` runs as a **background subagent** — review work no longer fills your conversation, and stacked slash commands keep it as their review target (#3092). Neither is redundant with this skill: reach for built-in `/review` for a quick single-pass bug sweep, or `/code-review <level> <pr#>` for CC's built-in multi-agent pass; use `/ork:review-pr` for the deep multi-dimensional audit (6-7 parallel specialized agents — security, tests, architecture, performance — memory-KG context, domain-aware selection, adversarial refutation, synthesized approve/comment/request-changes verdict + KG writeback). Quick pass → built-in `/review`; high-stakes project-aware audit → ork. (#1940)

---

STEP 0b: Select Orchestration Mode

Load orchestration guidance: `Read("${CLAUDE_SKILL_DIR}/references/orchestration-mode-selection.md")`

---

MCP Probe (CC 2.1.71)

# memory is alwaysLoad in .mcp.json (CC 2.1.121+, #1541) — probe below kept as fallback for older CC:
ToolSearch(query="select:mcp__memory__search_nodes")
Write(".claude/chain/capabilities.json", { memory, timestamp })
# If memory available: search for past review patterns on these files

---

CRITICAL: Task Management is MANDATORY

**BEFORE doing ANYTH

Read more
Read it on GitHub ↗

Showing the first part of this file.

Ships withorchestkit

The Complete AI Development Toolkit for Claude Code — 114 skills, 37 agents, 212 hooks. Production-ready patterns for full-stack development.

Get the whole plugin, auto-invoked
Stats
212
Stars
0
Views
22
Forks
Active
Maintenance
TypeScript
Language
MIT
License
33m ago
Last commit
7mo ago
Created

Repo: yonatangross/orchestkit

Other skills on orchestkit.