api-integration
Use this skill when the user says 'API integration', 'connect APIs', 'sync data', 'data mapping', 'rate limiting', or needs…
Use this skill when the user says 'check RLS', 'audit RLS', 'RLS policies', 'row level security', 'Supabase security audit', or needs to verify table-level access control. Audits Supabase Row Level Security policies across all tables. Do NOT use for non-Supabase projects or
$ npx -y skills add cwinvestments/memstack --skill rls-checker --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/rls-checkerContext preview
The summary Claude sees to decide when to auto-load this skill.
Use this skill when the user says 'check RLS', 'audit RLS', 'RLS policies', 'row level security', 'Supabase security audit', or needs to verify table-level access control. Audits Supabase Row Level Security policies across all tables. Do NOT use for non-Supabase projects or
name: memstack-security-rls-checker description: "Use this skill when the user says 'check RLS', 'audit RLS', 'RLS policies', 'row level security', 'Supabase security audit', or needs to verify table-level access control. Audits Supabase Row Level Security policies across all tables. Do NOT use for non-Supabase projects or writing RLS policies from scratch." version: 1.0.0 license: "Proprietary, MemStack™ Pro by CW Affiliate Investments LLC. See LICENSE.txt"
*Audit Supabase Row Level Security policies across all tables in a project.*
When this skill activates, output:
`🔒 RLS Checker: Auditing Row Level Security...`
Then execute the protocol below.
| Context | Status | |---------|--------| | **User asks to check/audit RLS** | ACTIVE: full audit | | **User mentions Supabase security** | ACTIVE: full audit | | **User asks about table permissions** | ACTIVE: full audit | | **User is writing RLS policies** | DORMANT, they know what they're doing | | **Non-Supabase project** | DORMANT: not applicable |
Find all Supabase tables referenced in the project. Search in priority order:
1. **Migration files**: most authoritative source:
find . -path "*/migrations/*.sql" -o -path "*/supabase/migrations/*.sql" | head -50
Look for `CREATE TABLE` statements.
2. **Generated types**: comprehensive if available:
types/database.ts, types/supabase.ts, src/types/database.types.ts, database.types.ts
Parse the `Tables` interface for all table names.
3. **Client usage**: catches tables missed by above:
grep -r "\.from(['\"]" --include="*.ts" --include="*.tsx" --include="*.js"
Extract table names from `.from('table_name')` calls.
4. **Storage buckets**: separate RLS surface:
grep -r "storage\.from\|createBucket\|storage-api" --include="*.ts" --include="*.tsx" --include="*.sql"
Compile a deduplicated list of all tables and storage buckets.
For each table, find its RLS configuration:
1. **Search migration SQL for RLS statements:**
2. **Check for intentionally unprotected tables:**
3. **Check Supabase dashboard-configured policies:**
supabase db dump --schema public --data-only=false | grep -A5 "CREATE POLICY"
4. **Check Supabase dashboard seed/init files** for policy definitions that may not be in migrations.
For each table with RLS enabled, evaluate policy quality:
**Check 1, Operation Coverage:** Flag tables missing policies for any CRUD operation:
**Check 2, User Isolation:** Verify policies filter by authenticated user:
grep -rn "current_setting" --include="*.sql"
**Check 3, Multi-Tenant Isolation:** For tables with `organization_id` or `team_id` columns:
CREATE POLICY "org_isolation" ON documents
USING (organization_id IN (
SELECT org_id FROM organization_members
WHERE user_id = auth.uid()
));**Check 4, Service Role Bypass:** Search codebase for service role usage that bypasses RLS:
grep -r "service_role\|serviceRole\|supabaseAdmin\|SUPABASE_SERVICE_ROLE" --include="*.ts" --include="*.tsx" --include="*.js" --include="*.env*"
**Check 5, Storage Bucket Policies:** For each storage bucket f
The structured skill framework for Claude Code: 131 professional skills for deployment, security, databases, content, marketing, and more. Skills activate automatically when you need them. Say "deploy this to Railway" and the right skill loads on demand.
Use this skill when the user says 'API integration', 'connect APIs', 'sync data', 'data mapping', 'rate limiting', or needs…
Use this skill when the user says 'content pipeline', 'content automation', 'auto-publish', 'repurpose content', 'multi-platform…
Use this skill when the user says 'cron job', 'scheduled task', 'run every', 'cron expression', 'recurring job', or needs…
Use when the user says 'what MCP servers', 'find an MCP for', 'hosted MCP', 'list MCP servers', 'MCP catalog', 'available MCP…
Use this skill when the user says 'n8n workflow', 'build a workflow', 'automation workflow', 'connect services', or needs visual…
Use this skill when the user says 'webhook', 'webhook handler', 'webhook endpoint', 'receive events', 'HMAC verification',…