Reviews unstaged changes for CLAUDE.md breaks and bugs, and reports only issues scored 80 or higher.

How it works

Foe: Tangle Hydra, a messy diff that needs review.

Foes

  • Tangle Hydra

Party · Context

  • InquisitorYour agent100/100
  1. Tangle Hydra

    The Tangle Hydra blocks the way.

    What really happensIt stands for a messy diff that needs review.

    Inquisitor: Context 100/100.

  2. Regrow

    The Tangle Hydra uses Regrow.

    What really happensA messy diff hides new problems inside old ones.

    Inquisitor takes 8. Inquisitor: Context 92/100.

  3. PR Toolkit Code Reviewer

    A Code Reviewer steps in before the commit is sealed.

    What really happensClaude Code spawns the code-reviewer agent from the PR Review Toolkit. It is not installed on its own.

    Code reviewer: Context 40/40.

  4. PR Toolkit Code Reviewer

    It follows the unstaged trail unless you point elsewhere.

    What really happensDefault scope is unstaged git diff. You can name files or another scope when you call the agent.

    Tangle Hydra takes 63.

  5. Regrow

    The Tangle Hydra lashes at Code reviewer.

    What really happensThe subagent takes the hit in its own context. The main context stays clean.

    Code reviewer takes 8. Code reviewer: Context 32/40.

  6. PR Toolkit Code Reviewer

    Findings below the ward line stay unspoken.

    What really happensIt checks CLAUDE.md rules, real bugs, and serious quality issues, and reports only scores of 80 or higher.

    Tangle Hydra takes 37. Tangle Hydra falls.

  7. PR Toolkit Code Reviewer

    The summon leaves file, line, rule, and a fix.

    What really happensEach reported issue has a confidence score, a path and line, the broken rule or bug, and a concrete fix.

    Inquisitor takes 2. Inquisitor: Context 90/100. Inquisitor: Insight. Code reviewer returns.

  8. Victory

    The Tangle Hydra falls.

Learn this spell

Claude Code

/plugin install pr-review-toolkit@claude-plugins-official

Notes

Ships inside the PR Review Toolkit plugin; the install line installs that plugin. The agent file pins model: opus. Default scope is unstaged `git diff`; name files or another scope if you want something else. It checks CLAUDE.md rules, bugs, and serious quality issues, and reports only scores of 80 or higher, with a file, line, and a fix.

Proving Grounds record

Controlled quest results, separate from recorded usage. Each setup pools runs across its quests. The per-quest table below has casts, cast time, mana, incantation and runes; medians are not pooled.

Hero: Claude Code 2.1.305; weapon (model): claude-haiku-5-5; charge (effort): low; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.

Clear rate100%1 of 1 runs passed every check
Steadiness21%reliability: Wilson 95% lower bound
Buffno control run yetclear-rate points vs Unarmed
Instant casts0 of 1runs cleared on the first prompt
Attunement100%1 of 1 runs opened an equipped skill
UpkeepNot measuredextra mana per run vs Unarmed
IncantationNot measuredoutput tokens per run vs Unarmed
RunesNot measuredlines added per run vs Unarmed

Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.

Clear rate73%19 of 26 runs passed every check; Unarmed: 82 of 94 (matched quests)
Steadiness54%reliability: Wilson 95% lower bound
Buff-14 pp debuffvs Unarmed, only matched quests (26 equipped runs; 94 control runs)
Instant casts5 of 26runs cleared on the first prompt; Unarmed: 69 of 94 (matched quests)
Attunement85%22 of 26 runs opened an equipped skill
Upkeep+114% manaextra mana per run vs Unarmed, median of 6 quests
IncantationNot measuredoutput tokens per run vs Unarmed
Runes+0%lines added per run vs Unarmed, median of 6 quests

Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.

