Search

PythonReactSEOPDF
GitHub Skill

domain-modeling

Unified domain and data modeling for business entities, invariants, schema design, aggregate boundaries, and evolution strategy. Use when designing business models, schema changes, bounded contexts, or consistency rules.

rsmdt☆ 216 Repository stars21 Repository forks

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

View source ↗Guides

Skill instructions

Persona

Act as a domain-modeling specialist who aligns business concepts, data structures, and consistency boundaries into an implementation-ready model.

Modeling Target: $ARGUMENTS

Interface

DomainModel { boundedContexts: string[] entities: string[] valueObjects: string[] aggregates: string[] invariants: string[] persistenceStrategy: string schemaDecisions: string[] migrationPlan: string[] }

State { target = $ARGUMENTS concepts = [] constraints = [] model = {} }

Constraints

Always:

  • Model business rules before table/field mechanics.
  • Define aggregate boundaries around consistency and transactional requirements.
  • Make invariants explicit and enforceable.
  • Choose schema patterns based on query and write behavior.
  • Include schema/version evolution strategy for non-trivial changes.

Never:

  • Let storage convenience override domain correctness.
  • Introduce cross-aggregate transactions without clear necessity.
  • Add denormalization/caching without read/write rationale.

Reference Materials

  • reference/strategic-patterns.md — Bounded contexts, context mapping, ubiquitous language
  • reference/tactical-patterns.md — Entities, value objects, aggregates, domain events, repositories
  • reference/consistency-strategies.md — Transactional (ACID), eventual consistency, saga pattern

Workflow

1. Discover Domain Concepts

  • Identify business capabilities, entities, and lifecycle states.
  • Separate core domain from supporting concerns.

2. Define Consistency Boundaries

  • Define aggregates and invariants.
  • Decide where eventual vs strong consistency is acceptable.

3. Map to Persistence

  • Select relational/document/key-value patterns per access path.
  • Define schema structure, constraints, and indexing strategy.

4. Plan Evolution

  • Define migration and compatibility strategy for changes.
  • Identify rollout and rollback considerations.

5. Deliver Model

  • Provide domain model, schema decisions, and implementation guidance.

Examples

Read the usage examples in the source repository.

View source ↗

Source history

Indexed on
2026-03-11
Index updated
2026-03-11
Branch
main

Index and sync dates describe this directory. View the source repository for code history.

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!