data-modelinglisted
Install: claude install-skill jacob-balslev/skill-graph
# Data Modeling
## Coverage
Design logical and physical data structures from a validated conceptual model. Covers entities as stored records, identifiers, primary keys, foreign keys, uniqueness, cardinality enforcement, normalization, denormalization, derived data, materialized views, provenance, retention, indexing implications, and schema-change risk.
## Philosophy
Data models are long-lived promises. Application code changes quickly; stored data and integrations remember mistakes. A good data model preserves business meaning, supports expected queries, and prevents invalid states without overfitting to today's UI.
Do not jump from concept to migration. First decide what must be stored, what can be derived, what must be constrained, and what must remain queryable.
## Method
1. Start from a conceptual model or extract one quickly.
2. Define identity and uniqueness for each stored entity.
3. Map relationships to keys, junctions, embeddings, or references.
4. Decide normalization vs denormalization based on write/read patterns and consistency requirements.
5. Mark derived fields and their source of truth.
6. Add provenance for data sourced from external systems or calculations.
7. Check query patterns and indexing implications.
8. Hand off to `database-migration` for implementation changes.
## Evals
This skill ships a comprehension-eval artifact at [`examples/evals/data-modeling.json`](https://github.com/jacob-balslev/skill-graph/blob/main/examples/evals/data-modeling