supabase

supabase is a skill for Claude Code from juan294/cc-rpi. It costs 24 tokens per session (845 once invoked), scanned A, original, MIT.

A Supabase database guide covering safer schema migrations, access permissions, default permissions, monitoring fallbacks, and health-check endpoints. Supabase is a hosted service built around PostgreSQL, a database system.

In plain words
What is it for?
Use it when changing Supabase database structure, configuring row-level security and table access, or adding health and monitoring checks.
Why use it?
It helps catch database changes locally before production and prevents clients from being blocked by missing permissions or unnoticed service failures.

Skill for Claude Code

Written for Claude Code: shipped in a Claude Code plugin.

Part of the cc-rpi plugin — 36 skills, 19 commands, 2 hooks shipped together

Good fit Use it when changing Supabase database structure, configuring row-level security and table access, or adding health and monitoring checks.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/juan294/cc-rpi/supabase
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add juan294/cc-rpi --skill supabase
Clone the repo
git clone --depth 1 https://github.com/juan294/cc-rpi

Made for: Claude Code.

Or install cc-rpi, the plugin that ships this one along with the rest of its 36 skills, 19 commands, 2 hooks.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for supabase

README.md
[![agentmods](https://agentmods.dev/badge/skills/juan294/cc-rpi/supabase/github.svg)](https://agentmods.dev/skills/juan294/cc-rpi/supabase)
Your own site
<a href="https://agentmods.dev/skills/juan294/cc-rpi/supabase"><img src="https://agentmods.dev/badge/skills/juan294/cc-rpi/supabase/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for supabase

Your own site · 80×15
<a href="https://agentmods.dev/skills/juan294/cc-rpi/supabase"><img src="https://agentmods.dev/badge/skills/juan294/cc-rpi/supabase.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 24 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 845 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00024 $0.00845
Opus 5.5 $0.00010 $0.00338
Sonnet 5.5 $0.00005 $0.00169
Haiku 4.5 $0.00002 $0.00085

Measured 1mo ago against content hash eb7f3cf20164, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

supabase scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

generated/claude/skills/supabase/SKILL.md · 108 lines

How it starts

The opening of the file, as written. The whole thing — 108 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Supabase

Migration Testing

Use a disposable local stack. db reset --local destroys local data, so first confirm it is task-owned or preserve that data. Never reset a shared stack.

supabase start
supabase db reset --local
supabase status
# Use the reported local connection string to run role-based SQL tests:
psql "$LOCAL_DB_URL" -v ON_ERROR_STOP=1 -f tests/access.sql

Test anonymous access, the authenticated owner, a different authenticated user, and the service role. Include intentional denials and a future table. A query as postgres bypasses RLS and cannot validate client authorization. Local success is necessary but does not guarantee the remote schema, roles, extensions, or data match. supabase db push is a separate remote application requiring local evidence, target inspection, and production authorization when applicable; it is never part of the local test command.

Table Privileges and Row Level Security

SQL grants allow operations on objects; RLS policies constrain which rows an allowed operation can access. Both must express the project's intended access. For owner-only notes (not public content):

CREATE TABLE public.notes (id uuid PRIMARY KEY, owner_id uuid NOT NULL, body text);
ALTER TABLE public.notes ENABLE ROW LEVEL SECURITY;
REVOKE ALL ON public.notes FROM anon, authenticated;
GRANT SELECT ON public.notes TO authenticated;
CREATE POLICY notes_read_own ON public.notes FOR SELECT TO authenticated
  USING ((SELECT auth.uid()) = owner_id);

Here anon has no SELECT grant; an authenticated owner can read their own rows, and another authenticated user sees none of those rows. Add write grants and policies only when required, including WITH CHECK for allowed inserts or updates. Existing projects intentionally serving public data may grant anon SELECT with an explicit public-read policy; preserve that contract and any owner-only overrides. See Supabase RLS.

Read the full file on GitHub · 108 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago Changed · +12 lines eb7f3cf20164
  2. 1mo ago First seen · 96 lines · 24 tokens per session scan A 68386b196ce5

Subscribe to this mod's changes

supabase is a skill published in the GitHub repository juan294/cc-rpi (5 stars, last pushed 9d ago), licensed MIT. It adds 24 tokens to every session and 845 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

stripe-projects

Provision SaaS services + sync creds via Stripe Projects.

nobodyohm-web/Thot · 15 tokens

postgres-patterns

PostgreSQL database patterns for query optimization, schema design, indexing, and security. Quick reference for common patterns, index types, data types, and anti-pattern detection. Based on Supabase best practices.

affaan-m/ECC · 45 tokens

cloud-sql-basics

This file generates or explains Cloud SQL resources. Use this file when the user asks to create a Cloud SQL instance or database for MySQL, PostgreSQL, or SQL Server. Cloud SQL manages third-party MySQL, PostgreSQL, and SQL Server instances as resources in Cloud SQL. For example, when Cloud SQL creates an open-source…

google/skills · 108 tokens

postgres-migration

Change the Postgres schema without breaking the previous release, which keeps serving on the new schema: the expand/contract recipes for adding a column or table, removing one, renaming one, changing its type, making it NOT NULL, adding an index or a unique constraint and splitting a table; why a migration never drops…

langwatch/langwatch · 294 tokens

alembic-migration

Create, review, and apply database schema changes with Alembic. Use whenever a SQLAlchemy model is added or changed, a column/index/constraint needs to change, or a data backfill is required — anything that alters the PostgreSQL schema.

vstorm-co/full-stack-ai-agent-template · 56 tokens

haven-db

Reset, reseed, locate and prune a haven stack's databases with haven db, and know which verbs destroy data. Use when someone says 'haven db', 'reset the database', 'drop the database', 'reseed in place', 'db preset', 'demo preset', 'database url', 'connection string for postgres', 'haven db prune', 'haven seed'…

langwatch/langwatch · 116 tokens