Skip to content
Agentmart
Submit a tool

domain-modeling

Maintains project domain language, context maps, diagrams, and architectural decisions under ai-artifacts.

Skill by iurysza

IndexedMIT★ 5
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/iurysza-domain-modeling

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Maintains project domain language, context maps, diagrams, and architectural decisions under ai-artifacts. Use when clarifying terminology, bounded contexts, or durable design decisions.

Use cases: design

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/domain-modeling

What's inside

Skill name
domain-modeling
Description
Maintains project domain language, context maps, diagrams, and architectural decisions under ai-artifacts. Use when clarifying terminology, bounded contexts, or durable design decisions.
License
MIT
Metadata
category: planning-architecture
Instructions
94 lines in SKILL.md · view on GitHub

Files (3)

  • ADR-FORMAT.md
  • CONTEXT-FORMAT.md
  • SKILL.md

SKILL.md (first lines)

# Domain Modeling

Actively build and sharpen the project's domain model as you design. This is the *active* discipline—challenging terms, inventing edge-case scenarios, visualizing relationships, and writing the glossary and decisions down when they crystallize. Merely reading `ai-artifacts/CONTEXT.md` for vocabulary is not this skill; this skill is for changing the model, not just consuming it.

## Artifact home

Keep agent-authored project knowledge under `ai-artifacts/`. This includes context glossaries, context maps, ADRs, plans, specs, analyses, reports, reviews, and other Markdown primarily created for or by an LLM.

Use another location only when the user or repository explicitly requires it, such as a human-facing `README.md` or established product documentation. Do not relocate existing documentation unless asked.

Embed ASCII or Mermaid diagrams directly in the Markdown they explain. Do not create standalone diagram files.

## File structure

Most repositories have a single context:

```text
/
├── ai-artifacts/
│   ├── CONTEXT.md
│   └── docs/
│       └── adr/
│           ├── 0001-event-sourced-orders.md
│           └── 0002-postgres-for-write-model.md
└── src/
```

If `ai-artifacts/CONTEXT-MAP.md` exists, the repository has multiple contexts:

```text
/
├── ai-artifacts/
│   ├── CONTEXT-MAP.md
│   ├── docs/
│   │   └── adr/                      ← system-wide decisions
│   └── src/
│       ├── ordering/
│       │   ├── CONTEXT.md
│       │   └── docs/adr/             ← context-specific decisions
│       └── billing/
│           ├── CONTEXT.md
│           └── docs/adr/
└── src/                              ← application source code
```

`ai-artifacts/src/` mirrors the source tree only to make context ownership obvious. Application code remains in the repository's real source directories.

Create files lazily—only when there is something worth recording. Create `ai-artifacts/CONTEXT.md` when the first term is resolved. Create an ADR directory when the first qualifying decision is made. Create `ai-artifacts/CONTEXT-MAP.md` only when the project has multiple genuine contexts.

## During the session

### Challenge against the glossary

When the user uses a term that conflicts with the relevant `CONTEXT.md`, call it out immediately. "Your glossary defines 'cancellation' as X, but you seem to mean Y—which is it?"

### Sharpen fuzzy language

When the user uses vague or overloaded terms, propose a precise canonical term. "You're saying 'account'—do you mean the Customer or the User? Those are different things."

### Discuss concrete scenarios

When domain relationships are being discussed, stress-test them with specific scenarios. Invent scenarios that probe edge cases and force the user to be precise about boundaries between concepts.

### Cross-reference with code

When the user states how something works, check whether the code agrees. If you find a contradiction, surface it: "Your code cancels entire Orders, but you just said partial cancellation is possible—which is right?"

### Visualize the model

Include an embedded diagram when boundaries, relationships, states, or flows are easier to understand visually.

- Use Mermaid for graphs, state transitions, sequences, and multi-context relationships.
- Use ASCII art for small structures or when plain-text portability matters more.
- Use domain terms from the glossary.
- Show the domain model, not classes, framework components, or incidental infrastructure.
- Keep the diagram beside the prose it clarifies.

### Update context artifacts inline

When a term or relationship is resolved, update the relevant file under `ai-artifacts/` immediately. Do not batch resolved domain knowledge. Use [CONTEXT-FORMAT.md](./CONTEXT-FORMAT.md).

A `CONTEXT.md` is a glossary, not a spec, scratch pad, or implementation guide. Its diagrams may show conceptual relationships, boundaries, and states, but must not contain implementation details.

### Offer ADRs sparingly

Only offer to create an ADR when all three are true:

1. **Hard to reverse**—the cost of changing the decision later is meaningful.
2. **Surprising without context**—a future reader will wonder why it was done this way.
3. **The result of a real trade-off**—genuine alternatives existed and one was chosen for specific reasons.

If any condition is missing, skip the ADR. Use [ADR-FORMAT.md](./ADR-FORMAT.md).

From iurysza/agent-skills, MIT.

More from iurysza/agent-skills

Signals

Stars
5
Forks
0
Open issues
0
Last commit (this folder)
Oct 10, 2026 (18 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from iurysza

Cite this page

domain-modeling skill. Agent Mart. https://agentmart.dev/skills/iurysza-domain-modeling (last updated 2026-10-24)