supabase

Guides Supabase development, schema migrations, security audits, and debugging workflows.

Updated Mar 23, 2026
One-click install
npx skills add https://github.com/Haseeb-Arshad/my-folio-book --skill supabase-haseeb-arshad
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: supabase
Source: https://github.com/Haseeb-Arshad/my-folio-book/tree/main/.continue/skills/supabase
Command: npx skills add https://github.com/Haseeb-Arshad/my-folio-book --skill supabase-haseeb-arshad

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) and assets (resource) components.

What problem does it solve? Working with Supabase involves frequent API changes, subtle security traps (RLS bypasses, SECURITY DEFINER misuse, JWT claim pitfalls), and version-specific CLI behavior that training data often gets wrong. This Skill keeps Supabase work accurate by enforcing changelog verification, current documentation lookup, and a structured security checklist. ## Core Features & Use Cases - Schema Management: Supports both declarative schemas (supabase/schemas/) and imperative migrations, with advisor checks and clean migration generation via supabase db pull. - Security Checklist: Covers RLS policies, TO authenticated vs ownership predicates, SECURITY DEFINER risks, storage upsert grants, and npm supply-chain pinning. - Debugging Workflows: Directs agents to fetch the Monitoring and Debugging docs before diagnosing REST API, Postgres, Auth, Realtime, Edge Function, or Storage errors. - Use Case: When a user reports that a newly created table returns permission denied through the REST API, the Skill walks through Data API exposure settings, explicit GRANTs, and RLS enablement. ## Quick Start Ask the agent to create a new Supabase table with RLS policies and generate a migration for it.

Frequently Asked Questions about supabase

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a Supabase migration for schema changes?▼

For imperative projects, iterate with execute_sql or supabase db query, then run supabase db advisors and generate the migration with supabase db pull <name> --local --yes. For declarative projects, edit files in supabase/schemas/ and generate the migration from there.

How do I write a secure RLS policy in Supabase?▼

Use the TO clause (e.g., TO authenticated) combined with an ownership predicate like (select auth.uid()) = user_id in USING. UPDATE policies also need a matching WITH CHECK clause, and UPDATE requires a SELECT policy to see rows.

Why is my new Supabase table not accessible via the REST API?▼

New tables may not be auto-exposed depending on your Data API settings. You must explicitly GRANT access to the anon and authenticated roles, and enable RLS on the table when granting public access.

Can I use auth.role() in Supabase RLS policies?▼

No, auth.role() is deprecated. Use the TO clause on the policy instead, since auth.role() = 'authenticated' silently passes for anonymous sign-ins because anonymous users carry the authenticated Postgres role.

Why does my Supabase view bypass RLS?▼

Views bypass RLS by default because they run with the view owner's privileges. On Postgres 15+, create the view WITH (security_invoker = true); on older versions, revoke access from anon and authenticated roles or move the view to an unexposed schema.

What should I check when the Supabase MCP server is not connecting?▼

First curl https://mcp.supabase.com/mcp and expect a 401, which confirms the server is up. Then verify a valid .mcp.json exists in the project root, and finally complete the OAuth 2.1 authentication flow in your agent and reload the session.