---
name: Domain Modeling
slug: domain-modeling-4
category: AI Engineering
description: Domain Modeling clarifies concepts, language, boundaries, and architectural decisions when terminology is ambiguous or a design depends on shared understanding. It helps you compare terms, test edge cases, and record durable definitions or ADRs when needed.
github: "https://github.com/stevesolun/ctx/tree/main/.agents/skills/domain-modeling"
language: Python
stars: 578
forks: 71
install: "npx degit https://github.com/stevesolun/ctx/tree/main/.agents/skills/domain-modeling ~/.claude/skills/domain-modeling"
installs_to: ~/.claude/skills/domain-modeling
source_path: .agents/skills/domain-modeling/SKILL.md
collection_size: 25
category_size: 2451
collection_url: "https://dirskills.com/collections/stevesolun/ctx"
added: 2026-08-25T05:13:58.482Z
last_synced: 2026-08-25T05:13:58.482Z
canonical_url: "https://dirskills.com/skills/domain-modeling-4"
---

# Domain Modeling

Domain Modeling clarifies concepts, language, boundaries, and architectural decisions when terminology is ambiguous or a design depends on shared understanding. It helps you compare terms, test edge cases, and record durable definitions or ADRs when needed.

**Install:**

```bash
npx degit https://github.com/stevesolun/ctx/tree/main/.agents/skills/domain-modeling ~/.claude/skills/domain-modeling
```

## README

# Model the domain

Build a precise shared understanding of the concepts that matter to the current
decision. Read existing glossaries, context maps, ADRs, code, and tests when
they provide relevant evidence.

## Sharpen the model

- Identify overloaded terms, hidden distinctions, and conflicting definitions.
- Use concrete scenarios and edge cases to test whether concepts and boundaries
  hold.
- Compare the stated model with behavior in the code and surface material
  contradictions.
- Propose clear language when ambiguity is blocking progress, while respecting
  established repository terminology that remains accurate.

Ask the user to resolve a term only when their intent cannot be inferred safely
and the distinction affects the outcome.

## Record durable knowledge proportionally

Update a glossary or context map when the user requests it or when a resolved
term is durable, project-specific, and useful beyond the current conversation.
Follow an existing repository format first; otherwise use the
[context format](CONTEXT-FORMAT.md) as a lightweight starting point.

Record an ADR only when a decision is costly to reverse, surprising without its
context, and based on a meaningful tradeoff. Follow existing ADR conventions or
use the [ADR format](ADR-FORMAT.md). Do not create artifacts merely to complete
the workflow.

Keep domain definitions separate from implementation plans. Report unresolved
ambiguity and artifact changes explicitly.
