React and Next.js rules for waterfalls, bundle size, server work, and re-renders.

How it works

Foe: Fog Wraith, missing facts, outdated docs or thin context.

Foes

  • Fog Wraith

Party · Context

  • PaladinYour agent100/100
  1. Fog Wraith

    The Fog Wraith blocks the way.

    What really happensIt stands for missing facts, outdated docs or thin context.

    Paladin: Context 100/100.

  2. Haze

    The Fog Wraith breathes haze. Swings start to miss.

    What really happensWithout current docs, the agent guesses at APIs that may have changed.

    Paladin takes 8. Paladin: Context 92/100. Paladin: Haze.

  3. Vercel React Best Practices

    The hero reads the React scroll before writing the next component.

    What really happensThe agent loads vercel-react-best-practices when writing, reviewing, or refactoring React or Next.js code.

    Fog Wraith takes 25.

  4. Vercel React Best Practices

    It opens the highest-impact rule that fits this change.

    What really happensRules are grouped from waterfalls and bundle size down through server work, data fetching, re-renders, and smaller JS tweaks.

    Fog Wraith takes 21.

  5. Haze

    The Fog Wraith uses Haze.

    Paladin takes 8. Paladin: Context 84/100. Paladin: Haze.

  6. Vercel React Best Practices

    A ward holds the wrong pattern next to the one the scroll allows.

    What really happensEach rules file has an incorrect example and a correct one, such as async-parallel or bundle-barrel-imports.

    Fog Wraith takes 12. Paladin: Ward.

  7. Vercel React Best Practices

    The Fog Wraith drops a faster path through the same page.

    What really happensYou get React or Next.js code checked against those rules. The skill does not run a profiler by itself.

    Fog Wraith takes 42. Fog Wraith falls.

  8. Victory

    The Fog Wraith falls.

Learn this spell

Claude Code and Codex

npx skills add vercel-labs/agent-skills

Notes

npx skills add vercel-labs/agent-skills installs the skills in that repo, not this file alone. The skill lists rules in eight groups, led by waterfall removal and bundle size. Read the matching rules file before applying one. It does not run a profiler or edit code by itself. MIT is declared in SKILL.md; the repo has no LICENSE file.

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-opus-5-5; charge (effort): high; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.

Clear rate83%10 of 12 runs passed every check; Unarmed: 15 of 15 (matched quests)
Steadiness55%reliability: Wilson 95% lower bound
Buff-17 pp debuffvs Unarmed, only matched quests (12 equipped runs; 15 control runs)
Instant casts9 of 12runs cleared on the first prompt; Unarmed: 11 of 15 (matched quests)
Attunement100%12 of 12 runs opened an equipped skill
Upkeep+24% manaextra mana per run vs Unarmed, median of 4 quests
IncantationNot measuredoutput tokens per run vs Unarmed
Runes+0%lines added per run vs Unarmed, median of 4 quests

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 rate75%27 of 36 runs passed every check; Unarmed: 132 of 158 (matched quests)
Steadiness59%reliability: Wilson 95% lower bound
Buff-9 pp debuffvs Unarmed, only matched quests (36 equipped runs; 158 control runs)
Instant casts20 of 36runs cleared on the first prompt; Unarmed: 105 of 158 (matched quests)
Attunement22%8 of 36 runs opened an equipped skill
Upkeep+1% manaextra mana per run vs Unarmed, median of 10 quests
IncantationNot measuredoutput tokens per run vs Unarmed
Runes-3%lines added per run vs Unarmed, median of 7 quests

Hero: Codex 0.154.0; weapon (model): gpt-6-astra; charge (effort): medium; arena: sealed; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.

Clear rate100%9 of 9 runs passed every check; Unarmed: 9 of 9 (matched quests)
Steadiness70%reliability: Wilson 95% lower bound
Buff+0 ppvs Unarmed, only matched quests (9 equipped runs; 9 control runs)
Instant casts8 of 9runs cleared on the first prompt; Unarmed: 8 of 9 (matched quests)
Attunement100%9 of 9 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: OMP 18.8.3; weapon (model): anthropic/claude-haiku-5-5; charge (effort): low; arena: warded; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.

