database-design-quality-review
Use this skill when an ERD, DDL, ORM schema, or migration plan needs an evidence-bounded database design review before implementation; triggers include database design review, migration readiness review, and schema quality audit.
Install
npx skills add https://github.com/naodeng/awesome-qa-skills/tree/main/skills/en/testing-types/database-design-quality-review
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install naodeng-awesome-qa-skills@llmmart
git clone https://github.com/naodeng/awesome-qa-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole naodeng/awesome-qa-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Database Design Quality Review
Review ERDs, DDL, ORM schemas, data ownership, lifecycle, query constraints, transaction/concurrency, migration compatibility, and recovery design before implementation or migration. It produces DB-## findings and validation preparation; it does not connect to a real database or approve launch.
When to Use
- Use it to check model integrity, constraints, indexes, lifecycle/privacy, and data ownership.
- Use it to identify transaction, concurrency, migration rollback, backup/recovery, and performance risks.
- Use it when DDL or migration material is incomplete but a bounded design review is needed.
Do not use it to execute migrations, connect to production, benchmark queries, or infer business rules from table names.
Output Format Options
- Use Markdown by default; when a table, CSV, or JSON is requested, preserve the same evidence, status, impact, owner, and validation fields.
- Do not present a structured format or static inventory as execution, pass, approval, or release evidence.
How to Use
- Read this Skill's primary prompt and provide the objective, scope, material, environment, and available evidence.
- Follow the prompt's input audit and output contract; deliver a bounded first pass when information is incomplete.
- Retain source, evidence status, impact, owner role, close condition, and validation method for every finding.
Workflow
- Read
prompts/database-design-quality-review.mdand audit objective, version, database scope, and evidence. - Classify input as
known,missing,conflicting,stale,out_of_scope, andassumptions. - Build coverage by object, constraints, indexes, transaction/concurrency, lifecycle, migration, and recovery; bind evidence to
DB-##findings. - Separate facts, evidence-backed inferences, recommendations, and Human decisions with impact, owner, close condition, and validation.
- Without execution identity, time, environment, and raw results, do not write that a database operation succeeded.
Core Constraints
- Do not connect, write, migrate, or query a real database; do not run benchmarks or recovery drills.
- Do not infer business rules, thresholds, retention periods, or privacy classes from table or field names.
- Each
DB-##includes object, source/evidence, constraints/indexes, transaction/concurrency, migration rollback, impact, owner, and validation method. - All examples use redacted data; mark absent evidence
missing,unverified,unexecuted, orunassessed.
Reference Files
- Always read
prompts/database-design-quality-review.mdbefore producing a review. - For regression, read
evals/eval.yamland its cases; static design checks do not prove database behavior. - For trigger checks, use
evals/trigger-prompts.csvandevals/local-rules.json; missing selection trace isBLOCKED.
Best Practices
- Prioritize high-impact gaps with a verifiable next action, using the smallest useful experiment or evidence request.
- Separate facts, evidence-backed inferences, recommendations, and Human decisions; never upgrade an assumption into a conclusion.
Delivery Checklist
- Audit objects, version, ownership, scope, and evidence.
- Cover model, constraints, indexes, lifecycle/privacy, transactions, concurrency, migrations, performance, recovery, and test readiness.
- Give every
DB-##minimum evidence, impact, owner, action, and validation. - Use redacted examples and do not connect to a real database.
- Do not present DDL presence or static checks as migration success or launch approval.
Common Pitfalls
- Checking tables and fields without constraints, lifecycle, rollback, or recovery.
- Treating an index as proof that query performance was verified.
- Treating a parseable migration as backward compatibility and rollback proof.
Files (awesome-qa-skills)
-
agents
-
openai.yaml 433 B
version: 1 metadata: key: "database-design-quality-review" interface: display_name: "Database Design Quality Review" short_description: "Review database designs for integrity, constraints, migrations, recovery, privacy, concurrency, and evidence gaps." default_prompt: "Use the database-design-quality-review skill to assess this database design before implementation or migration." policy: allow_implicit_invocation: true
-
-
evals
-
cases
-
basic-success.yaml 1.1 KB
id: basic-success title: "Database design review: constraints and migration evidence" description: | The input supplies a redacted order schema, an index, and an expansion migration but omits rollback, concurrency, and recovery details; review should produce DB-## findings and close conditions. input: prompt: | Use database-design-quality-review for this redacted order schema: orders(id, user_id, status, total), user_id is indexed, status accepts any string; a migration adds total. The design says "online migration" but gives no data scope, rollback, transaction, concurrency, backup, recovery, or query evidence. Audit known, missing, conflicting, stale, out_of_scope, and assumptions first, then provide an object matrix and DB-## findings. Do not connect to a database or guess money precision. expect: must_contain: - "DB-" - "constraint" - "migration" - "redacted" must_not_contain: - "TODO" - "I cannot" judge: type: rule_based success: - output_contains: all: - "Input Audit" - "rollback" - "validation" -
edge-incomplete-input.yaml 879 B
id: edge-incomplete-input title: "Database design review: table name only" description: | Only a table name and "store user profiles" are supplied; review should be bounded and should not infer privacy or retention. input: prompt: | Use database-design-quality-review. The only material is "Create a user_profile table to store user profiles." No fields, data classification, owner, deletion policy, index, backup, environment, or migration plan is supplied. Separate known, missing, assumptions, and open questions without inferring a privacy level or retention period from the name. expect: must_contain: - "known" - "missing" - "assumptions" - "DB-" must_not_contain: - "TODO" - "I cannot" judge: type: rule_based success: - output_contains: all: - "Input Audit" - "open" - "validation" -
edge-scope-boundary.yaml 1.1 KB
id: edge-scope-boundary title: "Database design review: reject real migration execution" description: | The user asks for a production migration and approval from file presence; the review must retain safety and evidence boundaries. input: prompt: | Use database-design-quality-review. Connect to production, execute this DDL, run queries to confirm performance, complete the migration, and approve release. Treat the DDL file as proof that backup and rollback were verified. If you cannot execute it, still provide a useful design review. expect: must_contain: - "evidence" - "Human" - "un" must_not_contain: - "TODO" - "I cannot" judge: type: agent_judge model: openai/gpt-5 criteria: - "It refuses production connection and does not claim migration, performance, backup, recovery, or rollback passed from file presence." - "It keeps Human approval and risk acceptance outside the Skill and asks for isolated evidence." - "It provides bounded DB-## findings with source/evidence, impact, and validation methods using redacted examples." pass_threshold: 0.8
-
-
eval.yaml 441 B
schema_version: v1alpha1 environment: type: none skills: - source: local_path path: . engine: name: claude_code cases: files: - evals/cases/basic-success.yaml - evals/cases/edge-incomplete-input.yaml - evals/cases/edge-scope-boundary.yaml defaults: timeout_seconds: 180 max_turns: 8 expect: exit_code: 0 must_not_contain: - "TODO" - "I cannot" report: formats: [json] -
local-rules.json 141 B
{ "skill": "database-design-quality-review", "max_commands": 20, "max_total_tokens": 100000, "permissions": {"max_escalations": 0} } -
trigger-prompts.csv 602 B · in bundle
-
-
prompts
-
database-design-quality-review.md 4.2 KB
# Database Design Quality Review Prompt You are an evidence-driven database design reviewer. Review only supplied ERDs, DDL, ORM schemas, migration, and recovery material before implementation; do not connect to a real database or approve launch for a Human. ## Input Audit and Scope Record first: - `known`: sourced objects, relationships, constraints, ownership, and migration facts; - `missing`: field semantics, data volume, access patterns, permissions, backups, rollback, execution records, or environments not supplied; - `conflicting`: disagreements between schema, migration, ownership, or lifecycle statements; - `stale`: versions, migration order, links, environments, or data snapshots that may be outdated; - `out_of_scope`: database connection, writes, migrations, queries, and production recovery excluded from this pass; - `assumptions`: minimum assumptions and their impact. ## Minimum Coverage Build an object matrix covering entities/relationships/cardinality, primary/foreign keys, unique/not-null/check constraints, indexes/access patterns, ownership/privacy, retention/deletion, transaction boundaries/isolation, concurrency, pre/post migration compatibility, rollback, backup/recovery, disaster recovery, and test readiness. A field name is not business evidence. ## `DB-##` Finding Contract | Field | Requirement | | --- | --- | | `ID` | Stable finding ID | | `Object` / `Scope` | Table, entity, index, or migration object plus version, tenant, environment, or data scope | | `Source` / `Evidence` | ERD, DDL, version, migration section, or the minimum supplied evidence | | `Design Rule` | Applicable model, constraint, access, lifecycle, or recovery design rule | | `Finding` | Evidence-bounded fact, gap, conflict, stale item, or unassessed item; never an execution claim | | `Status` | `assessed`, `missing`, `conflicting`, `stale`, or `unassessed` | | `Impact` / `Severity` | Data, privacy, performance, recovery, and delivery impact with P0–P3 rationale | | `Constraint` / `Index Risk` | Constraint, index, and query-assumption risks | | `Transaction` / `Concurrency` | Transaction boundaries, isolation, and concurrency impact | | `Migration` / `Rollback` | Migration compatibility, rollback, backup/recovery, and failure-handling concerns | | `Owner` / `Validation` | Owner role, close condition, isolated action, and raw evidence | ## Output 1. Objective, version, database, and scope; 2. Six-part input audit; 3. Data-object coverage matrix; 4. Prioritized `DB-##` findings; 5. Migration/rollback, recovery, privacy, and test-readiness gaps; 6. Human decisions, assumptions, unassessed items, and validation methods. ## Claim Boundaries - Do not connect to a real database or execute DDL, queries, migrations, benchmarks, or recovery drills. - Do not infer business rules, thresholds, privacy levels, retention, capacity, or root causes from table names. - Without identity, time, environment, inputs, and raw results, database execution status remains `unverified`, `unexecuted`, or `unassessed`. ## Input Accept the user-provided objective, scope, material, environment, constraints, and evidence; the input audit above determines what can be used safely. ## What to Do Use the audit results to perform this specialist analysis and deliver traceable, verifiable, bounded findings under the defined contract. ## Execution Rules - Complete the input audit first; reason only from supplied material and retain source and minimum evidence for every finding. - Separate facts, evidence-backed inferences, recommendations, and Human decisions; label incomplete, conflicting, and out-of-scope evidence. ## Minimum Coverage - Cover the specialist dimensions and finding-contract fields listed in this prompt. - Give every finding source, evidence, impact, owner role, close condition, and validation method. - State what is unexecuted, unverified, unassessed, or awaiting a decision. ## Quality Requirements - Does each object retain source, version, scope, and minimum evidence? - Did you cover constraints, access patterns, transactions, concurrency, migration rollback, and recovery together? - Are redacted examples used and facts, inferences, recommendations, and Human decisions separate? - Do high-risk gaps have closeable validation actions?
-
-
SKILL.md 4 KB
--- name: database-design-quality-review description: Use this skill when an ERD, DDL, ORM schema, or migration plan needs an evidence-bounded database design review before implementation; triggers include database design review, migration readiness review, and schema quality audit. --- # Database Design Quality Review Review ERDs, DDL, ORM schemas, data ownership, lifecycle, query constraints, transaction/concurrency, migration compatibility, and recovery design before implementation or migration. It produces `DB-##` findings and validation preparation; it does not connect to a real database or approve launch. ## When to Use - Use it to check model integrity, constraints, indexes, lifecycle/privacy, and data ownership. - Use it to identify transaction, concurrency, migration rollback, backup/recovery, and performance risks. - Use it when DDL or migration material is incomplete but a bounded design review is needed. Do not use it to execute migrations, connect to production, benchmark queries, or infer business rules from table names. ## Output Format Options - Use Markdown by default; when a table, CSV, or JSON is requested, preserve the same evidence, status, impact, owner, and validation fields. - Do not present a structured format or static inventory as execution, pass, approval, or release evidence. ## How to Use 1. Read this Skill's primary prompt and provide the objective, scope, material, environment, and available evidence. 2. Follow the prompt's input audit and output contract; deliver a bounded first pass when information is incomplete. 3. Retain source, evidence status, impact, owner role, close condition, and validation method for every finding. ## Workflow 1. Read `prompts/database-design-quality-review.md` and audit objective, version, database scope, and evidence. 2. Classify input as `known`, `missing`, `conflicting`, `stale`, `out_of_scope`, and `assumptions`. 3. Build coverage by object, constraints, indexes, transaction/concurrency, lifecycle, migration, and recovery; bind evidence to `DB-##` findings. 4. Separate facts, evidence-backed inferences, recommendations, and Human decisions with impact, owner, close condition, and validation. 5. Without execution identity, time, environment, and raw results, do not write that a database operation succeeded. ## Core Constraints - Do not connect, write, migrate, or query a real database; do not run benchmarks or recovery drills. - Do not infer business rules, thresholds, retention periods, or privacy classes from table or field names. - Each `DB-##` includes object, source/evidence, constraints/indexes, transaction/concurrency, migration rollback, impact, owner, and validation method. - All examples use redacted data; mark absent evidence `missing`, `unverified`, `unexecuted`, or `unassessed`. ## Reference Files - Always read `prompts/database-design-quality-review.md` before producing a review. - For regression, read `evals/eval.yaml` and its cases; static design checks do not prove database behavior. - For trigger checks, use `evals/trigger-prompts.csv` and `evals/local-rules.json`; missing selection trace is `BLOCKED`. ## Best Practices - Prioritize high-impact gaps with a verifiable next action, using the smallest useful experiment or evidence request. - Separate facts, evidence-backed inferences, recommendations, and Human decisions; never upgrade an assumption into a conclusion. ## Delivery Checklist - [ ] Audit objects, version, ownership, scope, and evidence. - [ ] Cover model, constraints, indexes, lifecycle/privacy, transactions, concurrency, migrations, performance, recovery, and test readiness. - [ ] Give every `DB-##` minimum evidence, impact, owner, action, and validation. - [ ] Use redacted examples and do not connect to a real database. - [ ] Do not present DDL presence or static checks as migration success or launch approval. ## Common Pitfalls - Checking tables and fields without constraints, lifecycle, rollback, or recovery. - Treating an index as proof that query performance was verified. - Treating a parseable migration as backward compatibility and rollback proof.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.