CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

postgresql

Design a PostgreSQL-specific schema. Covers best-practices, data types, indexing, constraints, performance patterns, and advanced features

55

Quality

69%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./plugins/AI-Agents-Safe-Coding-Skills/skills/postgresql/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

71%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 strong, highly actionable reference whose dense concrete DDL and complete executable examples are its core strength, with a clear sequenced workflow and real validation checkpoints (EXPLAIN, staging, rollback). Its weaknesses are redundancy across the rule sections and a monolithic single-file structure with no progressive disclosure into reference files.

Suggestions

Consolidate the duplicated guidance: the "Core Rules", "Data Types", and "Do not use the following data types" sections restate the same rules (TIMESTAMPTZ, TEXT, NUMERIC, IDENTITY) two or three times — merge them into one canonical rule set.

Split detail-heavy material into reference files (e.g. references/indexing.md, references/jsonb.md, references/extensions.md) and keep SKILL.md as a lean overview with clearly signaled one-level-deep links.

Add an explicit validation feedback loop to the workflow, e.g. "After adding indexes, re-run EXPLAIN; if a seq scan persists, adjust the index (column order, partial, or covering) and re-check" and a failure path for migrations applied via staging.

DimensionReasoningScore

Conciseness

The body is mostly lean, imperative rules with concrete syntax, but rules are stated redundantly across "Core Rules", "Data Types", and "Do not use the following data types" (e.g. TIMESTAMPTZ over TIMESTAMP, TEXT over VARCHAR/CHAR, NUMERIC for money, IDENTITY over SERIAL each appear two or three times), and a few passages explain basics Claude already knows (e.g. "Normalize first (to 3NF) to eliminate data redundancy and update anomalies"). This fits "mostly efficient but could be tightened" better than the minor-trimmings level above.

3 / 5

Actionability

Guidance is fully executable throughout: exact DDL ("BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY", "CREATE INDEX ON tbl (user_id) WHERE status = 'active'", "ALTER TABLE tbl ADD COLUMN ... GENERATED ALWAYS AS (...) STORED"), and the Examples section provides copy-paste-ready, complete CREATE TABLE statements covering the common cases (users, orders, JSONB profile). It clearly matches the top anchor.

5 / 5

Workflow Clarity

The Instructions section gives a clear five-step sequence with a real validation checkpoint ("Add indexes for real query paths and validate with `EXPLAIN`"), and the Safety section adds staging validation and rollback planning for destructive DDL, so the missing-validation cap does not apply. It falls short of the 5 anchor because there is no explicit error-recovery/feedback loop (e.g. what to do when EXPLAIN shows a seq scan or when a migration fails validation).

4 / 5

Progressive Disclosure

The file is well-sectioned with clear headers, but it is a ~226-line monolith with no reference files at all: detail-heavy material that plausibly belongs in separate files (TOAST storage strategies, the full JSONB guidance section, the Extensions catalog, the Examples) is all inlined. This matches the anchor for content that could be better organized with material that should be separate kept inline, rather than the 4 anchor's "most content appropriately placed".

3 / 5

Total

15

/

20

Passed

Description

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

The description has a clear, distinct what (PostgreSQL schema design) but is held back by the complete absence of an explicit "Use when..." trigger clause and by missing natural trigger terms like "Postgres" and "database/table design". It reads as a scope statement rather than an invocation trigger.

Suggestions

Append an explicit trigger clause, e.g. "Use when designing or reviewing tables, indexes, or constraints for PostgreSQL/Postgres databases."

Include the colloquial synonym "Postgres" and natural phrases like "table design" or "database schema" so the description matches how users actually ask.

Replace the buzzword "best-practices" with concrete actions (e.g. "choose data types, plan indexes and partitioning, apply RLS") to sharpen specificity.

DimensionReasoningScore

Specificity

"Design a PostgreSQL-specific schema" is one concrete action, and "data types, indexing, constraints" are topic areas rather than actions; "best-practices" is buzzword-adjacent. This matches the anchor for domain plus 1-2 concrete actions but not comprehensive, falling short of the several-specific-actions level above.

3 / 5

Completeness

The "what" is clear (design a PostgreSQL-specific schema covering types, indexing, constraints, performance), and "PostgreSQL-specific" weakly implies the when (PostgreSQL schema work), but there is no explicit "Use when..." trigger clause. Per the guideline capping completeness at 3 for a missing 'Use when' clause, this scores 3 rather than 4.

3 / 5

Trigger Term Quality

Relevant keywords are present ("PostgreSQL", "schema", "data types", "indexing", "constraints") but common variations users naturally say are missing — notably "Postgres", "database design", and "table design". Fits the anchor for some relevant keywords while missing common synonyms, not the good-coverage level.

3 / 5

Distinctiveness Conflict Risk

"PostgreSQL-specific schema" carves a clear niche with minimal conflict risk against unrelated skills. It is mostly distinct with only minor overlap risk against closely related skills (generic SQL/database design or Postgres performance-tuning skills), so it fits the 4 anchor better than the minimal-conflict 5 anchor whose example includes explicit distinct triggers.

4 / 5

Total

13

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills/skills/postgresql/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.