supabase

Supabase PostgreSQL backend-as-a-service with realtime. Use for serverless PostgreSQL.

7 stars

Best use case

supabase is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Supabase PostgreSQL backend-as-a-service with realtime. Use for serverless PostgreSQL.

Teams using supabase should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/supabase/SKILL.md --create-dirs "https://raw.githubusercontent.com/G1Joshi/Agent-Skills/main/skills/databases/supabase/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/supabase/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How supabase Compares

Feature / AgentsupabaseStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Supabase PostgreSQL backend-as-a-service with realtime. Use for serverless PostgreSQL.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Supabase

Supabase is an open source Firebase alternative. It provides a dedicated PostgreSQL database, packaged with Authentication, Realtime subscriptions, Storage, and Edge Functions.

## When to Use

- **Rapid Application Development**: Get Auth + DB + APIs in 5 minutes.
- **Postgres Power**: Unlike Firebase, you have full SQL power (JOINs, aggregation).
- **Realtime**: Subscribe to DB changes via WebSockets.
- **Vector/AI**: Highly integrated `pgvector` support for AI apps.

## Quick Start (JS)

```javascript
import { createClient } from "@supabase/supabase-js";

const supabase = createClient("https://xyz.supabase.co", "public-anon-key");

// Listen to changes
const subscription = supabase
  .channel("public:messages")
  .on(
    "postgres_changes",
    { event: "INSERT", schema: "public", table: "messages" },
    (payload) => {
      console.log("New message:", payload);
    },
  )
  .subscribe();
```

## Core Concepts

### Row Level Security (RLS)

Supabase exposes the DB directly to the frontend (via PostgREST). RLS is **critical** to secure data.

```sql
CREATE POLICY "Users can see own data" ON "profiles"
FOR SELECT USING (auth.uid() = user_id);
```

### PostgREST

Automatically turns your Database Tables into RESTful APIs.

### Extensions

Supabase makes enabling Postgres extensions easy (PostGIS, pgvector, pg_cron).

## Best Practices (2025)

**Do**:

- **Enable RLS immediately**: Never launch without RLS policies.
- **Use Supabase CLI**: For local development and migrations. Develop locally, push to prod.
- **Use Generated Types**: `supabase gen types typescript` generates accurate TS definitions from your DB schema.

**Don't**:

- **Don't access `service_role` key in client**: Allows bypassing RLS. Server-side only.
- **Don't put business logic in triggers**: Hard to debug. Use Database Webhooks or Edge Functions.

## References

- [Supabase Docs](https://supabase.com/docs)