
supabase-automation
Automate Supabase database queries, table management, project administration, storage, edge functions, and SQL execution via Rube MCP (Composio). Always search tools first for current schemas.
- Installs
- 86
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/composiohq/awesome-claude-skills --skill supabase-automation- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads supabase-automation automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Supabase Automation via Rube MCP
Automate Supabase operations including database queries, table schema inspection, SQL execution, project and organization management, storage buckets, edge functions, and service health monitoring through Composio's Supabase toolkit.
Toolkit docs: composio.dev/toolkits/supabase
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Supabase connection via
RUBE_MANAGE_CONNECTIONSwith toolkitsupabase - Always call
RUBE_SEARCH_TOOLSfirst to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith toolkitsupabase - If connection is not ACTIVE, follow the returned auth link to complete Supabase authentication
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Query and Manage Database Tables
When to use: User wants to read data from tables, inspect schemas, or perform CRUD operations
Tool sequence:
SUPABASE_LIST_ALL_PROJECTS- List projects to find the target project_ref [Prerequisite]SUPABASE_LIST_TABLES- List all tables and views in the database [Prerequisite]SUPABASE_GET_TABLE_SCHEMAS- Get detailed column types, constraints, and relationships [Prerequisite for writes]SUPABASE_SELECT_FROM_TABLE- Query rows with filtering, sorting, and pagination [Required for reads]SUPABASE_BETA_RUN_SQL_QUERY- Execute arbitrary SQL for complex queries, inserts, updates, or deletes [Required for writes]
Key parameters for SELECT_FROM_TABLE:
project_ref: 20-character lowercase project referencetable: Table or view name to queryselect: Comma-separated column list (supports nested selections and JSON paths likeprofile->avatar_url)filters: Array of filter objects withcolumn,operator,valueorder: Sort expression likecreated_at.desclimit: Max rows to return (minimum 1)offset: Rows to skip for pagination
PostgREST filter operators:
eq,neq: Equal / not equalgt,gte,lt,lte: Comparison operatorslike,ilike: Pattern matching (case-sensitive / insensitive)is: IS check (for null, true, false)in: In a list of valuescs,cd: Contains / contained by (arrays)fts,plfts,phfts,wfts: Full-text search variants
Key parameters for RUN_SQL_QUERY:
ref: Project reference (20 lowercase letters, pattern^[a-z]{20}$)query: Valid PostgreSQL SQL statementread_only: Boolean to force read-only transaction (safer for SELECTs)
Pitfalls:
project_refmust be exactly 20 lowercase letters (a-z only, no numbers or hyphens)SELECT_FROM_TABLEis read-only; useRUN_SQL_QUERYfor INSERT, UPDATE, DELETE operations- For PostgreSQL array columns (text[], integer[]), use
ARRAY['item1', 'item2']or'{"item1", "item2"}'syntax, NOT JSON array syntax'["item1", "item2"]' - SQL identifiers that are case-sensitive must be double-quoted in queries
- Complex DDL operations may timeout (~60 second limit); break into smaller queries
- ERROR 42P01 "relation does not exist" usually means unquoted case-sensitive identifiers
- ERROR 42883 "function does not exist" means you are calling non-standard helpers; prefer information_schema queries
2. Manage Projects and Organizations
When to use: User wants to list projects, inspect configurations, or manage organizations
Tool sequence:
SUPABASE_LIST_ALL_ORGANIZATIONS- List all organizations (IDs and names) [Required]SUPABASE_GETS_INFORMATION_ABOUT_THE_ORGANIZATION- Get detailed org info by slug [Optional]SUPABASE_LIST_MEMBERS_OF_AN_ORGANIZATION- List org members with roles and MFA status [Optional]SUPABASE_LIST_ALL_PROJECTS- List all projects with metadata [Required]SUPABASE_GETS_PROJECT_S_POSTGRES_CONFIG- Get database configuration [Optional]SUPABASE_GETS_PROJECT_S_AUTH_CONFIG- Get authentication configuration [Optional]SUPABASE_GET_PROJECT_API_KEYS- Get API keys (sensitive -- handle carefully) [Optional]SUPABASE_GETS_PROJECT_S_SERVICE_HEALTH_STATUS- Check service health [Optional]
Key parameters:
ref: Project reference for project-specific toolsslug: Organization slug (URL-friendly identifier) for org toolsservices: Array of services for health check:auth,db,db_postgres_user,pg_bouncer,pooler,realtime,rest,storage
Pitfalls:
LIST_ALL_ORGANIZATIONSreturns bothidandslug;LIST_MEMBERS_OF_AN_ORGANIZATIONexpectsslug, notidGET_PROJECT_API_KEYSreturns live secrets -- NEVER log, display, or persist full key valuesGETS_PROJECT_S_SERVICE_HEALTH_STATUSrequires a non-emptyservicesarray; empty array causes invalid_request error- Config tools may return 401/403 if token lacks required scope; handle gracefully rather than failing the whole workflow
3. Inspect Database Schema
When to use: User wants to understand table structure, columns, constraints, or generate types
Tool sequence:
SUPABASE_LIST_ALL_PROJECTS- Find the target project [Prerequisite]SUPABASE_LIST_TABLES- Enumerate all tables and views with metadata [Required]SUPABASE_GET_TABLE_SCHEMAS- Get detailed schema for specific tables [Required]SUPABASE_GENERATE_TYPE_SCRIPT_TYPES- Generate TypeScript types from schema [Optional]
Key parameters for LIST_TABLES:
project_ref: Project referenceschemas: Array of schema names to search (e.g.,["public"]); omit for all non-system schemasinclude_views: Include views alongside tables (default true)include_metadata: Include row count estimates and sizes (default true)include_system_schemas: Include pg_catalog, information_schema, etc. (default false)
Key parameters for GET_TABLE_SCHEMAS:
project_ref: Project referencetable_names: Array of table names (max 20 per request); supports schema prefix likepublic.users,auth.usersinclude_relationships: Include foreign key info (default true)include_indexes: Include index info (default true)exclude_null_values: Cleaner output by hiding null fields (default true)
Key parameters for GENERATE_TYPE_SCRIPT_TYPES:
ref: Project referenceincluded_schemas: Comma-separated schema names (default"public")
Pitfalls:
- Table names without schema prefix assume
publicschema row_countandsize_bytesfrom LIST_TABLES may be null for views or recently created tables; treat as unknown, not zero- GET_TABLE_SCHEMAS has a max of 20 tables per request; batch if needed
- TypeScript types include all tables in specified schemas; cannot filter individual tables
4. Manage Edge Functions
When to use: User wants to list, inspect, or work with Supabase Edge Functions
Tool sequence:
SUPABASE_LIST_ALL_PROJECTS- Find the project reference [Prerequisite]SUPABASE_LIST_ALL_FUNCTIONS- List all edge functions with metadata [Required]SUPABASE_RETRIEVE_A_FUNCTION- Get detailed info for a specific function [Optional]
Key parameters:
ref: Project reference- Function slug for RETRIEVE_A_FUNCTION
Pitfalls:
LIST_ALL_FUNCTIONSreturns metadata only, not function code or logscreated_atandupdated_atmay be epoch milliseconds; convert to human-readable timestamps- These tools cannot create or deploy edge functions; they are read-only inspection tools
- Permission errors may occur without org/project admin rights
5. Manage Storage Buckets
When to use: User wants to list storage buckets or manage file storage
Tool sequence:
SUPABASE_LIST_ALL_PROJECTS- Find the project reference [Prerequisite]SUPABASE_LISTS_ALL_BUCKETS- List all storage buckets [Required]
Key parameters:
ref: Project reference
Pitfalls:
LISTS_ALL_BUCKETSreturns bucket list only, not bucket contents or access policies- For file uploads,
SUPABASE_RESUMABLE_UPLOAD_SIGN_OPTIONS_WITH_IDhandles CORS preflight for TUS resumable uploads only - Direct file operations may require using
proxy_executewith the Supabase storage API
Common Patterns
ID Resolution
- Project reference:
SUPABASE_LIST_ALL_PROJECTS-- extractreffield (20 lowercase letters) - Organization slug:
SUPABASE_LIST_ALL_ORGANIZATIONS-- useslug(notid) for downstream org tools - Table names:
SUPABASE_LIST_TABLES-- enumerate available tables before querying - Schema discovery:
SUPABASE_GET_TABLE_SCHEMAS-- inspect columns and constraints before writes
Pagination
SUPABASE_SELECT_FROM_TABLE: Usesoffset+limitpagination. Increment offset by limit until fewer rows than limit are returned.SUPABASE_LIST_ALL_PROJECTS: May paginate for large accounts; follow cursors/pages until exhausted.SUPABASE_LIST_TABLES: May paginate for large databases.
SQL Best Practices
- Always use
SUPABASE_GET_TABLE_SCHEMASorSUPABASE_LIST_TABLESbefore writing SQL - Use
read_only: truefor SELECT queries to prevent accidental mutations - Quote case-sensitive identifiers:
SELECT * FROM "MyTable"notSELECT * FROM MyTable - Use PostgreSQL array syntax for array columns:
ARRAY['a', 'b']not['a', 'b'] - Break complex DDL into smaller statements to avoid timeouts
Known Pitfalls
ID Formats
- Project references are exactly 20 lowercase letters (a-z): pattern
^[a-z]{20}$ - Organization identifiers come as both
id(UUID) andslug(URL-friendly string); tools vary in which they accept LIST_MEMBERS_OF_AN_ORGANIZATIONrequiresslug, notid
SQL Execution
BETA_RUN_SQL_QUERYhas ~60 second timeout for complex operations- PostgreSQL array syntax required:
ARRAY['item']or'{"item"}', NOT JSON syntax'["item"]' - Case-sensitive identifiers must be double-quoted in SQL
- ERROR 42P01: relation does not exist (check quoting and schema prefix)
- ERROR 42883: function does not exist (use information_schema instead of custom helpers)
Sensitive Data
GET_PROJECT_API_KEYSreturns service-role keys -- NEVER expose full values- Auth config tools exclude secrets but may still contain sensitive configuration
- Always mask or truncate API keys in output
Schema Metadata
row_countandsize_bytesfromLIST_TABLEScan be null; do not treat as zero- System schemas are excluded by default; set
include_system_schemas: trueto see them - Views appear alongside tables unless
include_views: false
Rate Limits and Permissions
- Enrichment tools (API keys, configs) may return 401/403 without proper scopes; skip gracefully
- Large table listings may require pagination
GETS_PROJECT_S_SERVICE_HEALTH_STATUSfails with emptyservicesarray -- always specify at least one
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List organizations | SUPABASE_LIST_ALL_ORGANIZATIONS | (none) |
| Get org info | SUPABASE_GETS_INFORMATION_ABOUT_THE_ORGANIZATION | slug |
| List org members | SUPABASE_LIST_MEMBERS_OF_AN_ORGANIZATION | slug |
| List projects | SUPABASE_LIST_ALL_PROJECTS | (none) |
| List tables | SUPABASE_LIST_TABLES | project_ref, schemas |
| Get table schemas | SUPABASE_GET_TABLE_SCHEMAS | project_ref, table_names |
| Query table | SUPABASE_SELECT_FROM_TABLE | project_ref, table, select, filters |
| Run SQL | SUPABASE_BETA_RUN_SQL_QUERY | ref, query, read_only |
| Generate TS types | SUPABASE_GENERATE_TYPE_SCRIPT_TYPES | ref, included_schemas |
| Postgres config | SUPABASE_GETS_PROJECT_S_POSTGRES_CONFIG | ref |
| Auth config | SUPABASE_GETS_PROJECT_S_AUTH_CONFIG | ref |
| Get API keys | SUPABASE_GET_PROJECT_API_KEYS | ref |
| Service health | SUPABASE_GETS_PROJECT_S_SERVICE_HEALTH_STATUS | ref, services |
| List edge functions | SUPABASE_LIST_ALL_FUNCTIONS | ref |
| Get edge function | SUPABASE_RETRIEVE_A_FUNCTION | ref, function slug |
| List storage buckets | SUPABASE_LISTS_ALL_BUCKETS | ref |
| List DB branches | SUPABASE_LIST_ALL_DATABASE_BRANCHES | ref |
Powered by Composio
FAQ
What does the supabase-automation skill do?
Automate Supabase database queries, table management, project administration, storage, edge functions, and SQL execution via Rube MCP (Composio). Always search tools first for current schemas.
How do I install supabase-automation?
Run npx skills add https://github.com/composiohq/awesome-claude-skills --skill supabase-automation in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/supabase-automation/ (personal) or .claude/skills/supabase-automation/ (project).
Which AI agents can use supabase-automation?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is supabase-automation safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains supabase-automation?
It is published by composiohq in composiohq/awesome-claude-skills. It has 86 recorded installs.
More from composiohq/awesome-claude-skills
tailored-resume-generator
composiohq/awesome-claude-skills
Analyzes job descriptions and generates tailored resumes that highlight relevant experience, skills, and achievements to maximize interview chances
content-research-writer
composiohq/awesome-claude-skills
Assists in writing high-quality content by conducting research, adding citations, improving hooks, iterating on outlines, and providing real-time feedback on each section. Transforms your writing process from solo effort to collaborative partnership.
changelog-generator
composiohq/awesome-claude-skills
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
file-organizer
composiohq/awesome-claude-skills
Intelligently organizes your files and folders across your computer by understanding context, finding duplicates, suggesting better structures, and automating cleanup tasks. Reduces cognitive load and keeps your digital workspace tidy without manual effort.
youtube-downloader
composiohq/awesome-claude-skills
Download YouTube videos with customizable quality and format options. Use this skill when the user asks to download, save, or grab YouTube videos. Supports various quality settings (best, 1080p, 720p, 480p, 360p), multiple formats (mp4, webm, mkv), and audio-only downloads as MP3.
competitive-ads-extractor
composiohq/awesome-claude-skills
Extracts and analyzes competitors' ads from ad libraries (Facebook, LinkedIn, etc.) to understand what messaging, problems, and creative approaches are working. Helps inspire and improve your own ad campaigns.
Popular data & databases skills
supabase-postgres-best-practices
supabase/agent-skills
Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pgcron, pgmq), vector/semantic search (pgvector), and restoring dumps (pgrestore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.
prisma-client-api
prisma/skills
Prisma Client API reference covering model queries, filters, operators, and client methods. Use when writing database queries, using CRUD operations, filtering data, or configuring Prisma Client. Triggers on "prisma query", "findMany", "create", "update", "delete", "$transaction".
prisma-database-setup
prisma/skills
Deprecated compatibility name for prisma-orm-setup. Use only when a user or existing integration explicitly invokes prisma-database-setup; otherwise select prisma-orm-setup.
prisma-cli
prisma/skills
Prisma ORM 7 CLI reference for existing Prisma 7 applications or explicitly selected Prisma 7 workflows. Covers prisma init, generate, migrate, db, dev, studio, and mcp. For setup, connection repair, or Prisma 8, use prisma-orm-setup; not the Prisma Platform CLI.
prisma-postgres
prisma/skills
Deprecated compatibility name for prisma-postgres-setup. Use only when a user or existing integration explicitly invokes prisma-postgres; otherwise select prisma-postgres-setup.
prisma-driver-adapter-implementation
prisma/skills
Required reference for Prisma ORM 7 SQL driver adapter work. Use when implementing or modifying adapters, adding database drivers, or touching SqlDriverAdapter, Transaction, savepoint, result mapping, or DriverAdapterError behavior. Covers current transaction lifecycle, optional savepoint hooks, original database-error preservation, and verification.