Clear rate89%8 of 9 runs passed every check; Unarmed: 8 of 9 (matched quests)
Steadiness57%reliability: Wilson 95% lower bound
Buff+0 ppvs Unarmed, only matched quests (9 equipped runs; 9 control runs)
Instant casts6 of 9runs cleared on the first prompt; Unarmed: 8 of 9 (matched quests)
Attunement67%6 of 9 runs opened an equipped skill
Upkeep+89% manaextra mana per run vs Unarmed, median of 3 quests
IncantationNot measuredoutput tokens per run vs Unarmed
RunesNot measuredlines added per run vs Unarmed

Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; invoked cast (the prompt named the skill). macOS 27.0.1, arm64. Curator.

Clear rate100%9 of 9 runs passed every check; Unarmed: 9 of 9 (matched quests)
Steadiness70%reliability: Wilson 95% lower bound
Buff+0 ppvs Unarmed, only matched quests (9 equipped runs; 9 control runs)
Instant casts9 of 9runs cleared on the first prompt; Unarmed: 9 of 9 (matched quests)
Attunement22%2 of 9 runs opened an equipped skill
Upkeep+4% manaextra mana per run vs Unarmed, median of 3 quests
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; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.

Clear rate100%6 of 6 runs passed every check; Unarmed: 36 of 36 (matched quests)
Steadiness61%reliability: Wilson 95% lower bound
Buff+0 ppvs Unarmed, only matched quests (6 equipped runs; 36 control runs)
Instant casts6 of 6runs cleared on the first prompt; Unarmed: 35 of 36 (matched quests)
Attunement0%0 of 6 runs opened an equipped skill
Upkeep+1% manaextra mana per run vs Unarmed, median of 3 quests
IncantationNot measuredoutput tokens per run vs Unarmed
RunesNot measuredlines added per run vs Unarmed

Hero: Codex 0.154.0; weapon (model): gpt-6-astra; charge (effort): medium; arena: sealed; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.

Clear rate100%6 of 6 runs passed every check; Unarmed: 9 of 9 (matched quests)
Steadiness61%reliability: Wilson 95% lower bound
Buff+0 ppvs Unarmed, only matched quests (6 equipped runs; 9 control runs)
Instant casts4 of 6runs cleared on the first prompt; Unarmed: 8 of 9 (matched quests)
Attunement33%2 of 6 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: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; ambient cast (the agent chose). macOS 27.0.1, arm64. Curator.

