domain-model

Extracts concepts and entities from feature intent specs into structured domain model documentation.

Updated Sep 7, 2026
One-click install
npx skills add https://github.com/deriye/.agents-work --skill domain-model-deriye
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: domain-model
Source: https://github.com/deriye/.agents-work/tree/main/skills/domain-model
Command: npx skills add https://github.com/deriye/.agents-work --skill domain-model-deriye

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Feature specs describe behavior, but the underlying domain model — recurring concepts and persisted entities — often lives only in developers' heads, causing inconsistent schemas and duplicated patterns. This Skill extracts and maintains that model as versioned Markdown documentation derived from the spec, before any code is written. ## Core Features & Use Cases - Concept extraction: Identifies abstract recurring patterns (status markers, filtering, logging) and documents them in docs/domain-model/concepts/ with instances and feature traceability. - Entity modeling: Documents relational database entities with fields, relationships, and junction tables in docs/domain-model/entities/, enforcing one-entity-one-table naming. - Spec traceability: Maintains index files with spec-to-model and mechanism-to-model maps, plus a Domain Model section appended to each feature spec. - Use Case: After writing an intent spec for a new wardrobe feature, run this Skill to extract its concepts and entities, update the ER diagram and indexes, and flag ambiguous classifications before implementation planning begins. ## Quick Start Extract the domain model from the intent spec at docs/features/wear-logging/spec.md and update the concept and entity documentation.

Frequently Asked Questions about domain-model

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I extract a domain model from a feature specification?▼

Read the intent spec, identify primary subjects as candidate entities and recurring patterns as candidate concepts, then classify each against the existing model. Write or update files under docs/domain-model/concepts/ and docs/domain-model/entities/, update both index files, and link the model back into the spec.

What is the difference between a concept and an entity in domain modeling?▼

An entity is a thing with its own identity persisted in its own database table, like an item or wear log. A concept is an abstract recurring pattern or mechanism, like status markers or filtering, that appears across multiple features and is instantiated as fields on entities.

Should junction tables be modeled as entities?▼

No. Junction tables exist only to relate two entities, so they are documented under the Relationships section of the entities they link and listed in the relationships table of the entities index. Only strong, independent tables qualify as entities.

When should the domain model be re-extracted?▼

Re-extract whenever the intent spec changes, before any code implementing the new behavior is written. Update all affected concept and entity files, both index files, and the spec's Domain Model section so the plan derives from the current model.

When should I not run domain model extraction?▼

Skip extraction for changes with no domain impact, such as pure code refactors that leave the spec, concepts, and entities unchanged. In that case, note in the implementation plan that the domain model is unchanged.