supabase

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

Updated Sep 2, 2026
One-click install
npx skills add https://github.com/akira777777/vladfsBET --skill supabase-akira777777
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: supabase
Source: https://github.com/akira777777/vladfsBET/tree/main/.grok/skills/supabase
Command: npx skills add https://github.com/akira777777/vladfsBET --skill supabase-akira777777

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 like RLS misconfigurations and SECURITY DEFINER pitfalls, and hard-to-diagnose errors across Auth, Database, Edge Functions, Realtime, and Storage. This Skill provides current, verified guidance so you avoid outdated training-data assumptions and silent vulnerabilities. ## Core Features & Use Cases - Security Checklist Enforcement: Covers Supabase-specific traps including user_metadata vs app_metadata in JWT claims, views bypassing RLS, BOLA/IDOR policy patterns, and service_role key exposure. - Schema Change Workflows: Distinguishes declarative schema projects from imperative migrations, with correct CLI and MCP commands for generating and committing migrations. - Debugging & Troubleshooting: Directs agents to fetch current monitoring docs and changelogs before diagnosing REST API, Postgres, Auth, Realtime, or Storage errors. - Use Case: When a user reports a newly created table is inaccessible via the REST API, the Skill guides checking Data API settings, granting roles access, and enabling RLS with correct ownership policies. ## Quick Start Ask the agent to help you create a Supabase table with RLS policies and verify it is accessible through the Data API.

Frequently Asked Questions about supabase

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

FAQPage Schema
How do I create RLS policies in Supabase?▼

Create RLS policies using the TO clause with an ownership predicate, such as TO authenticated USING ((select auth.uid()) = user_id). Avoid the deprecated auth.role() function, and for UPDATE policies include both USING and WITH CHECK clauses.

How do I expose a new table to the Supabase Data API?▼

Newly created tables may not be automatically exposed depending on your Data API settings. Grant access explicitly to the anon and authenticated roles via GRANT SQL, and always enable RLS when granting public access.

Why is my Supabase table inaccessible after creating it with SQL?▼

The table likely lacks explicit grants for the anon or authenticated roles, or your project's Data API settings do not auto-expose new tables. Check the dashboard settings and run GRANT statements, then confirm RLS is enabled.

Can I use user_metadata in Supabase RLS policies?▼

No, raw_user_meta_data is user-editable and unsafe for authorization decisions in RLS policies or JWT claims. Store authorization data in raw_app_meta_data (app_metadata) instead, which users cannot modify.

Why does my Supabase UPDATE policy return 0 rows?▼

In Postgres RLS, an UPDATE requires a SELECT policy first because the row must be readable before modification. Without a SELECT policy, updates silently return 0 rows with no error.

Should I use SECURITY DEFINER to fix Supabase permission errors?▼

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