| name | supabase |
| title | Supabase |
| category | Backend & Data |
| description | Use to add a Postgres database, auth, storage, or realtime to an app with the Supabase client — and to lock it down with Row Level Security. |
| tags | ["postgres","auth","database","storage","rls","backend"] |
| official_docs | https://supabase.com/docs |
| sources | ["https://supabase.com/docs/guides/getting-started/quickstarts/nextjs","https://supabase.com/docs/guides/auth","https://supabase.com/docs/guides/database/postgres/row-level-security"] |
| last_verified | 2026-08-10T00:00:00.000Z |
Supabase — Skillship
Open-source Firebase alternative: hosted Postgres + Auth + Storage + Realtime, queried through
auto-generated REST/JS APIs and secured with Postgres Row Level Security (RLS).
🧭 When to use this skill
- Use when: you need a database plus auth/storage/realtime with minimal backend code.
- Use when: you want a real Postgres you can also hit with SQL, Prisma, or Drizzle.
- Don't use for: pure edge KV/caching (use Redis) or when you need a self-managed DB.
⚡ Quickstart
1. Install
npm install @supabase/supabase-js
npm install @supabase/ssr
2. Configure env (from Project → Connect)
NEXT_PUBLIC_SUPABASE_URL=https://<project-ref>.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=<publishable-anon-key>
SUPABASE_SERVICE_ROLE_KEY=<service-role-key>
3. Minimal working example
import { createClient } from "@supabase/supabase-js";
const supabase = createClient(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
);
const { data, error } = await supabase.from("instruments").select();
🧩 Common recipes
Recipe: CRUD queries
const { data } = await supabase.from("todos").select("*").eq(, userId);
{ data, error } = supabase.().({ : }).();
supabase.().({ : }).(, );
supabase.().().(, );