Clear rate92%11 of 12 runs passed every check; Unarmed: 82 of 94 (matched quests)
Steadiness65%reliability: Wilson 95% lower bound
Buff+4 ppvs Unarmed, only matched quests (12 equipped runs; 94 control runs)
Instant casts9 of 12runs cleared on the first prompt; Unarmed: 69 of 94 (matched quests)
Attunement0%0 of 12 runs opened an equipped skill
Upkeep+2% manaextra mana per run vs Unarmed, median of 6 quests
IncantationNot measuredoutput tokens per run vs Unarmed
Runes+0%lines added per run vs Unarmed, median of 6 quests
Per-quest Proving Grounds record
QuestFixed taskClear ratePassed runsSteadinessReliability lower boundBuffClear-rate points vs UnarmedInstant castsFirst-prompt clearsCastsPrompts to clearCast timeAgent runtimeManaCost at API list pricesIncantationOutput tokensRunesLines added / removedAttunementSkills openedSetupApp, model, effort and sandbox
Inquisitor: export endpoints security reviewQuest v2100%6 of 6Unarmed: 100% (23 of 23)61%+0 ppvs Unarmed1 of 617%Unarmed: 23 of 23235sUnarmed: 31s2,472 Unarmed: 1,129Not reportedUnarmed: 3k+7 / -0Unarmed: +7 / -083%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell anthropic-pr-code-reviewer --quest inquisitor-export-handler --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits anthropic-pr-code-reviewer@d1adba47161a271799de7b548225d929310046bd. How to run it

Inquisitor: export endpoints security reviewQuest v2100%2 of 2Unarmed: 100% (23 of 23)34%+0 ppvs Unarmed2 of 2100%Unarmed: 23 of 23125sUnarmed: 31s1,085 Unarmed: 1,129Not reportedUnarmed: 3k+7 / -0Unarmed: +7 / -00%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell anthropic-pr-code-reviewer --quest inquisitor-export-handler --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits anthropic-pr-code-reviewer@d1adba47161a271799de7b548225d929310046bd. How to run it

Inquisitor: missing-profile reviewQuest v2100%1 of 121%no control run yet0 of 10%216s730 Not reported+1 / -0100%Hero: Claude Code 2.1.305; weapon (model): claude-haiku-5-5; charge (effort): low; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell anthropic-pr-code-reviewer --quest inquisitor-null-guard --hero claude-code --weapon 'claude-haiku-5-5' --charge low --cast invoked --control

Recorded with quest v2 and spell commits anthropic-pr-code-reviewer@d1adba47161a271799de7b548225d929310046bd. How to run it

Inquisitor: missing-profile reviewQuest v2100%3 of 3Unarmed: 100% (12 of 12)44%+0 ppvs Unarmed2 of 367%Unarmed: 12 of 1217sUnarmed: 7s496 Unarmed: 451Not reportedUnarmed: 394+1 / -0Unarmed: +1 / -033%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell anthropic-pr-code-reviewer --quest inquisitor-null-guard --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits anthropic-pr-code-reviewer@d1adba47161a271799de7b548225d929310046bd. How to run it

Inquisitor: missing-profile reviewQuest v2100%2 of 2Unarmed: 100% (12 of 12)34%+0 ppvs Unarmed2 of 2100%Unarmed: 12 of 1217sUnarmed: 7s501 Unarmed: 451Not reportedUnarmed: 394+1 / -0Unarmed: +1 / -00%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell anthropic-pr-code-reviewer --quest inquisitor-null-guard --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits anthropic-pr-code-reviewer@d1adba47161a271799de7b548225d929310046bd. How to run it

Inquisitor: queue component reviewQuest v2100%3 of 3Unarmed: 100% (12 of 12)44%+0 ppvs Unarmed0 of 30%Unarmed: 12 of 12220sUnarmed: 14s1,319 Unarmed: 616Not reportedUnarmed: 1.1k+5 / -0Unarmed: +5 / -0100%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell anthropic-pr-code-reviewer --quest inquisitor-react-list --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits anthropic-pr-code-reviewer@d1adba47161a271799de7b548225d929310046bd. How to run it

Inquisitor: queue component reviewQuest v2100%2 of 2Unarmed: 100% (12 of 12)34%+0 ppvs Unarmed2 of 2100%Unarmed: 12 of 12113sUnarmed: 14s623 Unarmed: 616Not reportedUnarmed: 1.1k+5 / -0Unarmed: +5 / -00%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell anthropic-pr-code-reviewer --quest inquisitor-react-list --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits anthropic-pr-code-reviewer@d1adba47161a271799de7b548225d929310046bd. How to run it