Clear rate100%6 of 6 runs passed every check; Unarmed: 9 of 9 (matched quests)
Steadiness61%reliability: Wilson 95% lower bound
Buff+0 ppvs Unarmed, only matched quests (6 equipped runs; 9 control runs)
Instant casts5 of 6runs cleared on the first prompt; Unarmed: 9 of 9 (matched quests)
Attunement0%0 of 6 runs opened an equipped skill
Upkeep+31% manaextra mana per run vs Unarmed, median of 3 quests
IncantationNot measuredoutput tokens per run vs Unarmed
RunesNot measuredlines added per run vs Unarmed
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
Illusionist: pricing plan switcherQuest v820%1 of 5Unarmed: 53% (9 of 17)4%-33 pp debuffvs Unarmed1 of 520%Unarmed: 9 of 1711m 33sUnarmed: 1m 37s2,802 Unarmed: 2,764Not reportedUnarmed: 14.5k+366 / -4Unarmed: +394 / -3100%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 vercel-react-best-practices --quest illusionist-pricing-tabs --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v8 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Illusionist: booking form repairQuest v4100%3 of 3Unarmed: 87% (13 of 15)44%+13 ppvs Unarmed0 of 30%Unarmed: 0 of 1521m 1sUnarmed: 1m 6s1,640 Unarmed: 1,761Not reportedUnarmed: 12.2k+96 / -60Unarmed: +114 / -610%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 vercel-react-best-practices --quest illusionist-signup-form --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v4 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: export endpoints security reviewQuest v2100%3 of 3Unarmed: 100% (23 of 23)44%+0 ppvs Unarmed3 of 3100%Unarmed: 23 of 23129sUnarmed: 31s1,087 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 --spell vercel-react-best-practices --quest inquisitor-export-handler --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: missing-profile reviewQuest v2100%3 of 3Unarmed: 100% (3 of 3)44%+0 ppvs Unarmed3 of 3100%Unarmed: 3 of 3112sUnarmed: 14s1,277 Unarmed: 1,134Not reportedUnarmed: Not reported+1 / -0Unarmed: +10 / -0100%Hero: Claude Code 2.1.305; weapon (model): claude-opus-5-5; charge (effort): high; 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 vercel-react-best-practices --quest inquisitor-null-guard --hero claude-code --weapon 'claude-opus-5-5' --charge high --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@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 1218sUnarmed: 7s469 Unarmed: 451Not reportedUnarmed: 394Not reportedUnarmed: +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.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-null-guard --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. 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 1216sUnarmed: 7s457 Unarmed: 451Not reportedUnarmed: 394Not reportedUnarmed: +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.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-null-guard --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: missing-profile reviewQuest v2100%3 of 3Unarmed: 100% (3 of 3)44%+0 ppvs Unarmed3 of 3100%Unarmed: 3 of 3124sUnarmed: 21sNot priced yet52.9k tokensUnarmed: Not priced yetNot reportedUnarmed: Not reportedNot reportedUnarmed: Not reported100%Hero: Codex 0.154.0; weapon (model): gpt-6-astra; 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.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-null-guard --hero codex --weapon 'gpt-6-astra' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: missing-profile reviewQuest v2100%2 of 2Unarmed: 100% (3 of 3)34%+0 ppvs Unarmed2 of 2100%Unarmed: 3 of 3124sUnarmed: 21sNot priced yet46.2k tokensUnarmed: Not priced yetNot reportedUnarmed: Not reportedNot reportedUnarmed: Not reported0%Hero: Codex 0.154.0; weapon (model): gpt-6-astra; 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.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-null-guard --hero codex --weapon 'gpt-6-astra' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: missing-profile reviewQuest v2100%3 of 3Unarmed: 100% (3 of 3)44%+0 ppvs Unarmed2 of 367%Unarmed: 3 of 3118sUnarmed: 15s20 Unarmed: 10Not reportedUnarmed: Not reportedNot reportedUnarmed: Not reported33%Hero: OMP 18.8.3; weapon (model): anthropic/claude-haiku-5-5; charge (effort): low; arena: warded; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-null-guard --hero omp --weapon 'anthropic/claude-haiku-5-5' --charge low --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: missing-profile reviewQuest v2100%3 of 3Unarmed: 100% (3 of 3)44%+0 ppvs Unarmed3 of 3100%Unarmed: 3 of 319sUnarmed: 7s186 Unarmed: 179Not reportedUnarmed: Not reportedNot reportedUnarmed: Not reported0%Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-null-guard --hero omp --weapon 'anthropic/claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: missing-profile reviewQuest v2100%2 of 2Unarmed: 100% (3 of 3)34%+0 ppvs Unarmed2 of 2100%Unarmed: 3 of 3110sUnarmed: 7s248 Unarmed: 179Not reportedUnarmed: Not reportedNot reportedUnarmed: Not reported0%Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; ambient cast (the agent chose).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-null-guard --hero omp --weapon 'anthropic/claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: queue component reviewQuest v2100%3 of 3Unarmed: 100% (3 of 3)44%+0 ppvs Unarmed3 of 3100%Unarmed: 3 of 3121sUnarmed: 20s1,454 Unarmed: 1,164Not reportedUnarmed: Not reported+22 / -0Unarmed: +5 / -0100%Hero: Claude Code 2.1.305; weapon (model): claude-opus-5-5; charge (effort): high; 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 vercel-react-best-practices --quest inquisitor-react-list --hero claude-code --weapon 'claude-opus-5-5' --charge high --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@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: 14s695 Unarmed: 616Not reportedUnarmed: 1.1kNot reportedUnarmed: +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.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-react-list --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. 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 12112sUnarmed: 14s622 Unarmed: 616Not reportedUnarmed: 1.1kNot reportedUnarmed: +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.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-react-list --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: queue component reviewQuest v2100%3 of 3Unarmed: 100% (3 of 3)44%+0 ppvs Unarmed3 of 3100%Unarmed: 3 of 3131sUnarmed: 27sNot priced yet56.7k tokensUnarmed: Not priced yetNot reportedUnarmed: Not reportedNot reportedUnarmed: Not reported100%Hero: Codex 0.154.0; weapon (model): gpt-6-astra; 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.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-react-list --hero codex --weapon 'gpt-6-astra' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: queue component reviewQuest v2100%2 of 2Unarmed: 100% (3 of 3)34%+0 ppvs Unarmed2 of 2100%Unarmed: 3 of 3138sUnarmed: 27sNot priced yet55k tokensUnarmed: Not priced yetNot reportedUnarmed: Not reportedNot reportedUnarmed: Not reported100%Hero: Codex 0.154.0; weapon (model): gpt-6-astra; 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.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-react-list --hero codex --weapon 'gpt-6-astra' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: queue component reviewQuest v2100%3 of 3Unarmed: 100% (3 of 3)44%+0 ppvs Unarmed3 of 3100%Unarmed: 3 of 3119sUnarmed: 16s22 Unarmed: 14Not reportedUnarmed: Not reportedNot reportedUnarmed: Not reported100%Hero: OMP 18.8.3; weapon (model): anthropic/claude-haiku-5-5; charge (effort): low; arena: warded; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-react-list --hero omp --weapon 'anthropic/claude-haiku-5-5' --charge low --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: queue component reviewQuest v2100%3 of 3Unarmed: 100% (3 of 3)44%+0 ppvs Unarmed3 of 3100%Unarmed: 3 of 3110sUnarmed: 11s394 Unarmed: 235Not reportedUnarmed: Not reportedNot reportedUnarmed: Not reported67%Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-react-list --hero omp --weapon 'anthropic/claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: queue component reviewQuest v2100%2 of 2Unarmed: 100% (3 of 3)34%+0 ppvs Unarmed2 of 2100%Unarmed: 3 of 3111sUnarmed: 11s240 Unarmed: 235Not reportedUnarmed: Not reportedNot reportedUnarmed: Not reported0%Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; ambient cast (the agent chose).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-react-list --hero omp --weapon 'anthropic/claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: cut the next releaseQuest v333%1 of 3Unarmed: 100% (6 of 6)6%-67 pp debuffvs Unarmed0 of 30%Unarmed: 2 of 621m 47sUnarmed: 1m 11s4,675 Unarmed: 3,177Not reportedUnarmed: Not reported+28 / -4Unarmed: +28 / -4100%Hero: Claude Code 2.1.305; weapon (model): claude-opus-5-5; charge (effort): high; 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 vercel-react-best-practices --quest inquisitor-release-cut --hero claude-code --weapon 'claude-opus-5-5' --charge high --cast invoked --control

