Postgres rules for schema, SQL, RLS, indexes, and pooling, on Supabase or elsewhere.

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. Supabase Postgres Best Practices

    The hero reads the Postgres scroll before touching a table.

    What really happensThe agent loads supabase-postgres-best-practices before schema, SQL, RLS, index, or migration work.

    Fog Wraith takes 25.

  4. Supabase Postgres Best Practices

    It opens the rule that matches the change, highest impact first.

    What really happensEight groups run from query performance and connections through security and RLS, then schema, locks, and smaller topics.

    Fog Wraith takes 21.

  5. Haze

    The Fog Wraith uses Haze.

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

  6. Supabase Postgres Best Practices

    A ward compares the wrong SQL with the form the scroll allows.

    What really happensEach rule file has an incorrect example, a correct example, and Supabase notes when they apply. It covers Postgres anywhere.

    Fog Wraith takes 12. Paladin: Ward.

  7. Supabase Postgres Best Practices

    The Fog Wraith drops a plan the database can survive.

    What really happensYou get schema or SQL written against those rules, including slow-query and wrong-tenant checks when that is the task.

    Fog Wraith takes 42. Fog Wraith falls.

  8. Victory

    The Fog Wraith falls.

Learn this spell

Claude Code

claude plugin marketplace add supabase/agent-skills
claude plugin install postgres-best-practices@supabase-agent-skills

Codex

npx skills add supabase/agent-skills --skill supabase-postgres-best-practices

Notes

Load it before creating or changing tables, policies, indexes, or SQL. Eight rule groups, from query performance and connections through RLS, then smaller topics. Each rule file has an incorrect example and a correct one. Works for any Postgres, with Supabase notes where they apply. Claude Code can also install postgres-best-practices@supabase-agent-skills. SKILL.md says version 1.1.1, January 2026. The skill changelog lists 1.6.0 on 2026-07-30.

Records

Recorded use22root sessions
Test recoveries13 of 13sessions with a failing test

Curator's machine: macOS 27.0.1 · Apple Silicon (arm64), read when these stats were published. Session logs do not record the OS.

Sessions per month

1702026-09: 17 sessions2026-092026-10: 5 sessions2026-10
View data
Sessions per month
MonthSessions
2026-0917
2026-105

Harness

Codex: 10 sessionsOMP: 12 sessions
  • Codex10 (45%)Version 0.153.0-alpha.5 in the first session, 0.155.0-alpha.9.2 in the latest
  • OMP12 (55%)Version not in its logs; 18.8.3 installed when published
View data
Sessions by harness
HarnessSessionsVersion
Codex10Version 0.153.0-alpha.5 in the first session, 0.155.0-alpha.9.2 in the latest
OMP12Version not in its logs; 18.8.3 installed when published

Often used with

What a recovery means

A failed test was followed by a passing test of the same runner family in one session. It does not prove this spell caused the fix.

