Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add e-t-y-b/etyb-skills --skill supabasegit clone --depth 1 https://github.com/e-t-y-b/etyb-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/e-t-y-b/etyb-skills/supabase)<a href="https://agentmods.dev/skills/e-t-y-b/etyb-skills/supabase"><img src="https://agentmods.dev/badge/skills/e-t-y-b/etyb-skills/supabase/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/e-t-y-b/etyb-skills/supabase"><img src="https://agentmods.dev/badge/skills/e-t-y-b/etyb-skills/supabase.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00263 | $0.03447 |
| Opus 5 | $0.00131 | $0.01724 |
| Sonnet 5 | $0.00053 | $0.00689 |
| Haiku 4.5 | $0.00026 | $0.00345 |
Grade A, and why
stack-supabase scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 119 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Supabase Stack — Team Briefing
This is a knowledge overlay, not a new specialist. The existing ETYB team does the work — backend-architect writes the backend code, devops-engineer wires the deploys, security-engineer enforces the boundary. This pack tells each role where the current Supabase knowledge lives.
Where the full briefing lives
The full Stack briefing lives in this same folder. Per-product and per-role pages are siblings of this SKILL.md. Every page carries last_verified_on stamps and authoritative-source URLs in its frontmatter; see skills/etyb/core/knowledge-currency.md for the drift-check protocol that uses them.
- Stack briefing:
stacks/supabase/index.md - Per-product pages:
stacks/supabase/<product>.md— one per entry inproducts_coveredabove - Per-role views:
stacks/supabase/<role>.md— one per role inapplies_to_rolesabove
When ETYB is installed locally these are read directly from disk. For third-party agents without the install, the same content is reachable as raw markdown at https://raw.githubusercontent.com/e-t-y-b/etyb-skills/main/stacks/supabase/<page>.md.
When delegate_to_skills (frontmatter above) lists a first-party vendor MCP/skill that's installed in the user's environment, ETYB defers to it first. The in-repo Stack content is the curated fallback.
What changed in 2025-2026 that older training data misses
Critical context — an LLM with a 2024 cutoff will get these wrong:
@supabase/auth-helpers-*is dead. Use@supabase/ssrfor every Next.js / SvelteKit / Remix / Astro app. Cookie-based session handling lives here. The old helpers libraries are deprecated and will steer you into broken middleware/cookie bugs. UsecreateBrowserClient+createServerClientfrom@supabase/ssr.- Supavisor replaced PgBouncer as the default connection pooler in 2024. Two modes: Transaction mode (port
6543— required for serverless / Edge Functions / Lambda; prepared statements disabled by default) and Session mode (required for migrations,LISTEN/NOTIFY, advisory locks, prepared statements). Get this wrong and the first prepared-statement-dependent query throws in production. - RLS policies pay a per-row cost if you call
auth.uid()directly. Wrap in a subselect to let the planner cache:(select auth.uid()) = user_id. This is documented but routinely missed. - Realtime got Authorization. Broadcast + Presence channels now respect RLS-style policies on
realtime.messagesandrealtime.broadcasts. The old pattern of "anyone on the channel sees everything" is wrong for any production app touching customer data. - Database Branches are GA. Every preview deploy on Vercel/Netlify can have its own database branch with seeded data. Branches inherit from
mainmigrations + can carry their own; PR merges promote branch → main with a managed migration. - Declarative schemas (
supabase/schemas/*.sql) live alongside the older diff-based migrations (supabase/migrations/*.sql). Choose one workflow per project. Mixing them is the most common cause of brokensupabase db push. - Supabase Queues (2025) and Supabase Cron (late 2024) are now first-class managed surfaces. Stop using
pg_crondirectly through SQL Editor for new work. - Foreign Data Wrappers got the Wrappers framework — Stripe, BigQuery, Clickhouse, Redis, Firebase, Auth0 are first-class FDWs. Excellent for read-side joins; don't use them as a write-throughput path.
- Edge Functions now support background tasks (waitUntil-style) and ephemeral storage for the duration of an invocation.
npm:specifiers are stable. Deno KV is not exposed; use Postgres or the storage bucket instead. - Supabase MCP server is real — agent surfaces (Claude Code, Codex, Antigravity) can drive a Supabase project. The default
--read-onlyflag matters; never connect an agent with write scope to a production project without explicit human-in-the-loop guards. - pgvector + HNSW is the default vector index.
ivfflatis still useful for very large corpora that need cheaper builds.halfvec(16-bit floats) cuts storage cost in half with negligible recall loss. - PostgreSQL 17 is the default for new projects (as of 2025). PG16 → PG17 upgrade path is in-place but requires extension compatibility checks (especially
pg_graphql,pg_cron,wrappers).
What ships with it
32 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- ai-ml-engineer.md 11 KB
- backend-architect.md 9.7 KB
- branching.md 4.8 KB
- database-architect.md 10 KB
- database-functions.md 7.1 KB
- database-webhooks.md 4.2 KB
- edge-functions.md 7.5 KB
- foreign-data-wrappers.md 5.3 KB
- frontend-architect.md 9.1 KB
- index.md 14 KB
- migrations.md 5.7 KB
- pg-cron.md 4.1 KB
- pg-graphql.md 3.5 KB
- pg-net.md 4.0 KB
- pg-trgm.md 3.9 KB
- pgvector.md 6.0 KB
- postgres.md 6.0 KB
- row-level-security.md 7.9 KB
- saas-architect.md 14 KB
- security-engineer.md 12 KB
- studio.md 4.5 KB
- supabase-auth.md 7.6 KB
- supabase-cli.md 5.6 KB
- supabase-cron.md 4.0 KB
- supabase-js.md 6.6 KB
- supabase-mcp.md 4.1 KB
- supabase-queues.md 5.6 KB
- supabase-realtime.md 6.3 KB
- supabase-ssr.md 7.3 KB
- supabase-storage.md 6.3 KB
- supabase-vector.md 4.8 KB
- supavisor.md 5.4 KB
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 119 lines · 263 tokens per session scan A 0319cabe210a
stack-supabase is a skill published in the GitHub repository e-t-y-b/etyb-skills (10 stars, last pushed 2mo ago), licensed MIT. It adds 263 tokens to every session and 3,447 once invoked, about $0.0013 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
supabase
Use this skill when developing applications with Supabase, running the Supabase CLI, designing migrations and RLS policies, testing database behavior, generating client types, deploying the official self-hosted Docker stack, or administering its Postgres, Auth, Storage, Realtime, Functions, API gateway, backups…
fastapi-backend
Build production-grade FastAPI backends with SQLModel, Pydantic, and JWT authentication. Use this skill when building REST APIs, integrating with Neon PostgreSQL, implementing Better Auth JWT verification, or creating CRUD endpoints. Includes patterns for audit logging, worker/agent parity, and OpenAPI documentation.
sqlmodel-database
Design and implement database schemas using SQLModel with sync and async patterns. Use this skill when creating database models, setting up Neon PostgreSQL connections, defining relationships (one-to-many, many-to-many), implementing FastAPI dependency injection, or migrating schemas. Covers both sync Session and…
database-schema-designer
Use when the user asks to create ERD diagrams, normalize database schemas, design table relationships, or plan schema migrations.
Azure Postgres Ts
Connect to Azure Database for PostgreSQL Flexible Server from Node.js/TypeScript using the pg (node-postgres) package. Use for PostgreSQL queries, connection pooling, transactions, and Microsoft Entra ID (passwordless) authentication. Triggers: "PostgreSQL", "postgres", "pg client", "node-postgres", "Azure PostgreSQL…
postgres-job-queue
PostgreSQL-based job queue with priority scheduling, batch claiming, and progress tracking. Use when building job queues without external dependencies. Triggers on PostgreSQL job queue, background jobs, task queue, priority queue, SKIP LOCKED.