agentleFS
irwebtoolsirwebtools/Product-Skills/skills/optional/supabase/SKILL.md

supabase

Skill0 starsChanged 2 months agoMITView on GitHub

Optionally add a real backend when persistence, authentication, storage, shared data, or server-side behavior materially improves the experience. Use Supabase tools to move quickly while preserving SQL, migrations, policies, types, and API/data contracts developers can continue toward production.

  • Reads credentials

60 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use firebase, vercel and 8 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • xfstudioSkill

    firebase

    Firebase gives you a complete backend in minutes - auth, database, storage, functions, hosting. But the ease of setup hides real complexity. Security rules are your last line of defense, and they're often wrong. Firestore queries are limited, and you learn this after you've designed your data model. This skill covers Firebase Authentication, Firestore, Realtime Database, Cloud Functions, Cloud Storage, and Firebase Hosting. Key insight: Firebase is optimized for read-heavy, denormalized data. I

    Also in 5 projects that use this

  • SentrySkill

    vercel

    Deploy and inspect Vercel apps, assign aliases, delete deployments, investigate logs, and monitor deployment outcomes. Use for Vercel deployment and log requests, not GitHub code changes or other cloud providers.

    Also in 4 projects that use this

  • ffsshhttiikkSkill

    flutter

    Flutter cross-platform framework

    Also in 3 projects that use this

  • VercelSkill

    react-native

    React Native renderer for json-render that turns JSON specs into native mobile UIs. Use when working with @json-render/react-native, building React Native UIs from JSON, creating mobile component catalogs, or rendering AI-generated specs on mobile.

    Also in 3 projects that use this

  • VercelSkill

    vercel-optimize

    Use for Vercel cost and performance optimization on deployed projects, especially Next.js, SvelteKit, Nuxt, and limited Astro apps. Collect Vercel metrics, usage, project config, and code scan results first; investigate only metric-backed candidates; produce ranked recommendations grounded in verified files and version-aware Vercel/framework docs. Trigger for Vercel bill reduction, slow or expensive routes, caching opportunities, Function Invocations, Build Minutes, Fast Data Transfer, Core Web Vitals, Bot Management, Fluid compute, or cost breakdown requests.

    Also in 3 projects that use this

  • klauswgSkill

    performance

    Optimize web performance for faster loading and better user experience. Use when asked to "speed up my site", "optimize performance", "reduce load time", "fix slow loading", "improve page speed", or "performance audit".

    Also in 4 projects that use this

  • +2 more from vercel-labs

The file

Show its rules and text

We split this skill into the rules it gives an agent

14 rules. 0 are common, 12 are distinctive, and 2 are very specific to this project.

  • 0

    Common

    Most of the 58 edited versions we read keep these.

  • 12

    Distinctive

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use Supabase when the experience benefits from one or more of:

    line 14
  2. Distinctive:

    When Supabase is used, preserve in the repository as applicable:

    line 27
  3. Very specific:

    Never put business rules into shared/ merely because they touch the backend.

    line 50
  4. Distinctive:

    Do not call Supabase directly from page UI components.

    line 52
  5. Distinctive:

    Never commit a real/shared demo password, access token, service-role key, or reusable credential to the repository.

    line 56
  6. Distinctive:

    Prefer seed files for application data.

    line 58
  7. Very specific:

    Do not assume an account can sign in immediately after signUp.

    line 60
  8. Distinctive:

    When RLS protects user- or role-sensitive data, verify at least:

    line 66
  9. Distinctive:

    Use browser-safe/publishable credentials only in frontend code.

    line 76
  10. Distinctive:

    Never expose service-role or other privileged keys to the browser.

    line 77
  11. Distinctive:

    Add RLS for user/role-sensitive access when relevant.

    line 78
  12. Distinctive:

    Never make remote MCP changes the only record of a schema or backend change.

    line 79
  13. Distinctive:

    Use whichever path is fastest without losing reproducibility:

    line 85
  14. Distinctive:

    Use templates, references, and evaluations for scope and exit evidence.

    line 120

“Common” is measured: kept by at least 6 in 10 of the 58 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Supabase

Supabase is an optional backend accelerator, not a required part of every React experience.

Product Team members should not need to write SQL or backend code manually. The coding agent may use Supabase MCP/CLI and project tooling to create the backend, but all durable backend work must remain inspectable, reproducible, and reusable in source control.

