| name | supabase |
| version | 1.0.0 |
| description | Query tables, insert rows, and manage auth users via Supabase PostgREST API. |
| author | ZeptoClaw |
| license | MIT |
| tags | ["supabase","database","postgres","backend"] |
| env_needed | [{"name":"SUPABASE_URL","description":"Project URL (https://xxx.supabase.co)","required":true},{"name":"SUPABASE_ANON_KEY","description":"Anon/public key from Project Settings > API","required":true},{"name":"SUPABASE_SERVICE_KEY","description":"Service role key (for admin operations, bypasses RLS)","required":false}] |
| metadata | {"zeptoclaw":{"emoji":"⚡","requires":{"anyBins":["curl","jq"]}}} |
Supabase Skill
Query and modify data in Supabase using the PostgREST API. Also manage auth users.
Setup
- Go to your project at supabase.com/dashboard
- Project Settings → API → Copy the URL and keys
export SUPABASE_URL="https://xxx.supabase.co"
export SUPABASE_ANON_KEY="eyJhbGci..."
export SUPABASE_SERVICE_KEY="eyJhbGci..."
Query a Table
curl -s "$SUPABASE_URL/rest/v1/todos?select=*&order=created_at.desc&limit=20" \
-H "apikey: $SUPABASE_ANON_KEY" \
-H "Authorization: Bearer $SUPABASE_ANON_KEY" \
| jq '.[] | {id, title, done, created_at}'
Filter with operators:
curl -s "$SUPABASE_URL/rest/v1/todos?done=eq.false&select=id,title" \
-H "apikey: $SUPABASE_ANON_KEY" \
-H "Authorization: Bearer $SUPABASE_ANON_KEY" \
| jq .
Insert a Row
curl -s -X POST "$SUPABASE_URL/rest/v1/todos" \
-H "apikey: $SUPABASE_ANON_KEY" \
-H "Authorization: Bearer $SUPABASE_ANON_KEY" \
-H "Content-Type: application/json" \
-H "Prefer: return=representation" \
-d '{"title": "New task from agent", "done": false}' \
| jq '.[0] | {id, title}'
Update a Row
curl -s -X PATCH "$SUPABASE_URL/rest/v1/todos?id=eq.1" \
-H \
-H \
-H \
-H \
-d | jq .