First recorded: . Most recent: .

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 rate67%2 of 3 runs passed every check; Unarmed: 1 of 3 (matched quests)
Steadiness21%reliability: Wilson 95% lower bound
Buff+33 ppvs Unarmed, only matched quests (3 equipped runs; 3 control runs)
Instant casts2 of 3runs cleared on the first prompt; Unarmed: 1 of 3 (matched quests)
Attunement100%3 of 3 runs opened an equipped skill
Upkeep+0% manaextra mana per run vs Unarmed, median of 1 quest
IncantationNot measuredoutput tokens per run vs Unarmed
Runes-11%lines added per run vs Unarmed, median of 1 quest

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 rate94%17 of 18 runs passed every check; Unarmed: 21 of 21 (matched quests)
Steadiness74%reliability: Wilson 95% lower bound
Buff-6 pp debuffvs Unarmed, only matched quests (18 equipped runs; 21 control runs)
Instant casts15 of 18runs cleared on the first prompt; Unarmed: 17 of 21 (matched quests)
Attunement100%18 of 18 runs opened an equipped skill
Upkeep+15% manaextra mana per run vs Unarmed, median of 5 quests
IncantationNot measuredoutput tokens per run vs Unarmed
Runes+0%lines added per run vs Unarmed, median of 5 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 rate100%30 of 30 runs passed every check; Unarmed: 110 of 126 (matched quests)
Steadiness89%reliability: Wilson 95% lower bound
Buff+13 ppvs Unarmed, only matched quests (30 equipped runs; 126 control runs)
Instant casts27 of 30runs cleared on the first prompt; Unarmed: 96 of 126 (matched quests)
Attunement60%18 of 30 runs opened an equipped skill
Upkeep+4% manaextra mana per run vs Unarmed, median of 8 quests
IncantationNot measuredoutput tokens per run vs Unarmed
Runes+0%lines added per run vs Unarmed, median of 5 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 casts9 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 rate100%9 of 9 runs passed every check; Unarmed: 8 of 9 (matched quests)
Steadiness70%reliability: Wilson 95% lower bound
Buff+11 ppvs Unarmed, only matched quests (9 equipped runs; 9 control runs)
Instant casts7 of 9runs cleared on the first prompt; Unarmed: 8 of 9 (matched quests)
Attunement67%6 of 9 runs opened an equipped skill
Upkeep+36% 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%12 of 12 runs passed every check; Unarmed: 12 of 15 (matched quests)
Steadiness76%reliability: Wilson 95% lower bound
Buff+20 ppvs Unarmed, only matched quests (12 equipped runs; 15 control runs)
Instant casts12 of 12runs cleared on the first prompt; Unarmed: 12 of 15 (matched quests)
Attunement50%6 of 12 runs opened an equipped skill
Upkeep+8% manaextra mana per run vs Unarmed, median of 4 quests
IncantationNot measuredoutput tokens per run vs Unarmed
Runes-1%lines added per run vs Unarmed, median of 1 quest

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%8 of 8 runs passed every check; Unarmed: 49 of 53 (matched quests)
Steadiness68%reliability: Wilson 95% lower bound
Buff+8 ppvs Unarmed, only matched quests (8 equipped runs; 53 control runs)
Instant casts7 of 8runs cleared on the first prompt; Unarmed: 48 of 53 (matched quests)
Attunement25%2 of 8 runs opened an equipped skill
Upkeep+7% 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 1 quest

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 casts6 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 casts6 of 6runs cleared on the first prompt; Unarmed: 9 of 9 (matched quests)
Attunement0%0 of 6 runs opened an equipped skill
Upkeep+15% 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
Inquisitor: export endpoints security reviewQuest v2100%3 of 3Unarmed: 100% (23 of 23)44%+0 ppvs Unarmed3 of 3100%Unarmed: 23 of 23130sUnarmed: 31s1,124 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 3116sUnarmed: 14s1,306 Unarmed: 1,134Not reportedUnarmed: Not reported+10 / -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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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: 7s473 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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: 7s464 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 3122sUnarmed: 21sNot priced yet50.2k 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 supabase-postgres-best-practices --quest inquisitor-null-guard --hero codex --weapon 'gpt-6-astra' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 3127sUnarmed: 21sNot priced yet46.7k 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 supabase-postgres-best-practices --quest inquisitor-null-guard --hero codex --weapon 'gpt-6-astra' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 3116sUnarmed: 15s14 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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: 7s182 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 317sUnarmed: 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 3117sUnarmed: 20s1,338 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 12114sUnarmed: 14s637 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; 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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: 14s624 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 3132sUnarmed: 27sNot priced yet51.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 supabase-postgres-best-practices --quest inquisitor-react-list --hero codex --weapon 'gpt-6-astra' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 3129sUnarmed: 27sNot priced yet54.4k 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 supabase-postgres-best-practices --quest inquisitor-react-list --hero codex --weapon 'gpt-6-astra' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 3118sUnarmed: 16s19 Unarmed: 14Not 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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: 11s252 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; 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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: 11s245 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. How to run it

Inquisitor: cut the next releaseQuest v367%2 of 3Unarmed: 100% (6 of 6)21%-33 pp debuffvs Unarmed0 of 30%Unarmed: 2 of 62.51m 24sUnarmed: 1m 11s4,309 Unarmed: 3,177Not reportedUnarmed: Not reported+27 / -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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 18249sUnarmed: 43s1,369 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. How to run it

Inquisitor: seat holds pull requestQuest v8100%5 of 5Unarmed: 41% (7 of 17)57%+59 ppvs Unarmed5 of 5100%Unarmed: 7 of 17129sUnarmed: 28s1,211 Unarmed: 1,086Not reportedUnarmed: 2.4k+7 / -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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 3122sUnarmed: 20s1,462 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 12112sUnarmed: 19s659 Unarmed: 721Not reportedUnarmed: 1.7kNot reportedUnarmed: +7 / -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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. How to run it

Inquisitor: receipts security reviewQuest v2100%2 of 2Unarmed: 100% (12 of 12)34%+0 ppvs Unarmed1 of 250%Unarmed: 11 of 121.524sUnarmed: 19s846 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. How to run it

Inquisitor: receipts security reviewQuest v2100%3 of 3Unarmed: 100% (3 of 3)44%+0 ppvs Unarmed3 of 3100%Unarmed: 2 of 3146sUnarmed: 44sNot priced yet70.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 supabase-postgres-best-practices --quest inquisitor-sql-handler --hero codex --weapon 'gpt-6-astra' --charge medium --cast invoked --control

