name: Supabase Migration description: Create and run Supabase database migrations with proper RLS policies
Supabase Migration Skill
Overview
This skill helps create and execute Supabase database migrations with proper Row Level Security (RLS) policies.
When to Use
- Creating new tables
- Adding columns to existing tables
- Setting up RLS policies
- Running migrations in production
Instructions
1. Create Migration File
Create SQL migration in /supabase/migrations/YYYYMMDD_description.sql:
-- ═══════════════════════════════════════════════════════════════════════════
-- MIGRATION: [Description]
-- ═══════════════════════════════════════════════════════════════════════════
-- Create table
CREATE TABLE IF NOT EXISTS public.table_name (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- Enable RLS
ALTER TABLE public.table_name ENABLE ROW LEVEL SECURITY;
-- Create policies
CREATE POLICY "Public read access" ON public.table_name
FOR SELECT USING (true);
2. Run Migration
Use browser agent to execute SQL in Supabase dashboard:
- Navigate to
/sql/new - Inject SQL via Monaco editor
- Click Run and confirm
3. Verify
Check Security Advisor at /advisors/security for any new issues.
Policy Templates
Public Read
CREATE POLICY "Public read access" ON public.table_name
FOR SELECT USING (true);
User Owned
CREATE POLICY "Users manage own data" ON public.table_name
FOR ALL USING (auth.uid() = user_id);
System Managed
CREATE POLICY "System manages data" ON public.table_name
FOR ALL USING (true);
Related skills
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
Claude CodeCursoradvanced
890
234
3,212
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
claudeCursorWindsurfbeginner
259
72
1,114
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.
claudeCursorWindsurfintermediate
156
44
975