Recorded with quest v3 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. 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 18240sUnarmed: 43s1,187 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 --spell vercel-react-best-practices --quest inquisitor-release-cut --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v3 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: seat holds pull requestQuest v820%1 of 5Unarmed: 41% (7 of 17)4%-21 pp debuffvs Unarmed1 of 520%Unarmed: 7 of 17128sUnarmed: 28s1,116 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 --spell vercel-react-best-practices --quest inquisitor-seat-holds --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v8 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: receipts security reviewQuest v2100%3 of 3Unarmed: 100% (3 of 3)44%+0 ppvs Unarmed3 of 3100%Unarmed: 3 of 3120sUnarmed: 20s1,646 Unarmed: 1,346Not reportedUnarmed: Not reported+28 / -0Unarmed: +28 / -0100%Hero: Claude Code 2.1.305; weapon (model): claude-opus-5-5; charge (effort): high; 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 vercel-react-best-practices --quest inquisitor-sql-handler --hero claude-code --weapon 'claude-opus-5-5' --charge high --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: receipts security reviewQuest v2100%3 of 3Unarmed: 100% (12 of 12)44%+0 ppvs Unarmed2 of 367%Unarmed: 11 of 12118sUnarmed: 19s717 Unarmed: 721Not reportedUnarmed: 1.7kNot reportedUnarmed: +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.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-sql-handler --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. 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 12118sUnarmed: 19s731 Unarmed: 721Not reportedUnarmed: 1.7kNot reportedUnarmed: +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.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-sql-handler --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: receipts security reviewQuest v2100%3 of 3Unarmed: 100% (3 of 3)44%+0 ppvs Unarmed2 of 367%Unarmed: 2 of 3143sUnarmed: 44sNot priced yet56.8k tokensUnarmed: Not priced yetNot reportedUnarmed: Not reportedNot reportedUnarmed: Not reported100%Hero: Codex 0.154.0; weapon (model): gpt-6-astra; 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.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-sql-handler --hero codex --weapon 'gpt-6-astra' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: receipts security reviewQuest v2100%2 of 2Unarmed: 100% (3 of 3)34%+0 ppvs Unarmed0 of 20%Unarmed: 2 of 321m 42sUnarmed: 44sNot priced yet172.8k tokensUnarmed: Not priced yetNot reportedUnarmed: Not reportedNot reportedUnarmed: Not reported0%Hero: Codex 0.154.0; weapon (model): gpt-6-astra; 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.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-sql-handler --hero codex --weapon 'gpt-6-astra' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: receipts security reviewQuest v267%2 of 3Unarmed: 67% (2 of 3)21%+0 ppvs Unarmed1 of 333%Unarmed: 2 of 31.532sUnarmed: 21s34 Unarmed: 18Not reportedUnarmed: Not reportedNot reportedUnarmed: Not reported67%Hero: OMP 18.8.3; weapon (model): anthropic/claude-haiku-5-5; charge (effort): low; arena: warded; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-sql-handler --hero omp --weapon 'anthropic/claude-haiku-5-5' --charge low --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: receipts security reviewQuest v2100%3 of 3Unarmed: 100% (3 of 3)44%+0 ppvs Unarmed3 of 3100%Unarmed: 3 of 3112sUnarmed: 14s296 Unarmed: 288Not reportedUnarmed: Not reportedNot reportedUnarmed: Not reported0%Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; invoked cast (the prompt named the skill).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-sql-handler --hero omp --weapon 'anthropic/claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Inquisitor: receipts security reviewQuest v2100%2 of 2Unarmed: 100% (3 of 3)34%+0 ppvs Unarmed1 of 250%Unarmed: 3 of 31.517sUnarmed: 14s376 Unarmed: 288Not reportedUnarmed: Not reportedNot reportedUnarmed: Not reported0%Hero: OMP 18.8.3; weapon (model): anthropic/claude-sonnet-5-5; charge (effort): medium; arena: warded; ambient cast (the agent chose).
macOS 27.0.1, arm64. Curator.
0 mishaps excluded. 2026-10-21 to 2026-10-21.
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell vercel-react-best-practices --quest inquisitor-sql-handler --hero omp --weapon 'anthropic/claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Paladin: expense claims migrationQuest v180%4 of 5Unarmed: 76% (13 of 17)38%+4 ppvs Unarmed4 of 580%Unarmed: 13 of 17138sUnarmed: 37s1,089 Unarmed: 1,072Not reportedUnarmed: 4.4k+149 / -0Unarmed: +157 / -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 --spell vercel-react-best-practices --quest paladin-expense-claims --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v1 and spell commits vercel-react-best-practices@063bee94c3f4df8453406c830b0a7df0f2860278. How to run it

Paladin: RSVP Capacity and WaitlistQuest v7100%3 of 3Unarmed: 100% (15 of 15)44%+0 ppvs Unarmed3 of 3100%Unarmed: 14 of 1512m 7sUnarmed: 2m 4s3,682 Unarmed: 3,624Not reportedUnarmed: 19k+442 / -35Unarmed: +457 / -330%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 vercel-react-best-practices --quest paladin-rsvp-waitlist --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v7 and spell commits vercel-react-best-practices@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 fizzled run of Illusionist: pricing plan switcher with Vercel React Best Practices, Claude CodeScrying (screenshot) of a cleared run of Illusionist: booking form repair with Vercel React Best Practices, Claude CodeScrying (screenshot) of a cleared run of Inquisitor: export endpoints security review with Vercel React Best Practices, Claude CodeScrying (screenshot) of a cleared run of Inquisitor: missing-profile review with Vercel React Best Practices, 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.