If you've ever wondered whether Claude Code, Codex or OpenCode is the best agent to build your database with, Supabase just took that question out of vibes territory. Last week they open sourced Supabase Evals, a benchmark that runs real coding agents against real Supabase tasks (build a schema, fix a broken RLS policy, debug a failing Edge Function) and scores the results. And they ran every agent two ways: bare, and with Supabase's agent skills loaded. That split turns out to be one of the most interesting parts of the data.
The leaderboard as of August 4, 2026 (no skills loaded):
| Agent / Model | Build | Deploy | Investigate | Resolve | Total |
|---|---|---|---|---|---|
| Codex / GPT-5.6 sol | 100% | 100% | 100% | 100% | 100% |
| Claude Code / Opus 5 | 100% | 100% | 67% | 100% | 95% |
| Claude Code / Sonnet 5 | 100% | 100% | 67% | 100% | 95% |
| OpenCode / Kimi K3 | 100% | 100% | 67% | 100% | 95% |
| Codex / GPT-5.4 mini | 89% | 67% | 67% | 75% | 79% |
Supabase doesn't crown a winner in the launch post, but the leaderboard speaks for itself: Codex / GPT-5.6 sol is the only one passing everything right now, including Investigate where everyone else drops to 67%.
And here's the part I find genuinely great: that date up there matters. Supabase refreshes the eval results daily (it's right there in the repo's commit history) and keeps adding scenarios. So don't take my table as gospel. Take it as proof that "which agent is best" finally has a date on it, and check the live leaderboard the day you're actually deciding.
The user discusses a benchmark called Supabase Evals, which evaluates coding agents like Codex, Claude Code, and OpenCode on Supabase tasks. The benchmark assesses agents on building, deploying, investigating, and resolving tasks. Codex / GPT-5.6 sol leads the leaderboard, especially in the Investigate stage. The user highlights the importance of using Supabase's agent skills to improve performance, particularly for smaller models.
the investigate gap matches what i see, but i don't think it's reasoning, it's that agents
default to reading the schema instead of querying it. a policy that looks right reads as
right forever.
what fixed it for me was forcing the check to produce evidence. open a transaction, set
local role authenticated, set request.jwt.claims to user a, run the select, repeat as user
b, roll it back. either the row comes out or it doesn't, and no amount of confident policy
reading argues with that.
What the stages actually mean (pulled from the eval scenarios in the repo):
A few things stood out to me more than the ranking itself:
1. Agents build well. They investigate worse. Almost everyone aces Build and Deploy. The scores drop on Investigate, which is the "something is broken, figure out why" stage. That matches what I see in support every week: people get a working app fast, then get stuck the moment something breaks and the agent starts guessing.
2. Skills close the gap for smaller models. In the launch post, Sonnet 5 went from 78% to 100% on Build once Supabase's agent skills were loaded, and GPT-5.4 mini went from 78% to 89%. Top models barely needed them. If you're not using the agent skills repo yet, this is the argument for it.
3. Agents don't read the docs as much as you'd think. Claude Code checked the docs in under 40% of scenarios, about 2 pages per task, versus roughly 8 pages for Codex. Supabase also found their Postgres best practices skill was only activating in ~10% of sessions until they rewrote its description (now ~60%).
4. Agents build with yesterday's knowledge. Two habits Supabase called out: even in projects that already used declarative schemas, agents tried to hand-write migrations anyway; and they kept verifying auth by hand with supabase-js in Edge Functions instead of reaching for the newer @supabase/server. Root cause is the same: training data has a date, the ecosystem doesn't. If nothing forces the agent to consult current docs, it confidently ships you last year's best practices. Which is also the real argument for skills: they inject today's truth into a model trained yesterday.
So which one should you actually use?
The honest answer is: probably the one you already live in. Most people aren't choosing an agent from scratch, they have a subscription and a workflow. So here's the practical read:
npx skills add supabase/agent-skills) and preferring declarative schemas over hand-written migrations. With skills loaded, Sonnet 5 went from 78% to 100% on Build.And the workflow change I made after seeing this
The Investigate gap has a structural fix: don't let the builder grade its own homework. I set this up as a skill in my environment (open sourced it, work in progress: https://github.com/CarolMonroe22/supabase-db-supervisor): anything database-related the agent builds triggers a second pass from a fresh session playing the investigator, and nothing ships without its explicit OK.
So "ok, but what do I actually do with this benchmark" has a concrete answer. Every time an agent touches my database, the supervisor:
In my case, today, that investigator is Codex: the only agent scoring 100% on Investigate right now, so the supervision pass goes to Codex even though Claude does the building. And I never leave Claude Code to do it: the skill invokes the Codex CLI from inside the session, hands it the evidence, and the verdict comes back into the same conversation. Nothing to open, nothing to switch. Same would work for Kimi through OpenCode, or whatever agent you pay for. Route by stage, not by loyalty.
If you're not technical, this setup is the one I'd recommend most. You don't have to be the expert who judges the work: you make the agents judge each other, and your job becomes reading the verdict. Just make sure you ask for that verdict in plain language: a good supervision report should tell you what happened and why it matters, not dump SQL at you. Understanding what's going on is still your part of the deal. And still, I'll always recommend the extra step: understand your database, learn how Supabase works. It will make you design better things, 100%.
The whole benchmark runs against real containerized Supabase stacks, not mocks, and scoring mixes deterministic checks (can the right user access the right data) with an LLM judge. It's Apache-2.0, so you can run it yourself.
Resources (all official Supabase):
npx skills add supabase/agent-skillsCurious what this sub has seen: does the Investigate gap match your experience? And if you're already splitting work between agents, how do you decide who gets what?