supabase

Provision Supabase projects with schema, RLS policies, and client integration.

26|4|Updated Mar 28, 2026
One-click install
npx skills add https://github.com/lhz960904/code-artisan --skill supabase-lhz960904
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: supabase
Source: https://github.com/lhz960904/code-artisan/tree/main/sandbox-template/skills/supabase
Command: npx skills add https://github.com/lhz960904/code-artisan --skill supabase-lhz960904

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps you add persistent data, authentication, file storage, and realtime updates to an app by provisioning a Supabase project and wiring your frontend to it securely with Row Level Security (RLS).

Core Features & Use Cases

  • Supabase project provisioning: creates (or reuses) a Supabase project for the current conversation/org and injects the required URL and anon key into the app environment.
  • Schema + RLS setup: defines Postgres tables, policies, indexes, and optional seeds via a privileged SQL tool using the user’s OAuth context (no service-role key exposure).
  • Client integration + realtime: configures a Supabase JS client using VITE env vars and enables realtime subscriptions that still respect RLS.

Use cases: todo apps that sync across reloads, apps with user accounts and protected per-user data, apps that upload user files, and multi-user experiences like chats or live feeds.

Quick Start

Use the supabase skill to create your Supabase-backed todo app with user-scoped tables protected by RLS, then wire the frontend to Supabase JS using the injected VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY.

Frequently Asked Questions about supabase

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up Supabase authentication and Row Level Security for user data?

Supabase RLS setup provisions your project, defines Postgres tables, and applies auth.uid()-scoped policies via a privileged SQL tool. This securely protects per-user data by enforcing Row Level Security without exposing your service-role key.

How do I enable realtime subscriptions for Postgres tables in a web app?

Realtime subscriptions are enabled by configuring the Supabase JS client using injected VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY environment variables. Live updates across sessions and users are delivered while still respecting your active RLS policies.

Can I provision Supabase file storage and upload user files securely?

Yes, you can provision Supabase file storage for user uploads. The Skill provisions a Supabase project and wires your frontend to securely handle file storage uploads alongside authentication and protected data.

How do I wire my frontend to a Supabase project without exposing the service role key?

You wire the frontend using the injected VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY environment variables. Schema and RLS are applied through a privileged SQL tool using your OAuth context, ensuring the service-role key is never exposed.

Does Supabase realtime respect Row Level Security policies across multiple users?

Yes, Supabase realtime respects RLS policies across multiple users. When you configure the Supabase JS client for live updates, the realtime subscriptions enforce your auth.uid()-scoped policies to secure multi-user experiences like chats or live feeds.

What is the best way to provision a CRUD app with Supabase Postgres and authentication?

The best way is to create or reuse a Supabase project, define your Postgres schema with indexes and seeds via SQL, and wire the frontend client using VITE environment variables. This provisions secure CRUD apps needing auth, protected tables, and realtime sync.