From supabase-js
Full-stack Supabase skill for Next.js covering database (tables, RLS, functions, triggers), Auth (email, OAuth, MFA, SSR/PKCE), the JavaScript client API, and Next.js integration with @supabase/ssr.
How this skill is triggered — by the user, by Claude, or both
Slash command
/supabase-js:supabase-jsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A comprehensive skill for building Next.js applications with Supabase. Covers four domains: **Database**, **Auth**, **JavaScript Client**, and **Next.js Integration**.
A comprehensive skill for building Next.js applications with Supabase. Covers four domains: Database, Auth, JavaScript Client, and Next.js Integration.
This skill uses progressive disclosure with nested routing:
supabase/
├── SKILL.md ← You are here (orchestrator)
├── references/
│ ├── database/
│ │ ├── README.md ← Database router
│ │ ├── fundamentals.md ← Connecting, importing, securing
│ │ ├── basics.md ← Tables, views, arrays, indexes, joins, JSON
│ │ ├── intermediate.md ← Cascade deletes, enums, functions, triggers, webhooks, event triggers
│ │ └── access-security.md ← RLS, CLS, Postgres roles, custom roles
│ ├── auth.md ← Full auth reference
│ ├── js-client.md ← @supabase/supabase-js API reference
│ └── nextjs.md ← @supabase/ssr + Next.js integration
When the user's request arrives, determine which domain(s) it touches, then read the appropriate reference file(s):
If the request involves tables, schemas, views, columns, data types, indexes, joins, foreign keys, JSON/JSONB, importing data, connecting to the database, or any SQL DDL/DML:
→ Read references/database/README.md first. It will route you to the correct sub-file.
If the request involves sign up, sign in, sign out, password reset, OAuth, magic link, OTP, MFA, sessions, JWTs, RLS policies tied to auth.uid(), redirect URLs, user management, or the auth schema:
→ Read references/auth.md
If the request involves supabase.from(), .select(), .insert(), .update(), .delete(), .rpc(), filters (.eq(), .neq(), .in(), etc.), modifiers (.order(), .limit(), .single()), or any supabase.auth.* method calls:
→ Read references/js-client.md
If the request involves @supabase/ssr, createBrowserClient, createServerClient, middleware/proxy auth, cookie-based sessions, server components with Supabase, or wiring Supabase into a Next.js app:
→ Read references/nextjs.md
Many requests touch multiple domains. For example, "set up auth with email/password in my Next.js app" requires Auth + Next.js + JS Client. Read all relevant files.
@supabase/supabase-js v2@supabase/ssr(select auth.uid()) in RLS policies (wrapped in select for performance).@supabase/ssr).supabase.auth.getClaims() in server code to validate JWTs. Never trust getSession() on the server.TO role in RLS policies (to authenticated, to anon).npx claudepluginhub sleestk/skills-pipeline --plugin supabase-jsImplements Supabase clients for Next.js SSR server/client components, React/Vue SPAs, React Native mobile, serverless Edge Functions, and multi-tenant RLS/schema isolation.
Guides @supabase/supabase-js SDK usage for database queries via PostgREST, authentication, storage uploads, realtime subscriptions, and edge functions.
Provides expert guidance on all Supabase products (Database, Auth, Edge Functions, Realtime, Storage, Vectors, Cron, Queues) and client libraries in Next.js, React, SvelteKit, Astro, and Remix.