Inquisitor: cut the next releaseQuest v3100%3 of 3Unarmed: 89% (16 of 18)44%+11 ppvs Unarmed0 of 30%Unarmed: 4 of 18255sUnarmed: 43s2,931 Unarmed: 1,274Not reportedUnarmed: 2.1k+28 / -4Unarmed: +28 / -4100%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell anthropic-pr-code-reviewer --quest inquisitor-release-cut --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v3 and spell commits anthropic-pr-code-reviewer@d1adba47161a271799de7b548225d929310046bd. How to run it

Inquisitor: cut the next releaseQuest v3100%2 of 2Unarmed: 89% (16 of 18)34%+11 ppvs Unarmed0 of 20%Unarmed: 4 of 18240sUnarmed: 43s1,399 Unarmed: 1,274Not reportedUnarmed: 2.1k+28 / -4Unarmed: +28 / -40%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell anthropic-pr-code-reviewer --quest inquisitor-release-cut --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v3 and spell commits anthropic-pr-code-reviewer@d1adba47161a271799de7b548225d929310046bd. How to run it

Inquisitor: seat holds pull requestQuest v813%1 of 8Unarmed: 41% (7 of 17)2%-29 pp debuffvs Unarmed1 of 813%Unarmed: 7 of 1718sUnarmed: 28s498 Unarmed: 1,086Not reportedUnarmed: 2.4k+0 / -0Unarmed: +6 / -0100%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell anthropic-pr-code-reviewer --quest inquisitor-seat-holds --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v8 and spell commits anthropic-pr-code-reviewer@d1adba47161a271799de7b548225d929310046bd. How to run it

Inquisitor: seat holds pull requestQuest v850%1 of 2Unarmed: 41% (7 of 17)9%+9 ppvs Unarmed1 of 250%Unarmed: 7 of 17124sUnarmed: 28s1,075 Unarmed: 1,086Not reportedUnarmed: 2.4k+7 / -0Unarmed: +6 / -00%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell anthropic-pr-code-reviewer --quest inquisitor-seat-holds --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v8 and spell commits anthropic-pr-code-reviewer@d1adba47161a271799de7b548225d929310046bd. How to run it

Inquisitor: receipts security reviewQuest v2100%3 of 3Unarmed: 100% (12 of 12)44%+0 ppvs Unarmed1 of 333%Unarmed: 11 of 12227sUnarmed: 19s1,540 Unarmed: 721Not reportedUnarmed: 1.7k+8 / -0Unarmed: +7 / -067%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell anthropic-pr-code-reviewer --quest inquisitor-sql-handler --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits anthropic-pr-code-reviewer@d1adba47161a271799de7b548225d929310046bd. How to run it

Inquisitor: receipts security reviewQuest v2100%2 of 2Unarmed: 100% (12 of 12)34%+0 ppvs Unarmed2 of 2100%Unarmed: 11 of 12123sUnarmed: 19s738 Unarmed: 721Not reportedUnarmed: 1.7k+7 / -0Unarmed: +7 / -00%Hero: Claude Code 2.1.305; weapon (model): claude-sonnet-5-5; charge (effort): medium; arena: sealed; ambient cast (the agent chose).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell anthropic-pr-code-reviewer --quest inquisitor-sql-handler --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits anthropic-pr-code-reviewer@d1adba47161a271799de7b548225d929310046bd. How to run it

Scrying (screenshots of runs)

The latest run of each setup. Local paths, names and ids are blurred; credentials are removed.

Scrying (screenshot) of a cleared run of Inquisitor: export endpoints security review with PR Toolkit Code Reviewer, Claude CodeScrying (screenshot) of a cleared run of Inquisitor: export endpoints security review with PR Toolkit Code Reviewer, Claude CodeScrying (screenshot) of a cleared run of Inquisitor: missing-profile review with PR Toolkit Code Reviewer, Claude CodeScrying (screenshot) of a cleared run of Inquisitor: missing-profile review with PR Toolkit Code Reviewer, Claude Code

Also equipped in trial loadouts: Review React code and UI (workflow).

Explore the quests, full results and trial method

This spell has no recorded sessions in the curator's logs. Tried it? Send a spell report.