
`supabase/agent-skills`: the official skill that stops your agent from shipping broken RLS
`supabase/agent-skills` (v0.1.5, MIT, May 27, 2026) is Supabase's official two-skill bundle — `supabase` and `supabase-postgres-best-practices` — that teaches Claude Code, Cursor, Codex, and 17 other agents *when* to apply Supabase-specific security rules, not just *how*. Released three days before Supabase's May 30 Data API cutover (new projects no longer auto-expose tables), the skill patches the silent-fail `GRANT` gap that breaks every pre-skill migration. Eval data from Supabase shows Claude Code (Sonnet 4.6) jumping from 46% → 71% completion rate with the skill loaded. The article covers both skills, all install paths, the four concrete open-issue caveats (#92 pooler cluster ambiguity, #83 incorrect postgres docs, #63 auth security gaps, #70 uuid extension), and four specific "when NOT to use" scenarios.

리서치 브리프
security_invoker correctly when the skill was available. They knew how to implement it. They just didn't know when." 1supabase/agent-skills (v0.1.5, MIT, released May 27, 2026) is Supabase's official answer: a two-skill bundle that teaches your agent the when, not just the how. 2What it includes
supabase (v0.1.2) covers the full product surface — Auth, Database, Edge Functions, Realtime, Storage, Vectors, Cron, Queues — plus client-library guidance (supabase-js, @supabase/ssr) and framework integrations (Next.js, React, SvelteKit, Astro, Remix). Its SKILL.md description field is what the agent reads to decide whether to activate: trigger keywords cover every Supabase product name, auth operations (getSession, getUser, JWT, RLS), CLI commands, and MCP server interactions. No slash command required — the skill activates automatically when the agent detects a Supabase task. 3supabase-postgres-best-practices (v1.1.1) is an eight-tier optimization guide for Postgres, ranked by impact: Query Performance and Connection Management at CRITICAL, Schema Design at HIGH, Concurrency at MEDIUM-HIGH, down to Advanced Features at LOW. Each rule ships with a broken SQL example, a corrected version, and a sample EXPLAIN output so the agent can reason about tradeoffs rather than just copy-paste answers. 4 The postgres skill already has 199,100 installs on skills.sh, ranking 34th across all skills on the platform. 5Why this release landed when it did
supabase-js. Any CREATE TABLE without explicit GRANT statements returns empty results from the REST API — no error thrown, just silence. 6GRANT statements that belong in every new-project migration:GRANT SELECT ON public.invoices TO anon;
GRANT SELECT, INSERT, UPDATE, DELETE ON public.invoices TO authenticated;
GRANT SELECT, INSERT, UPDATE, DELETE ON public.invoices TO service_role;CREATE TABLE. Without the skill, it generates the migration it learned from older training data: table, RLS enabled, policy written, grants absent. 6Install
npx skills add supabase/agent-skills--global. To install only one skill:npx skills add supabase/agent-skills --skill supabase
npx skills add supabase/agent-skills --skill supabase-postgres-best-practicesclaude plugin marketplace add supabase/agent-skills
claude plugin install supabase@supabase-agent-skills
# or
claude plugin install postgres-best-practices@supabase-agent-skills/reload-plugins to activate. 7What changes in your agent's output
| Model | Baseline | MCP only | MCP + Skill |
|---|---|---|---|
| Claude Code (Sonnet 4.6) | 46% | 58% | 71% |
| Claude Code (Opus 4.6) | 58% | 50% | 67% |
| Codex (GPT-5.4) | 71% | 71% | 88% |
| Codex (GPT-5.4 Mini) | 42% | 63% | 71% |
search_docs to verify current documentation, defaulting to training data instead.supabase skill (inlined directly into SKILL.md so the agent cannot skip it) covers 15+ rules across five categories:- Auth and sessions: never use
user_metadatafor JWT-based authorization (users can edit it); useapp_metadatainstead; deleting a user does not invalidate existing tokens — shorten JWT lifetime if needed - API key exposure: never ship
service_rolekey to the client - RLS and views: views bypass RLS by default — use
WITH (security_invoker = true)on Postgres 15+;UPDATEpolicies require a matchingSELECTpolicy or silently return 0 rows;auth.role()is deprecated, useTO authenticated - Storage: upsert requires
INSERT + SELECT + UPDATE— all three, not justINSERT - Supply chain (new in v0.1.5): always pin package versions and commit the lockfile 9
write skill → run eval → inspect results → iterate cycle using Braintrust — at the AI Engineer channel's "Skill Issue" workshop (9,500 views). 11Honest limitations
aws-1-, aws-2-), the skill's connection guidance still points to aws-0-. The error message Tenant or user not found reads like a credentials problem, not a host problem. One user spent 25 minutes on this before finding the answer in supabase/discussions#30107. 13ALTER SYSTEM not available on managed Postgres, inaccurate index claim for wildcard LIKE, and a VACUUM lock statement written incorrectly. These are in the reference files (loaded on-demand), not the main SKILL.md, so they only surface when the agent reaches those specific optimization topics. 14profiles table trigger Postgres infinite recursion detected; new projects use ES256 JWTs that Edge Function gateways reject unless you deploy with --no-verify-jwt; frontend calls to Edge Functions need both Authorization and apikey headers, but the skill only documents one. 15pg_uuidv7 extension unavailable (issue #70): The postgres skill recommends uuid_generate_v7() via pg_uuidv7, which is not available on Supabase managed Postgres. Agents following this guidance generate migrations that fail to execute. 16When NOT to use this skill
supabase skill activates on Supabase keyword detection; on a raw Postgres or PlanetScale project it adds noise without value. The supabase-postgres-best-practices skill is more general but still Supabase-opinionated in its examples and caveats.GRANT guidance won't break old-project migrations, but agents may over-generate grants that aren't needed. Test one migration first.ALTER SYSTEM, pg_uuidv7, and some VACUUM guidance contain errors on managed Supabase Postgres. For schema design and query optimization the skill is reliable; for connection pool tuning and low-level Postgres config, cross-check against the actual Supabase Docs.참고 출처
- 1Supabase Blog — AI Agents Know About Supabase. They Don't Always Use It Right.
- 2GitHub — supabase/agent-skills
- 3Supabase — SKILL.md (supabase skill)
- 4Supabase — SKILL.md (postgres best practices)
- 5skills.sh — The Agent Skills Directory
- 6Fazm — Supabase release, May 2026: the two defaults that quietly break Claude Code migrations
- 7Supabase Docs — Agent Skills
- 8Supabase Docs — Supabase Plugin for AI Coding Agents
- 9Supabase — CHANGELOG.md
- 10X/@_itsjustshubh
- 11YouTube — Skill Issue workshop, Pedro Rodrigues
- 12GitHub Issues — supabase/agent-skills
- 13GitHub Issue #92 — pooler cluster non-deterministic assignment
- 14GitHub Issue #83 — correctness issues in postgres best practices
- 15GitHub Issue #63 — RLS recursion, JWT validation, apikey header
- 16GitHub Issue #70 — pg_uuidv7 not available on Supabase
이 콘텐츠를 둘러싼 관점이나 맥락을 계속 보강해 보세요.