nice-wolf-studio/claude-code-supabase-skills
Claude Code skills for comprehensive Supabase API operations
npx skills add nice-wolf-studio/claude-code-supabase-skillsREADME
Supabase Skills for Claude Code
Comprehensive Claude Code skills that wrap the Supabase API for database operations, authentication, storage, realtime subscriptions, and edge functions.
Features
- Database Operations - CRUD operations, queries, filters, RPC functions
- Authentication - User management, sign up/in/out, password recovery
- Storage - File uploads, downloads, bucket management, signed URLs
- Realtime - WebSocket subscriptions to database changes, broadcast, presence
- Edge Functions - Deploy and invoke serverless Deno functions
Installation
1. Clone Repository
git clone https://github.com/Nice-Wolf-Studio/claude-code-supabase-skills.git
cd claude-code-supabase-skills
2. Set Environment Variables
Export your Supabase credentials:
export SUPABASE_URL="https://your-project.supabase.co"
export SUPABASE_KEY="your-anon-or-service-role-key"
Permanent setup (add to ~/.zshrc or ~/.bashrc):
echo 'export SUPABASE_URL="https://your-project.supabase.co"' >> ~/.zshrc
echo 'export SUPABASE_KEY="your-anon-or-service-role-key"' >> ~/.zshrc
source ~/.zshrc
3. Add Skills to Claude Code
Skills are automatically available in Claude Code when this repository is in your workspace. Alternatively, you can:
Option A: Link to global skills directory
# Create skills directory if it doesn't exist
mkdir -p ~/.claude/skills
# Link individual skills
ln -s "$(pwd)/skills/supabase-database" ~/.claude/skills/
ln -s "$(pwd)/skills/supabase-auth" ~/.claude/skills/
ln -s "$(pwd)/skills/supabase-storage" ~/.claude/skills/
ln -s "$(pwd)/skills/supabase-realtime" ~/.claude/skills/
ln -s "$(pwd)/skills/supabase-edge-functions" ~/.claude/skills/
Option B: Use skills from this repository directly
Just reference the skills when working in Claude Code - they'll be available when this project is your working directory.
Available Skills
supabase-database
Database operations using the Supabase REST API.
Common operations:
- SELECT with filters, ordering, pagination
- INSERT single or multiple rows
- UPDATE with conditions
- DELETE rows
- Call RPC functions
- Upsert operations
Usage in Claude Code:
Use the supabase-database skill to query my users table
supabase-auth
Authentication and user management.
Common operations:
- Sign up new users
- Sign in with email/password
- Sign out users
- Get current user
- Update user metadata
- Password recovery
- Admin user management (requires service role key)
Usage in Claude Code:
Use the supabase-auth skill to create a new user account
supabase-storage
File storage operations.
Common operations:
- Create and manage buckets
- Upload files
- Download files
- List files with filters
- Delete files
- Generate public URLs
- Create signed URLs for private files
- Image transformations
Usage in Claude Code:
Use the supabase-storage skill to upload a file to my avatars bucket
supabase-realtime
Realtime WebSocket subscriptions.
Common operations:
- Subscribe to database table changes
- Listen for INSERT, UPDATE, DELETE events
- Broadcast messages to channels
- Track presence
- Filter subscriptions
Usage in Claude Code:
Use the supabase-realtime skill to listen for changes on my posts table
supabase-edge-functions
Serverless edge functions deployment and invocation.
Common operations:
- Invoke edge functions
- Deploy functions via Supabase CLI
- Set environment variables/secrets
- Local function development
- View function logs
Usage in Claude Code:
Use the supabase-edge-functions skill to invoke my process-payment function
Quick Start Examples
Query Database
source scripts/supabase-api.sh
# Get all users
supabase_get "/rest/v1/users?select=*"
# Get users with filter
supabase_get "/rest/v1/users?select=*&age=gt.18&order=created_at.desc"
Create User
source scripts/supabase-api.sh
# Sign up new user
supabase_post "/auth/v1/signup" '{
"email": "user@example.com",
"password": "secure_password"
}'
Upload File
BUCKET_NAME="avatars"
FILE_PATH="/path/to/image.jpg"
STORAGE_PATH="user-123/avatar.jpg"
curl -X POST \
"${SUPABASE_URL}/storage/v1/object/${BUCKET_NAME}/${STORAGE_PATH}" \
-H "apikey: ${SUPABASE_KEY}" \
-H "Authorization: Bearer ${SUPABASE_KEY}" \
-F "file=@${FILE_PATH}"
Invoke Edge Function
source scripts/supabase-api.sh
supabase_post "/functions/v1/hello-world" '{
"name": "Alice"
}'
Architecture
Shared Helper Script
scripts/supabase-api.sh provides common functions:
supabase_get(endpoint)- GET requestssupabase_post(endpoint, json_data)- POST requestssupabase_patch(endpoint, json_data)- PATCH requestssupabase_delete(endpoint)- DELETE requestsvalidate_env()- Check environment variablessuccess(message),error(message), `warning(message)
...