What problem does it solve? Supabase projects fail in subtle ways: RLS policies that silently return empty results, sessions that never reach the server, Edge Functions that fail before the handler runs, and migrations that drop changes made in the dashboard. This Skill encodes the security rules, debugging workflows, and CLI procedures needed to build, review, and audit Supabase applications correctly. ## Core Features & Use Cases - Authorization and RLS done right: Write policies for the real access model (ownership, membership, tenancy), distinguish grant failures (42501) from policy failures (empty 200), and avoid bypass traps like SECURITY DEFINER functions in public and views without security_invoker. - Auth and session wiring: Choose between getClaims, getUser, and getSession, build per-request server clients with the getAll/setAll cookie adapter, and diagnose where a session goes missing in SSR frameworks. - Storage, Realtime, and Edge Functions: Configure private-bucket signed URLs, private Realtime channels with RLS on realtime.messages, and Edge Functions with correct verify_jwt, CORS, and secret handling. - CLI and migration workflow: Run declarative versus imperative schema workflows, read generated diffs for blind spots, deploy safely with db push --dry-run, and audit what an outsider can reach using only the publishable key. - Use Case: Your RLS policies return no data through the client SDK but work in the SQL editor. The Skill walks you through proving whether the session reached Postgres, checking the cookie adapter, and fixing the per-request server client instead of reaching for the secret key. ## Quick Start Ask the agent to review your Supabase project's RLS policies and server client setup, or to debug why authenticated queries return empty results while the SQL editor succeeds.