Recorded with quest v2 and spell commits supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. How to run it

Inquisitor: receipts security reviewQuest v2100%2 of 2Unarmed: 100% (3 of 3)34%+0 ppvs Unarmed2 of 2100%Unarmed: 2 of 3147sUnarmed: 44sNot priced yet62.6k 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 supabase-postgres-best-practices --quest inquisitor-sql-handler --hero codex --weapon 'gpt-6-astra' --charge medium --cast ambient --control

Recorded with quest v2 and spell commits supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. How to run it

Inquisitor: receipts security reviewQuest v2100%3 of 3Unarmed: 67% (2 of 3)44%+33 ppvs Unarmed2 of 367%Unarmed: 2 of 3117sUnarmed: 21s21 Unarmed: 18Not 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 3114sUnarmed: 14s383 Unarmed: 288Not reportedUnarmed: Not reportedNot reportedUnarmed: Not reported100%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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. How to run it

Inquisitor: receipts security reviewQuest v2100%2 of 2Unarmed: 100% (3 of 3)34%+0 ppvs Unarmed2 of 2100%Unarmed: 3 of 3116sUnarmed: 14s331 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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. How to run it

Paladin: expense claims migrationQuest v167%2 of 3Unarmed: 33% (1 of 3)21%+33 ppvs Unarmed2 of 367%Unarmed: 1 of 3147sUnarmed: 48s100 Unarmed: 100Not reportedUnarmed: Not reported+152 / -0Unarmed: +171 / -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 supabase-postgres-best-practices --quest paladin-expense-claims --hero claude-code --weapon 'claude-haiku-5-5' --charge low --cast invoked --control

Recorded with quest v1 and spell commits supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. How to run it

Paladin: expense claims migrationQuest v1100%6 of 6Unarmed: 100% (6 of 6)61%+0 ppvs Unarmed6 of 6100%Unarmed: 6 of 611m 38sUnarmed: 1m 24s4,244 Unarmed: 3,367Not reportedUnarmed: Not reported+206 / -0Unarmed: +216 / -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 supabase-postgres-best-practices --quest paladin-expense-claims --hero claude-code --weapon 'claude-opus-5-5' --charge high --cast invoked --control

Recorded with quest v1 and spell commits supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. How to run it

Paladin: expense claims migrationQuest v1100%7 of 7Unarmed: 76% (13 of 17)65%+24 ppvs Unarmed7 of 7100%Unarmed: 13 of 17139sUnarmed: 37s1,186 Unarmed: 1,072Not reportedUnarmed: 4.4k+153 / -0Unarmed: +157 / -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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. How to run it

Paladin: expense claims migrationQuest v1100%2 of 2Unarmed: 76% (13 of 17)34%+24 ppvs Unarmed2 of 2100%Unarmed: 13 of 17140sUnarmed: 37s1,188 Unarmed: 1,072Not reportedUnarmed: 4.4k+157 / -0Unarmed: +157 / -0100%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 supabase-postgres-best-practices --quest paladin-expense-claims --hero claude-code --weapon 'claude-sonnet-5-5' --charge medium --cast ambient --control

Recorded with quest v1 and spell commits supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. How to run it

Paladin: expense claims migrationQuest v1100%3 of 3Unarmed: 50% (3 of 6)44%+50 ppvs Unarmed3 of 3100%Unarmed: 3 of 6134sUnarmed: 32s840 Unarmed: 775Not reportedUnarmed: 4.1k+148 / -0Unarmed: +150 / -0100%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.Scrying (screenshot)
Try this loadout
node "<spell-report-skill-directory>/scripts/spell-report.mjs" trial --spell supabase-postgres-best-practices --quest paladin-expense-claims --hero omp --weapon 'anthropic/claude-sonnet-5-5' --charge medium --cast invoked --control

Recorded with quest v1 and spell commits supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 8sUnarmed: 2m 4s3,733 Unarmed: 3,624Not reportedUnarmed: 19k+485 / -36Unarmed: +457 / -33100%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 supabase-postgres-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 supabase-postgres-best-practices@c9be0e931b7930f7d02126d04774d904c381e7d7. 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 Supabase Postgres Best Practices, Claude CodeScrying (screenshot) of a cleared run of Inquisitor: missing-profile review with Supabase Postgres Best Practices, Claude CodeScrying (screenshot) of a cleared run of Inquisitor: queue component review with Supabase Postgres Best Practices, Claude CodeScrying (screenshot) of a cleared run of Inquisitor: cut the next release with Supabase Postgres Best Practices, Claude Code
Explore the quests, full results and trial method