Individual skill

supabase-rls-review

Review Supabase SQL migrations for row level security gaps and missing or blanket Data API grants (tables without RLS, using (true) write policies, anon write policies, security definer functions without search_path, public tables with no explicit GRANT (Supabase's changelog schedules a grants change for 30 Oct 2026), blanket grants to anon/authenticated). Use when the user asks to review RLS, Supabase policies, grants, a 42501 error, or database security before launch.

skills/supabase-rls-review/SKILL.md

Read pinned source

Source commit 8a7193870ac3ea0027fb8735b48d63baf2e01f75

What was checked

Matches the observed repository HEAD
Yes
Scanner rules are current
No
Repository scan complete
Yes
Skill scan complete
Yes
Observed behavior
Not checked yet
Last checked
Nov 7, 2026

These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.

Install this skill

Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.

An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.

Repository context

Repository stars (not skill ratings)
0
Repository last updated
Oct 17, 2026
License
MIT

Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.

Files and excerpt

File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.

Browse files
Read excerpt

# supabase-rls-review

Read-only review. Don't edit files unless the user asks for the fixes afterwards.

## Scope
Read every `.sql` file under `supabase/migrations/` (and any other `.sql` files the user points to), in filename order, so later migrations can fix earlier ones. Policies created in the Supabase dashboard aren't in these files: say so in the report instead of guessing.

## Checks
For each finding, give file:line, the check id, severity, and the fix.

| Id | Severity | Look for | Fix |
|---|---|---|---|
| R1 | critical | `create table` in `public` with no later `alter table ... enable row level security` | Enable RLS, then add policies scoped to `auth.uid()`. |
| R2 | critical | An `insert`/`update`/`delete`/`all` policy with `using (true)` or `with check (true)` | Scope it to the owner: `using (auth.uid() = user_id) with check (auth.uid() = user_id)`. |
Back to top