When to use

Use Supabase when the experience benefits from one or more of:

  • persistent/shared data;
  • authentication or role-aware behavior;
  • file/storage workflows;
  • relational business data;
  • server-side functions or protected operations;
  • realistic backend behavior needed for stakeholder validation.

For UI-only work, prefer mock data and skip Supabase.

Production-continuation contract

When Supabase is used, preserve in the repository as applicable:

  • supabase/migrations/ and SQL;
  • RLS policies and authorization assumptions;
  • seed/demo application data that is safe to share;
  • generated database types;
  • frontend API/data contracts;
  • Edge Functions or other server-side logic;
  • environment variable requirements;
  • notes for any remote-only resource that cannot be fully represented as code.

These artifacts are developer-owned assets. Developers may keep Supabase for production, harden the implementation, or migrate to another backend while retaining business rules, SQL/data modeling knowledge, API contracts, and frontend boundaries.

Frontend placement — Feature-Sliced Design

Greenfield Product-Skills React projects follow FSD v2.1.

  • Supabase client/provider infrastructure → shared/api/.
  • Auth session/token/client infrastructure → shared/auth/.
  • Generic CRUD transport/query functions → shared/api/.
  • Single-page product logic that consumes Supabase stays in the owning pages/<page>/ slice.
  • Extract a reusable interaction to features/ only when it is currently reused across multiple pages.
  • Extract stable reusable domain models to entities/ only when current reuse justifies the boundary.
  • Never put business rules into shared/ merely because they touch the backend.

Do not call Supabase directly from page UI components. Page/feature model code should consume a focused lower-layer API boundary.

Auth and demo-data rules

  • Never commit a real/shared demo password, access token, service-role key, or reusable credential to the repository.
  • .env.example contains variable names or obvious placeholders only. Browser-safe URLs/project refs are not secrets, but reusable templates should not be unnecessarily bound to one remote project.
  • Prefer seed files for application data. Create demo auth users through an explicit local/non-production setup script, Auth API, CLI-supported workflow, or user sign-up rather than treating Supabase internal auth tables as a portable application seed contract.
  • Email/password sign-up must handle both Supabase outcomes: an immediate session when confirmation is disabled, or session = null with a clear check your email state when confirmation is enabled.
  • Do not assume an account can sign in immediately after signUp.

RLS verification

Writing policies is not proof that authorization works.

When RLS protects user- or role-sensitive data, verify at least:

  1. the authorized principal can perform the intended operation;
  2. another authenticated principal cannot read/change the protected row;
  3. unauthenticated access is rejected when the feature requires authentication.

For CRUD, exercise the business-critical operations against the real policy boundary. Do not mark RLS verified because the SQL looks correct.

Safety

  • Use browser-safe/publishable credentials only in frontend code.
  • Never expose service-role or other privileged keys to the browser.
  • Add RLS for user/role-sensitive access when relevant.
  • Never make remote MCP changes the only record of a schema or backend change.
  • Destructive or production-impact changes require explicit approval.
  • Surface Supabase security/advisor warnings. A non-critical hardening warning may be deferred for PREVIEW_READY, but production-relevant warnings must be resolved or explicitly recorded before DEV_READY.

Tool policy

Use whichever path is fastest without losing reproducibility:

  • Supabase MCP for remote project/database context and supported actions;
  • Supabase CLI for local development, migrations, linking, and reproducible workflows;
  • version-controlled SQL/migrations as the durable source of truth.

A repository may keep Supabase MCP read-only by default and enable scoped write access for a non-production project when useful.

Suggested repository shape

supabase/
├── config.toml
├── migrations/
├── functions/       # only when server-side functions are needed
└── seed.sql          # optional application data only

Frontend example:

src/
├── app/
├── pages/
└── shared/
    ├── api/          # Supabase client + generic CRUD transport
    └── auth/         # session/auth infrastructure

Completion

Before sharing, verify the required backend journey actually works. When auth/RLS matters, include negative authorization evidence rather than only happy-path CRUD. FSD architecture validation must also pass. Before DEV_READY, verify a developer can understand/reproduce the data model and backend logic from repository artifacts rather than relying on hidden remote state.

Standard resources

Use templates, references, and evaluations for scope and exit evidence.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.