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.
npx skills add juan294/cc-rpi --skill supabasegit clone --depth 1 https://github.com/juan294/cc-rpiWrote 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.
[](https://agentmods.dev/skills/juan294/cc-rpi/supabase)<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.
<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>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.
| Model | Per session | Once 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 |
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.
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.
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.
- 1mo ago Changed · +12 lines eb7f3cf20164
- 1mo ago First seen · 96 lines · 24 tokens per session scan A 68386b196ce5
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.
Other skills, from other repositories
stripe-projects
Provision SaaS services + sync creds via Stripe Projects.
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.
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…
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…
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.
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'…