CtrlK
BlogDocsLog inGet started
Tessl Logo

supabase-postgres-best-practices

Postgres best practices maintained by Supabase, for Postgres running anywhere. Load this skill BEFORE writing or changing anything that lives in a Postgres database: creating or altering tables and columns (including choosing column types), schema design, migrations and declarative schema files, RLS policies and the tests that verify them, indexes, triggers, database functions, queues and scheduled jobs (pg_cron, pgmq), vector/semantic search (pgvector), and restoring dumps (pg_restore) or importing data. Also load it when diagnosing slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant. This is not just a performance guide — schema, migration, security, and SQL authoring tasks need these rules too, even for a one-column change or a single query.

87

1.25x
Quality

82%

Does it follow best practices?

Impact

95%

1.25x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

65%Weight 40%Scale 1-3

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

The body is a concise, well-organized overview that avoids concept re-explanation and correctly delegates detail to reference files. Its weakness is navigation and execution guidance: it names only 3 of 30+ rule files, gives no full index or explicit naming convention, and provides no validation checkpoints for the destructive database operations the skill governs.

Suggestions

Add a complete index (or an explicit 'references/<prefix>-<name>.md' naming convention with the full file list) so Claude can locate all 30+ rule files without directory-listing.

Add a short validation/feedback workflow for destructive operations (e.g., test migrations on a copy, verify RLS with the policy tests, run EXPLAIN before/after index changes) to raise workflow clarity.

Replace the three example file paths with a per-category pointer table (e.g., 'Query Performance → references/query-*.md') so every category has a clear, signaled entry point.

DimensionReasoningScore

Conciseness

The body is lean — an overview, a 'When to Apply' list, a category table, a short 'How to Use', and links — with no explanations of concepts Claude already knows; the only mild padding is the intro sentence restating the abstract, but every section earns its place, matching the 'lean and efficient' anchor.

3 / 3

Actionability

Gives some concrete guidance (real file paths and a prefix→category table) but it is incomplete: only 3 of the 30+ rule files are named and there is no explicit full index or naming convention, so Claude cannot reliably locate most rules without listing the directory — fitting 'some concrete guidance but incomplete; missing key details'.

2 / 3

Workflow Clarity

There is a loose use-sequence (identify category by prefix → read the rule file) but no validation or feedback checkpoints for the destructive operations the skill covers (migrations, schema alters, RLS); per the rubric, missing validation for destructive/batch database operations caps workflow clarity at 2.

2 / 3

Progressive Disclosure

Structure is sound — SKILL.md as overview, one-level-deep references/ split by prefix — but navigation is incomplete: the 'How to Use' block signals only 3 of 30+ files and never enumerates the rest or states the naming convention, so most references are not clearly signaled, matching 'some structure but could be better organized; references present but not clearly signaled'.

2 / 3

Total

9

/

12

Passed

Description

100%Weight 40%Scale 1-3

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, comprehensive description that concretely enumerates capabilities, gives explicit load-before and load-when triggers using natural developer language, and carves out a distinct Postgres niche. It uses imperative trigger phrasing ('Load this skill') analogous to the rubric's accepted 'Use when...' examples, so no voice penalty applies.

DimensionReasoningScore

Specificity

Lists many concrete actions — 'creating or altering tables and columns (including choosing column types), schema design, migrations... RLS policies... indexes, triggers, database functions, queues and scheduled jobs (pg_cron, pgmq), vector/semantic search (pgvector)... restoring dumps (pg_restore)' — matching the 'lists multiple specific concrete actions' anchor.

3 / 3

Completeness

Explicitly states both what ('Postgres best practices maintained by Supabase, for Postgres running anywhere' with an extensive action list) and when ('Load this skill BEFORE writing or changing anything...' and 'Also load it when diagnosing...'), satisfying the 'clearly answers both what AND when' anchor.

3 / 3

Trigger Term Quality

Natural user-facing terms are well covered: 'slow queries, high CPU, timeouts, EXPLAIN plans, connection exhaustion, locking, bloat, or rows visible to the wrong user or tenant' plus 'migrations', 'indexes', 'RLS policies' — terms a developer would actually say when they need this skill.

3 / 3

Distinctiveness Conflict Risk

Niche is sharply Postgres/Supabase-specific with distinctive triggers (pg_cron, pgmq, pgvector, pg_restore, RLS), making it unlikely to fire for the wrong skill; matches the 'clear niche with distinct triggers' anchor.

3 / 3

Total

12

/

12

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
supabase/agent-skills
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.