CtrlK
BlogDocsLog inGet started
Tessl Logo

supabase-postgres-best-practices

Postgres performance optimization and best practices from Supabase. Use this skill when writing, reviewing, or optimizing Postgres queries, schema designs, or database configurations.

80

1.14x
Quality

71%

Does it follow best practices?

Impact

96%

1.14x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/supabase/skills/supabase-postgres-best-practices/SKILL.md

The canonical home for this skill is supabase-postgres-best-practices in supabase/agent-skills

SKILL.md
Quality
Evals
Security

Quality

Content

68%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 well-structured, token-efficient overview that correctly delegates detail to per-rule reference files. It falls short on actionability and workflow clarity: the body names almost none of the actual rule files, gives no explicit usage sequence, and omits validation guidance (e.g. verify optimizations with EXPLAIN ANALYZE) even though the bundle's own rules emphasize it.

Suggestions

In 'How to Use', state the file naming pattern (references/<prefix>-<topic>.md) or list the full rule-file index so any category in the priority table resolves to concrete files, instead of naming only 3 of ~35.

Add a short numbered workflow with a validation step, e.g. 1) identify the task's category, 2) read the matching references/<prefix>-*.md rules, 3) apply the correct SQL pattern, 4) verify with EXPLAIN ANALYZE / pg_stat_statements as shown in monitor-explain-analyze.md.

Remove the pointer to references/_sections.md (internal scaffold text) and other underscore-prefixed dev files (_contributing.md, _template.md) from user-facing navigation.

DimensionReasoningScore

Conciseness

The body is lean: a terse 'When to Apply' bullet list, a compact 8-row category/priority table, and a short pointer to reference files. It explains nothing Claude already knows and contains no padding, matching 'Lean and efficient; assumes Claude's competence; every token earns its place'.

5 / 5

Actionability

The only executable instruction is 'Read individual rule files', backed by a prefix table and three example paths (references/query-missing-indexes.md, query-partial-indexes.md, _sections.md). No SQL or commands appear in the body itself, and only 3 of the ~35 actual rule files are named, so a user with an RLS or pooling problem has no direct file to open — this is 'Some concrete guidance but incomplete ... missing key details' rather than the mostly-executable level-4 anchor.

3 / 5

Workflow Clarity

'How to Use' implies a loose process (pick a category, read its rule files, apply the correct SQL patterns) but never sequences it as steps, and there are no checkpoints such as verifying the fix with EXPLAIN ANALYZE after applying a rule. This matches 'sequence present but checkpoints missing or implicit'; the level-4 anchor requires a clearly laid-out sequence with most checkpoints present.

3 / 5

Progressive Disclosure

The bundle structure is good: 35 one-level-deep rule files in references/, organized by filename prefix, with the body's priority table mapping categories to prefixes. But navigation is only inferable — the body lists just 3 example files without stating the references/<prefix>-<topic>.md naming pattern, and it points to _sections.md, an internal scaffold file whose own text says 'Take the examples below as pure demonstrative', which should not be surfaced to skill consumers. This is 'Good structure ... references mostly clear; minor organization gaps' rather than the fully navigable level-5 anchor.

4 / 5

Total

15

/

20

Passed

Description

73%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 solid description with an explicit 'Use when' clause, natural trigger terms, and a well-defined Postgres/Supabase niche. Its main weakness is a generic 'best practices' capability statement that under-specifies what the skill concretely offers.

Suggestions

Replace the vague 'best practices' with concrete deliverables, e.g. 'Apply indexed rules covering query performance, connection pooling, RLS, and schema design, each with incorrect vs. correct SQL examples and EXPLAIN-based diagnostics.'

Add common trigger synonyms users actually say — 'SQL', 'slow queries', 'indexes', 'connection pooling' — to broaden natural-language matching.

DimensionReasoningScore

Specificity

The description names the domain ('Postgres performance optimization') and a handful of actions ('writing, reviewing, or optimizing Postgres queries, schema designs, or database configurations'), but the core capability phrase 'best practices' is generic and it omits concrete deliverables like index creation, EXPLAIN analysis, or connection pooling setup. This matches the anchor 'Names domain and 1-2 concrete actions, but not comprehensive' more than the level-4 anchor, which expects several listed specific actions with only minor gaps.

3 / 5

Completeness

Both halves are present: the what ('Postgres performance optimization and best practices from Supabase') and an explicit when ('Use this skill when writing, reviewing, or optimizing Postgres queries, schema designs, or database configurations'). It falls just short of the level-5 anchor because the 'what' is abstract — it never says what the skill actually contains (rules, incorrect vs. correct SQL examples, metrics) — leaving the when clause doing most of the work.

4 / 5

Trigger Term Quality

Natural terms users would say are present: 'Postgres', 'queries', 'schema designs', 'database configurations', 'performance optimization', plus the 'Supabase' brand tie-in. A few commonly-said variants are missing (SQL, indexes/indexing, slow queries, connection pooling, .sql), so it fits 'Good keyword coverage; a few natural terms missing' rather than the level-5 comprehensive-synonym anchor.

4 / 5

Distinctiveness Conflict Risk

The Supabase + Postgres framing carves out a clear niche with distinct triggers ('Postgres queries', 'schema designs', 'Supabase'), unlikely to pull in unrelated skills. It is not below this anchor: level 4 is for skills with minor overlap risk against closely related skills, and the explicit Postgres/Supabase scoping keeps conflict minimal.

5 / 5

Total

16

/

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
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.