CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

supabase

Use when doing ANY task involving Supabase. Triggers: Supabase products (Database, Auth, Edge Functions, Realtime, Storage, Vectors, Cron, Queues); client libraries and SSR integrations (supabase-js, @supabase/ssr) in Next.js, React, SvelteKit, Astro, Remix; auth issues (login, logout, sessions, JWT, cookies, getSession, getUser, getClaims, RLS); Supabase CLI or MCP server; schema changes, migrations, security audits, Postgres extensions (pg_graphql, pg_cron, pg_vector).

71

Quality

89%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

88%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A high-quality instruction skill: concrete commands, executable SQL patterns, explicit validation loops, and genuinely Supabase-specific traps that Claude would not reliably know. The main improvement opportunities are moving the long security checklist to a reference file for on-demand loading and trimming the few passages that restate general Postgres or generic agent knowledge.

DimensionReasoningScore

Conciseness

The body is dense with Supabase-specific knowledge Claude cannot be assumed to know (Data API exposure vs RLS, 'auth.role() deprecation', 'TO authenticated alone is BOLA', storage upsert needing INSERT+SELECT+UPDATE), and commands/URLs are given without padding. It stays below 5 because a few items re-explain general Postgres/agent knowledge Claude already has — e.g., 'SECURITY DEFINER functions bypass RLS' and principle 3's generic 'recover from errors, don't loop' advice — which could be trimmed.

4 / 5

Actionability

Guidance is copy-paste executable throughout: 'curl -so /dev/null -w "%{http_code}" https://mcp.supabase.com/mcp', 'supabase migration new <name>', 'supabase db pull <descriptive-name> --local --yes', 'supabase migration list --local', complete SQL policy examples with USING/WITH CHECK, and concrete doc-fetch URLs. Priority-ordered documentation methods and version-gated fallbacks (MCP execute_sql if CLI < v2.79.0) cover the common cases fully.

5 / 5

Workflow Clarity

Multi-step processes are explicitly sequenced with validation checkpoints and feedback loops: the migration commit workflow runs advisors ('Fix any issues') before generating, then verifies with 'supabase migration list --local'; MCP troubleshooting is an ordered 1-2-3 diagnostic sequence; principle 2 mandates post-fix verification; and the security checklist anchors risky database work. This matches the top anchor including the checklist and error-recovery guidance.

5 / 5

Progressive Disclosure

The body is well-sectioned and its one bundle reference is clearly signaled ('MUST read when', references/skill-feedback.md, verified to exist and be one level deep). It is not a 5 because the ~45-line inlined security checklist is exactly the kind of detailed material that could live in a references/ file loaded on demand, and the reference chain reaches two hops (SKILL.md → references/skill-feedback.md → assets/feedback-issue-template.md), leaving minor organization gaps against the 'everything appropriately split' anchor.

4 / 5

Total

18

/

20

Passed

Description

86%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong, trigger-dense description that exhaustively enumerates Supabase products, libraries, frameworks, and auth vocabulary a user would naturally mention. Its only weakness is that the 'what' — what the skill actually does once loaded — is left implicit, which keeps completeness and specificity just below the top anchors. Suggestions focus on stating the skill's function explicitly.

Suggestions

Open with a one-clause statement of what the skill provides (e.g., 'Provides Supabase CLI/MCP workflows, security checklists, and migration guidance'), so the 'what' is explicit rather than implied by the trigger list.

The capitalized 'ANY' in 'Use when doing ANY task involving Supabase' reads as emphasis-shouting; plain 'any' is cleaner and equally unambiguous.

Trim near-synonymous framework listings if a shorter description is desired — though current length is still within reasonable bounds for the breadth of the domain.

DimensionReasoningScore

Specificity

The description enumerates concrete, specific entities — 'supabase-js, @supabase/ssr', 'getSession, getUser, getClaims, RLS', 'pg_graphql, pg_cron, pg_vector', 'schema changes, migrations, security audits' — giving broad, precise coverage of the domain. It stays at 4 rather than 5 because it lists trigger topics far more than the concrete actions the skill performs; the 'what' is only 'ANY task involving Supabase', so coverage of capabilities is implied rather than listed.

4 / 5

Completeness

The 'when' is fully explicit ('Use when doing ANY task involving Supabase. Triggers: ...'), and the enumerated trigger list conveys scope. It is not a 5 because the 'what' is never explicitly stated — the description never says what the skill does (e.g., provide Supabase CLI/MCP workflows, security checklists, migration guidance), only when to load it. It is clearly above the anchor-3 case ('when' missing or weakly implied) because the trigger clause is prominent and exhaustive.

4 / 5

Trigger Term Quality

Comprehensive natural trigger terms including product names ('Database, Auth, Edge Functions, Realtime, Storage'), framework names users actually say ('Next.js, React, SvelteKit, Astro, Remix'), library package names, auth vocabulary ('login, logout, sessions, JWT, cookies'), and specific API/function names ('getSession, getUser, getClaims, RLS'). This matches the anchor for comprehensive coverage including synonyms and specific identifiers, and no common variation is missing.

5 / 5

Distinctiveness Conflict Risk

Clear niche with distinct triggers: every term is Supabase-branded (supabase-js, @supabase/ssr, Supabase CLI, MCP server) and unlikely to fire for generic Postgres or auth skills. Overlap with a generic Postgres skill is conceivable via 'migrations, RLS', but the Supabase framing dominates, matching the 'clear niche, minimal conflict risk' anchor.

5 / 5

Total

18

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

openai/plugins

Path

plugins/supabase/skills/supabase/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.