Content
65%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The content is highly actionable with executable SQL and well-organized sections, but it is over-long for a single file with redundant type guidance and no progressive disclosure into separate reference files. Schema-evolution guidance also lacks an explicit validate/retry workflow.
Suggestions
Split large sections (Data Types, Indexing, Partitioning, JSONB Guidance, Extensions) into separate reference files linked from a concise overview in SKILL.md.
Remove the redundant "Do not use the following data types" list — consolidate it into the Data Types section to avoid repeating the timestamptz/text/numeric/identity guidance.
Add an explicit numbered schema-evolution workflow with validation checkpoints (e.g. test in transaction → validate → apply concurrently → verify) for destructive DDL.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Mostly efficient reference-style rules that assume Claude's competence, but the ~200-line body has redundancy — the "Do not use the following data types" section repeats guidance already given in "Data Types" — and could be tightened, so it falls short of every-token-earns-its-place. | 2 / 3 |
Actionability | Provides concrete, executable DDL throughout — e.g. `BIGINT GENERATED ALWAYS AS IDENTITY`, `CREATE INDEX ON tbl (id) INCLUDE (name, email)`, and complete users/orders/profiles example tables — copy-paste ready. | 3 / 3 |
Workflow Clarity | Schema evolution is a destructive/batch context; while safe patterns are given (transactional DDL testing, `CREATE INDEX CONCURRENTLY`), there is no explicit sequenced validate→fix→retry feedback loop, which caps this dimension at 2. | 2 / 3 |
Progressive Disclosure | No bundle files exist and the entire body is a ~200-line monolithic SKILL.md; sections like Data Types, Indexing, Partitioning, and JSONB Guidance are clearly separable into reference files but are all inline with no navigation, matching the "content that should be separate is inline" anchor. | 2 / 3 |
Total | 9 / 12 Passed |