domain-modeling

Create and refine a project domain model with CONTEXT.md and ADRs.

1|1|Updated Mar 10, 2013
One-click install
npx skills add https://github.com/aaronlord/.dotfiles --skill domain-modeling-aaronlord
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: domain-modeling
Source: https://github.com/aaronlord/.dotfiles/tree/main/pi/skills/domain-modeling
Command: npx skills add https://github.com/aaronlord/.dotfiles --skill domain-modeling-aaronlord

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

This Skill aids in building and refining the domain model of a project, ensuring clear terminology and ubiquitous language, and helps in documenting architectural decisions.

Core Features & Use Cases

  • Domain Modeling: Active discipline for challenging and defining terms, and writing down decisions as they emerge.
  • Context Management: Establishing a single CONTEXT.md file at the root for all project-specific terms.
  • ADRs: Recording architectural decisions with reasons and consequences for future reference.
  • Use Case: When starting a new project, use this Skill to define terms and decisions upfront, reducing confusion and maintaining a consistent language across the project.

Quick Start

Start the domain-modeling skill and begin defining terms for your project in the CONTEXT.md file.

Frequently Asked Questions about domain-modeling

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

FAQPage Schema
What is domain modeling and how does ubiquitous language improve software design?

Domain modeling defines project-specific terms to establish a ubiquitous language for your software design. It improves clarity by challenging terminology upfront and documenting decisions, which reduces confusion and maintains consistent language across your project over time.

How do I document architectural decisions for a new software project?

To document architectural decisions, record them using Architectural Decision Records. This process captures the reasons and consequences behind each choice for future reference, ensuring that the context of your software design decisions is preserved and maintainable as the project evolves.

What's the best way to manage project terminology and context for maintainability?

The best way to manage project terminology is by creating a central CONTEXT.md file at your project root. This glossary serves as a single source of truth for ubiquitous language, ensuring all team members reference consistent definitions and maintain clarity.

When do I need to start defining a domain model for my software project?

You need to start defining a domain model when beginning a new software project. Defining terms and recording architectural decisions upfront prevents confusion later, ensuring that a consistent ubiquitous language and clear context are maintained from the initial stages of development.

Does writing architectural decision records slow down new project development?

Writing architectural decision records does not slow down development; it enhances it by documenting reasons and consequences for future reference. Recording these decisions alongside your domain model upfront actually reduces future confusion and saves time when onboarding or scaling.