supabase

Guides Supabase database, auth, RLS, and migration tasks with security checklists and CLI workflows.

Updated Jun 8, 2026
One-click install
npx skills add https://github.com/raulisai/eva02 --skill supabase-raulisai
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: supabase
Source: https://github.com/raulisai/eva02/tree/main/.agents/skills/supabase
Command: npx skills add https://github.com/raulisai/eva02 --skill supabase-raulisai

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, JWT misuse, SECURITY DEFINER pitfalls), and CLI/MCP tooling differences that cause silent failures. This Skill provides verified, up-to-date guidance so AI agents implement Supabase features correctly and securely on the first attempt. ## Core Features & Use Cases - Security Checklist Enforcement: Covers auth/session security, RLS policy patterns (BOLA/IDOR prevention, WITH CHECK, TO clause), views, storage access control, and supply-chain pinning. - Schema Change Workflow: Directs safe iteration with execute_sql or supabase db query, then committing via supabase db pull with advisor checks and migration verification. - CLI & MCP Troubleshooting: Provides version-specific gotchas, connection diagnostics for the Supabase MCP server, and documentation lookup strategies including changelog verification. - Use Case: When adding a new multi-tenant table, the Skill ensures you create a numbered migration, write org-scoped RLS policies, run advisors, and verify with a test query before finishing. ## Quick Start Ask the agent to create a new Supabase table with row-level security policies and a verified migration for your project.

Frequently Asked Questions about supabase

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

FAQPage Schema
How do I write a secure RLS policy in Supabase?

Combine the TO authenticated clause with an ownership predicate in USING, such as auth.uid() = user_id, and add WITH CHECK for UPDATE policies. Avoid the deprecated auth.role() function and never rely on user-editable user_metadata for authorization.

How do I create and commit a Supabase migration?

Iterate on schema changes using execute_sql or supabase db query, then run supabase db advisors, generate the migration with supabase db pull <name> --local --yes, and verify with supabase migration list --local. Avoid apply_migration for iterative work.

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

Newly created tables may not be automatically exposed through the Data API depending on project settings. Check the Data API settings and explicitly GRANT access to the anon and authenticated roles, then enable RLS on the table.

Why does my Supabase UPDATE policy silently affect zero rows?

In Postgres RLS, an UPDATE requires a matching SELECT policy first; without it, updates silently return zero rows with no error. Add a SELECT policy and ensure the UPDATE policy includes both USING and WITH CHECK clauses.

Can I use SECURITY DEFINER functions to fix Supabase permission errors?

No. SECURITY DEFINER functions bypass RLS and run with creator privileges, silently removing access control. Prefer SECURITY INVOKER, and if SECURITY DEFINER is truly required, keep the function in a non-exposed schema with an auth.uid() check.

How do I fix Supabase MCP server connection issues?

First check reachability with curl to https://mcp.supabase.com/mcp (a 401 means it is up), then verify your .mcp.json configuration, and finally complete the OAuth 2.1 authentication flow in your agent and reload the session.