Review React code and UI

Inquisitor · Code review3 spells in orderProposed, not testedUnrated

Play the combo

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 summon that reads the unstaged diff and reports sure flaws.

    What really happensReviews the change for defects and project rule breaks, reporting only high-confidence findings.

    Code reviewer: Context 40/40.

  4. PR Toolkit Code Reviewer

    The summons work the problem, each in its own context.

    What really happensEach subagent does its own model and tool work, apart from the main conversation.

    Tangle Hydra takes 33.

  5. PR Toolkit Code Reviewer

    Code reviewer returns with a short report.

    What really happensOnly the subagent's final summary comes back to the main agent.

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

  6. Regrow

    The Tangle Hydra uses Regrow.

    Inquisitor takes 8. Inquisitor: Context 82/100.

  7. Vercel React Best Practices

    A scroll of React and Next.js rules, ranked by how much they slow a page.

    What really happensChecks rendering, data fetching and bundle size for React performance problems.

    Tangle Hydra takes 33.

  8. Regrow

    The Tangle Hydra uses Regrow.

    Inquisitor takes 8. Inquisitor: Context 74/100.

  9. Vercel Web Design Guidelines

    A scroll that audits UI code and marks each miss by file and line.

    What really happensChecks the UI code against Vercel's interface guidelines and reports findings by file and line.

    Tangle Hydra takes 34. Tangle Hydra falls.

  10. Victory

    The Tangle Hydra falls.

    What really happensA general review catches defects and broken project rules. Two focused guides then add checks for React performance and UI implementation.

Cast order

  1. PR Toolkit Code Reviewer

    Reviews the change for defects and project rule breaks, reporting only high-confidence findings.

  2. Vercel React Best Practices

    Checks rendering, data fetching and bundle size for React performance problems.

  3. Vercel Web Design Guidelines

    Checks the UI code against Vercel's interface guidelines and reports findings by file and line.

Why it works

A general review catches defects and broken project rules. Two focused guides then add checks for React performance and UI implementation.

Records

Not measurable yet: PR Toolkit Code Reviewer has no log match.

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 casts1 of 1runs cleared on the first prompt
Attunement0%0 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 rate83%15 of 18 runs passed every check; Unarmed: 82 of 94 (matched quests)
Steadiness61%reliability: Wilson 95% lower bound
Buff-4 pp debuffvs Unarmed, only matched quests (18 equipped runs; 94 control runs)
Instant casts14 of 18runs cleared on the first prompt; Unarmed: 69 of 94 (matched quests)
Attunement0%0 of 18 runs opened an equipped skill
Upkeep+3% 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%3 of 3Unarmed: 100% (23 of 23)44%+0 ppvs Unarmed3 of 3100%Unarmed: 23 of 23130sUnarmed: 31s1,158 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; 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 --workflow review-focused-react-ui --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, vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278, vercel-web-design-guidelines@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: missing-profile reviewQuest v2100%3 of 3Unarmed: 100% (12 of 12)44%+0 ppvs Unarmed3 of 3100%Unarmed: 12 of 1217sUnarmed: 7s478 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; 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 --workflow review-focused-react-ui --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, vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278, vercel-web-design-guidelines@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: queue component reviewQuest v2100%1 of 121%no control run yet1 of 1100%112s38 Not reported+1 / -00%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 --workflow review-focused-react-ui --quest inquisitor-react-list --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, vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278, vercel-web-design-guidelines@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: queue component reviewQuest v2100%3 of 3Unarmed: 100% (12 of 12)44%+0 ppvs Unarmed3 of 3100%Unarmed: 12 of 12113sUnarmed: 14s641 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; 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 --workflow review-focused-react-ui --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, vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278, vercel-web-design-guidelines@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: cut the next releaseQuest v367%2 of 3Unarmed: 89% (16 of 18)21%-22 pp debuffvs Unarmed1 of 333%Unarmed: 4 of 181.537sUnarmed: 43s1,213 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; 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 --workflow review-focused-react-ui --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, vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278, vercel-web-design-guidelines@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: seat holds pull requestQuest v833%1 of 3Unarmed: 41% (7 of 17)6%-8 pp debuffvs Unarmed1 of 333%Unarmed: 7 of 17128sUnarmed: 28s1,055 Unarmed: 1,086Not reportedUnarmed: 2.4k+6 / -0Unarmed: +6 / -00%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 --workflow review-focused-react-ui --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, vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278, vercel-web-design-guidelines@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: receipts security reviewQuest v2100%3 of 3Unarmed: 100% (12 of 12)44%+0 ppvs Unarmed3 of 3100%Unarmed: 11 of 12118sUnarmed: 19s750 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; 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 --workflow review-focused-react-ui --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, vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278, vercel-web-design-guidelines@063bee94c3f4df8453406c830b0a7df0f2860278. 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 Review React code and UI (workflow), Claude CodeScrying (screenshot) of a cleared run of Inquisitor: missing-profile review with Review React code and UI (workflow), Claude CodeScrying (screenshot) of a cleared run of Inquisitor: queue component review with Review React code and UI (workflow), Claude CodeScrying (screenshot) of a cleared run of Inquisitor: queue component review with Review React code and UI (workflow), Claude Code
Explore the quests, full results and trial method

Learn the spells

  1. 1. PR Toolkit Code Reviewer

    Claude Code

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

  2. 2. Vercel React Best Practices

    Claude Code and Codex

    npx skills add vercel-labs/agent-skills

  3. 3. Vercel Web Design Guidelines

    Claude Code and Codex

    npx skills add vercel-labs/agent-skills