Content
82%Weight 40%Scale 1-5Reviews 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 body: executable code for every path (client, transactions, Drizzle, testing, migration), explicit error messages with fixes, and destructive-operation confirmation gates. The main weaknesses are mild redundancy — the inlined REST/CLI tables and the appended house-rules section that repeats body content — which cost tokens without adding guidance.
Suggestions
Move the full REST API endpoint table into a references file (e.g. references/rest-api.md) and keep only the create/get-connection endpoints plus the destructive-op warning inline, mirroring how the CLI table defers to references/cli-commands.md.
De-duplicate the appended house-rules block against the body — rules 2, 5, 9, and 10 restate the preview-PII warning, the drizzle-kit prohibitions, the destructive-op confirmation, and the @beta pin verbatim; keeping a single statement of each would tighten conciseness without losing the org conventions.
Consolidate the setup path into one ordered checklist (install → scaffold migration → netlify dev → apply → deploy) with a `netlify database status` checkpoint before deploy, so the main workflow is explicit rather than assembled across four sections.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is dense with novel information — no 'what is Postgres' filler, tables for CLI/REST, one-line error-to-fix mappings — but is ~350 lines with some fat that could be trimmed: the full REST API endpoint table is inlined, the CLI table duplicates references/cli-commands.md, and the appended house-rules section re-states rules the body already covers (e.g. the @beta pin, preview-PII warning, no drizzle-kit push). Not 5: every token does not quite earn its place given that duplication; not 3: there is no over-explanation of concepts Claude already knows. | 4 / 5 |
Actionability | Fully executable throughout: copy-paste-ready TypeScript for the client, transactions, Drizzle config/schema/client, an HTTP function, a vitest harness, and a migration SQL file; exact install commands ('npm install @netlify/database drizzle-orm@beta'), exact env var names (NETLIFY_DB_URL), and exact CLI invocations with flags. Not 4: it goes beyond minor gaps by covering the common cases end-to-end, including the gotcha fixes ('pass connectionString explicitly'). | 5 / 5 |
Workflow Clarity | Multi-step flows are clear and validation is present where it matters: migration footguns enumerate the exact error ('migration "<name>" has been modified after being applied') with the corrective action, failed migrations block publish, 'netlify database status' verifies applied/pending, and destructive operations (branch delete, snapshot restore, reset) require explicit confirmation. Not 5: the core setup→migrate→deploy sequence is spread across sections rather than given as one explicitly ordered checklist, and local verification of preview-branch behavior is left to the reference files. | 4 / 5 |
Progressive Disclosure | Good structure with clearly signaled one-level-deep references that all exist (references/migrations.md, local-dev.md, cli-commands.md, migration-from-extension.md, legacy-extension.md, operational-footguns.md), each placed after the section it extends. Not 5: the body is more than an overview — the REST API table and the CLI flag table are inlined in full rather than split into the existing reference bundle, which also creates duplication with references/cli-commands.md; not 3: references are well-signaled and content placement is otherwise appropriate. | 4 / 5 |
Total | 17 / 20 Passed |