supabase
Set up, extend, or audit Supabase schema, grants, RLS, migrations, typed clients, storage, and external auth.
Needs a coding agent. Required tools: project files, terminal commands, network access.
Install
Install globally
npx skills add tushaarmehtaa/tushar-skills --skill supabase -g -a codex -yUsage and required access
Invoke
$supabase or /skillsYou can also describe the task naturally; runtimes may select the skill from its description.
Required access
Install globally
npx skills add tushaarmehtaa/tushar-skills --skill supabase -g -a claude-code -yUsage and required access
Invoke
/supabaseYou can also describe the task naturally; runtimes may select the skill from its description.
Required access
Install globally
npx skills add tushaarmehtaa/tushar-skills --skill supabase -g -a cursor -yUsage and required access
Invoke
/supabaseYou can also describe the task naturally; runtimes may select the skill from its description.
Required access
Other platforms and downloads
local coding agent required
This skill requires project files, terminal commands, and network access. Uploading it to a chat app does not provide equivalent execution.
ChatGPT Skills
This workflow needs a local coding environment or capabilities that a chat-only Skills upload does not provide.
Why local agent required →Instructions
Source: SKILL.mdSupabase
Build a migration-backed, typed Supabase integration with explicit authorization boundaries.
Workflow
- Inspect
supabase/, migrations, generated types, installed Supabase packages/versions, framework/runtime, environment-variable names without printing values, auth/session flow, schemas exposed through the Data API, and existing grants/RLS. - Infer table ownership and tenant relationships from the domain model. Ask only when ownership, collaboration, deletion, retention, or external-auth behavior is ambiguous. Do not add
user_idor four CRUD policies to every table mechanically. - Design keys, foreign keys, constraints, indexes, timestamps, lifecycle/deletion behavior, and server-generated ownership defaults appropriate to each table. Use external provider subject IDs as text unless a local identity mapping is intentionally modeled.
- Create named migrations. Use
supabase migration newor a revieweddb difffor local changes, verify with a local reset/test database, inspectdb push --dry-run, and usedb pushonly when remote deployment is explicitly in scope.migration upis not a substitute for remote deployment. - Secure every exposed object with both Postgres grants and RLS. Scope policies to roles, use indexed predicates, add
with checkfor inserts/updates, review views/functions separately, and set a safesearch_pathonsecurity definerfunctions. - Match auth strategy:
- Supabase Auth: use
auth.uid()/auth.jwt()and current SSR session guidance. - Clerk or another supported third-party provider: configure the native integration, pass the provider token through the client, and use the actual JWT
sub/claims. Do not assume an RLS expression alone configures token verification. - Server administration: use a dedicated server-only client with explicit authorization; never expose secret/service credentials.
- Supabase Auth: use
- For current
@supabase/ssr, create a client per request, use the supported cookiegetAll/setAlladapter, await async framework cookie APIs, and add the required proxy/middleware refresh flow. Do not use legacy single-cookie adapters. - Generate TypeScript types after applying migrations to the target used for generation, then run type checks and update typed queries. Avoid
anyand handle{ data, error }explicitly.
Verification
Run local migration reset/apply, schema/type drift checks, and repository lint/type/test/build. For each policy, test allowed owner/member/admin/service access and denied anonymous/other-user/other-tenant reads and mutations, including attempts to change ownership. Test session refresh/expiry and external-provider tokens in the target runtime.
Output
Report tables/functions/storage changed, migration files, grants and RLS policies with auth strategy, client/session changes, type-generation command/result, negative authorization tests, and remaining linked-project/dashboard/production steps.
Package details
- Category
- devops
- Package
- supabase/SKILL.md
- License
- MIT
- Author
- @tushaarmehtaa
- Tags
- supabasepostgresrlsauthmigrationstypescript