Skip to content
Back to skills

Domain Modeling

ASecurity

Build a project's domain model — challenge terms, pin down a ubiquitous language, write the glossary down. Use when defining domain terminology, resolving ambiguous terms, or another skill needs the shared vocabulary. Don't use for a single architectural decision (/to-adr) or explaining code (/zoom-out).

  • 16 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
ai-agentsapi

Works with

  • api

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add helderberto/agent-skills --skill domain-modeling --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Domain Modeling?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Domain Modeling
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/helderberto-domain-modeling/badge)](https://www.skillsdirectory.com/skills/helderberto-domain-modeling)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: domain-modeling
effort: high
description: Build a project's domain model — challenge terms, pin down a ubiquitous language, write the glossary down. Use when defining domain terminology, resolving ambiguous terms, or another skill needs the shared vocabulary. Don't use for a single architectural decision (/to-adr) or explaining code (/zoom-out).
user-invocable: false
---

# Domain Modeling

The *active* discipline of shaping the model — challenging terms, inventing edge-case scenarios, and writing vocabulary down the moment it crystallizes. Merely *reading* a glossary for vocabulary is a one-line habit any skill does; this skill is for when you're changing the model, not consuming it.

## Artifact

Maintain the project's glossary in its existing convention; a legacy `CONTEXT.md` counts. If there is none, create `GLOSSARY.md` at the repo root. A repo with several bounded contexts gets one glossary per context, plus a root `GLOSSARY-MAP.md` that points to each. Call the Skill tool with `to-adr` to record decisions that settle a term, so the *why* is preserved separately from the *what*.

## Ubiquitous language

One term, one meaning, used everywhere — prose, code, docs, and the glossary agree. For each term write:

- A crisp definition.
- An **Avoid** list of the rejected synonyms, so the same concept never travels under two names.

When the same word means two things, that ambiguity *is* the work — split it into two named terms and retire the overloaded one.

## Sharpen by stress

Invent edge-case scenarios that a term must survive. A definition that can't classify the edge case is still fuzzy — refine it until it can, then write it down immediately. Flag ambiguities you can't yet resolve; record the resolution once decided.

Completion: every term touched has a definition and an Avoid list, and every flagged ambiguity is either resolved or explicitly parked.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…