Agent skill

Domain Modeling

by romiluz13 in romiluz13/cc10x

A skill your agent uses when changing or sharpening a project's domain model: challenge terms against the glossary, sharpen fuzzy language, stress-test with edge-case scenarios, update CONTEXT.md…

MITAuto-check passedDevelopment

Install Domain Modeling

skills CLI
$ npx skills add romiluz13/cc10x --skill domain-modeling -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install romiluz13/cc10x domain-modeling --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/romiluz13/cc10x.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/cc10x/skills/domain-modeling .claude/skills/domain-modeling && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
domain-modeling
GitHub stars
164
Token cost
~1.8k tokens
SKILL.md length
874 words
Files
3
Skills in repo
22
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when changing or sharpening a project's domain model: challenge terms against the glossary, sharpen fuzzy language, stress-test with edge-case scenarios, update CONTEXT.md…

  • Works in 3 steps: Hard to reverse — the cost of changing… → Surprising without context — a future… → The result of a real trade-off — there…
  • Sharpening a projects domain model: challenge terms against the glossary
  • SKILL.md covers Active vs read-only, Autonomous transform (how…, File structure and During the session (ACTIVE mode), plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Domain Modeling is an agent skill from romiluz13/cc10x. Use when changing or sharpening a project's domain model: challenge terms against the glossary, sharpen fuzzy language, stress-test with edge-case scenarios, update CONTEXT.md inline, and offer ADRs sparingly. In read-only mode it reads CONTEXT.md and obeys it, emitting a proposal on contradiction rather than resolving it. See the Active vs read-only section for which mode applies.

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `ADR-FORMAT.md` and `CONTEXT-FORMAT.md`).

It sits in Development, covering Domain-driven design, Architecture decision records and Load testing. The repository describes itself as: The Loop Engine for Claude Code — engineer the loop, not the prompt. 1 router · 9 agents · 16 skills · 4 workflows. Fail-closed gates, test honesty, anti-anchored review. The licence is MIT.

When your agent uses it

  • Sharpening a projects domain model: challenge terms against the glossary
  • Sharpen fuzzy language
  • Stress-test with edge-case scenarios
  • Update CONTEXT.md inline

Example prompts

  • “/domain-modeling”

Requirements

  • Pre-approved tools (allowed-tools): Read, Edit, Write, Glob, Grep

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Hard to reverse — the cost of changing your mind later is meaningful
  2. Surprising without context — a future reader will wonder "why did they do it this way?"
  3. The result of a real trade-off — there were genuine alternatives and you picked one for specific reasons

What it can do on your machine

Read from SKILL.md and the folder at commit f346ebe. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Edit
    • Write
    • Glob
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Domain Modeling loads about 1.8k tokens when it runs. Until then it costs about 100 tokens; SKILL.md has 874 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~100
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from romiluz13/cc10x at commit f346ebe, republished under its MIT licence (© romiluz13). 874 words, ~1,824 tokens.

Download SKILL.mdSave it as .claude/skills/domain-modeling/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
domain-modeling
description
Use when changing or sharpening a project's domain model: challenge terms against the glossary, sharpen fuzzy language, stress-test with edge-case scenarios, update CONTEXT.md inline, and offer ADRs sparingly. In read-only mode it reads CONTEXT.md and obeys it, emitting a proposal on contradiction rather than resolving it. See the Active vs read-only section for which mode applies.
allowed-tools
Read, Edit, Write, Glob, Grep
user-invocable
false
<!-- Upstream: github.com/mattpocock/skills @ e9fcdf95b402d360f90f1db8d776d5dd450f9234
     Classification: ADAPTED (autonomous transform on human-gates; read-only builder
     variant added; cc10x frontmatter). Companions (CONTEXT-FORMAT.md, ADR-FORMAT.md)
     ported verbatim. -->

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, and writing the glossary and decisions down the moment they crystallise. (Merely reading CONTEXT.md for vocabulary is not this skill — that's a one-line habit any skill can do. This skill is for when you're changing the model, not just consuming it.)

Active vs read-only

This skill loads in two modes depending on which agent invoked it:

  • ACTIVE (planner, doc-syncer, exploration in DESIGN mode): you shape the domain model. You challenge terms, sharpen language, write CONTEXT.md inline, and offer ADRs. You are a designated CONTEXT.md writer.
  • READ-ONLY / OBEY (component-builder, bug-investigator): you read CONTEXT.md and use the project's domain vocabulary in all output. You do NOT write or edit CONTEXT.md. If you discover a contradiction between the glossary and the code, emit a proposal in your Memory Notes (**Domain proposal:** term X is defined as Y in CONTEXT.md but the code does Z — which is right?) or block (STATUS: FAIL, REMEDIATION_REASON: "Domain glossary contradicts code at term X") — do NOT resolve the contradiction yourself. Resolving domain language is the job of shaping phases, not build phases.

The agent's persona prompt determines which mode is in effect. If unsure, default to READ-ONLY — the cost of an opportunistic glossary rewrite during a build is higher than the cost of a deferred proposal.

Autonomous transform (how human-gates route here)

Matt's original skill is human-gated ("ask the user", "challenge the user"). In cc10x's autonomous workflow, every gate routes through evidence + blast radius, not reversibility alone:

SituationTransform
The repo/spec/code already proves one interpretation, AND the choice has no external semantic impactProceed. Record the resolved term in CONTEXT.md inline.
No proof in repo, but low blast radius (no contracts, persistence, or user-language affected)Proceed with the recommended interpretation, record it in CONTEXT.md with an explicit **Assumed:** note, and continue.
Domain ambiguity affecting contracts, persistence, or user language (e.g. "account" = Customer or User?)STOP. Return STATUS: NEEDS_CLARIFICATION (planner) or emit the proposal and block (builder). Do NOT auto-answer.
A hard-to-reverse decision with no proofSTOP. Failure-stop. Offer the ADR only after the human decides.

Grilling is NOT auto-answered. Auto-answering an interview removes its information source. In JUST_GO mode, the exploration interview asks questions, records the recommended answer + assumption, and proceeds ONLY for low-blast-radius decisions. Domain-shaping questions always stop for human input.

File structure

Most repos have a single context:

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

If a CONTEXT-MAP.md exists at the root, the repo has multiple contexts. The map points to where each one lives:

/
├── CONTEXT-MAP.md
├── docs/
│   └── adr/                          ← system-wide decisions
├── src/
│   ├── ordering/
│   │   ├── CONTEXT.md
│   │   └── docs/adr/                 ← context-specific decisions
│   └── billing/
│       ├── CONTEXT.md
│       └── docs/adr/

Create files lazily — only when you have something to write. If no CONTEXT.md exists, create one when the first term is resolved. If no docs/adr/ exists, create it when the first ADR is needed.

During the session (ACTIVE mode)

Challenge against the glossary

When the user uses a term that conflicts with the existing language in CONTEXT.md, call it out immediately. "Your glossary defines 'cancellation' as X, but you seem to mean Y — which is it?" In autonomous mode, if the contradiction affects contracts/persistence/user-language, STOP per the transform table; otherwise surface it and proceed with the sharpened term.

Show full SKILL.md (351 more words)Show less
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." Domain-shaping sharpening stops for human input; low-blast-radius sharpening proceeds with a recorded assumption.

Discuss concrete scenarios

When domain relationships are being discussed, stress-test them with specific scenarios. Invent scenarios that probe edge cases and force precision about the 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?"

Update CONTEXT.md inline

When a term is resolved, update CONTEXT.md right there. Don't batch these up — capture them as they happen. Use the format in CONTEXT-FORMAT.md. Append-only glossary entries avoid parallel-write clashes when multiple shaping phases run.

CONTEXT.md should be totally devoid of implementation details. Do not treat CONTEXT.md as a spec, a scratch pad, or a repository for implementation decisions. It is a glossary and nothing else.

Offer ADRs sparingly

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

  1. Hard to reverse — the cost of changing your mind later is meaningful
  2. Surprising without context — a future reader will wonder "why did they do it this way?"
  3. The result of a real trade-off — there were genuine alternatives and you picked one for specific reasons

If any of the three is missing, skip the ADR. Use the format in ADR-FORMAT.md.

During the session (READ-ONLY mode)

Read CONTEXT.md if present. Use the project's domain vocabulary in all test names, variable names, and output. If you find a contradiction:

  1. Do not rewrite CONTEXT.md.
  2. Emit a **Domain proposal:** line in Memory Notes describing the contradiction (term, glossary definition, code behavior).
  3. If the contradiction makes the current phase's work ambiguous, block: STATUS: FAIL, REMEDIATION_REASON: "Domain glossary contradicts code at term '{X}' — needs shaping-phase resolution".
  4. If it does not block the work, proceed using the code's behavior as truth and flag the proposal for the next shaping phase.

© romiluz13, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files in plugins/cc10x/skills/domain-modeling of romiluz13/cc10x.

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

Open the folder on GitHubat commit f346ebe

Compare with similar skills

Domain Modeling next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Domain Modeling compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Domain Modeling this skillromiluz13/cc10x164—~1.8kAutomated safety check: PassMIT
Domain Modelsammcj/agentic-coding162—~883Automated safety check: PassApache-2.0
Critique Planayoubben18/ab-method192—~1.4kAutomated safety check: PassMIT
Domain Modelingbrim-borium/spotify_sdk1665 repos~806Automated safety check: PassApache-2.0
Grill With Docsmeain/dotfiles28521 repos~875Automated safety check: PassMIT
Domain Modelingvinvcn/mattpocock-skills-zh-CN4.7k—~505Automated safety check: PassMIT

Similar skills

  • Domain Model

    sammcj/agentic-coding

    Actively build and sharpen a project's domain model - challenge terms against the glossary, stress-test boundaries with scenarios, cross-reference against the code, and record the glossary…

    162 GitHub stars~883 tokensUpdated today
    DevelopmentAuto-check passed
  • Critique Plan

    ayoubben18/ab-method

    Pre-implementation critic. An agent skill from ayoubben18/ab-method.

    192 GitHub stars~1.4k tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Domain Modeling

    brim-borium/spotify_sdk

    Build and sharpen a project's domain model. An agent skill from brim-borium/spotify_sdk.

    166 GitHub starsUsed in 5 repos~806 tokens
    DevelopmentAuto-check passed
  • Grill With Docs

    meain/dotfiles

    Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise.

    285 GitHub starsUsed in 21 repos~875 tokens
    DevelopmentAuto-check passed
  • Domain Modeling

    vinvcn/mattpocock-skills-zh-CN

    构建并打磨项目的领域模型。适用于讨论 codebase 术语、编写或编辑 CONTEXT.md,或记录或编辑 ADR. An agent skill from vinvcn/mattpocock-skills-zh-CN.

    4.7k GitHub stars~505 tokensUpdated 10 days ago
    DevelopmentAuto-check passed
  • Grill With Docs

    ayoubben18/ab-method

    Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise.

    192 GitHub stars~2.1k tokensUpdated 7 days ago
    DevelopmentAuto-check passed

More from romiluz13/cc10x

All 22 skills in this repo
  • Building

    romiluz13/cc10x

    A skill your agent uses when writing production code test-first: the RED-GREEN-REFACTOR cycle, false-RED detection, vertical slicing, scope escalation, test process discipline, and code generation…

    164 GitHub stars~2.7k tokensUpdated today
    Auto-check: notes
  • Diff Driven Docs

    romiluz13/cc10x

    A skill your agent uses when a BUILD phase completes, a commit is staged, or a PR is about to be created, and the diff has not yet been reflected in documentation.

    164 GitHub stars~2.7k tokensUpdated today
    Auto-check: notes
  • Planning

    romiluz13/cc10x

    A skill your agent uses when writing an execution plan or a decision RFC: task decomposition, context references, validation levels, risk-based testing, ADR format, plan completeness gate, and…

    164 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Verification

    romiluz13/cc10x

    A skill your agent uses when judging whether a task reached its goal, not just finished: the gate function, self-critique gate, validation levels, evidence array protocol, and goal-backward lens.

    164 GitHub stars~1.9k tokensUpdated today
    Auto-check: notes
  • Agent Common

    romiluz13/cc10x

    A skill your agent uses when a cc10x agent starts a task: the shared preamble for the memory protocol, the contract format, and the output rules.

    164 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Cc10x Guide

    romiluz13/cc10x

    Answers questions about cc10x itself — what it is, how to install and configure it, how the router, workflows, memory, and hooks operate, and how to troubleshoot.

    164 GitHub stars~2.2k tokensUpdated today
    Auto-check passed

Categories

Questions about Domain Modeling

What does Domain Modeling do?

A skill your agent uses when changing or sharpening a project's domain model: challenge terms against the glossary, sharpen fuzzy language, stress-test with edge-case scenarios, update CONTEXT.md…. Domain Modeling is an agent skill from romiluz13/cc10x.md inline, and offer ADRs sparingly.

When should I use Domain Modeling?

Domain Modeling fits situations like: sharpening a projects domain model: challenge terms against the glossary; sharpen fuzzy language; stress-test with edge-case scenarios; update CONTEXT.md inline.

How do I install Domain Modeling in Claude Code?

Run `npx skills add romiluz13/cc10x --skill domain-modeling -a claude-code`. Or copy the skill folder (plugins/cc10x/skills/domain-modeling in romiluz13/cc10x) into .claude/skills/domain-modeling in your project. Claude Code loads it when a task matches its description.

How do I install Domain Modeling in Codex?

Run `npx skills add romiluz13/cc10x --skill domain-modeling -a codex`. Or copy the skill folder (plugins/cc10x/skills/domain-modeling in romiluz13/cc10x) into .agents/skills/domain-modeling in your project. Codex loads it when a task matches its description.

Can I use Domain Modeling in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add romiluz13/cc10x --skill domain-modeling -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/domain-modeling, .gemini/skills/domain-modeling, .github/skills/domain-modeling and .opencode/skills/domain-modeling in your project.

What does Domain Modeling need to run?

SKILL.md names no scripts, command-line tools or credentials: Domain Modeling is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Edit, Write, Glob, Grep.

Does Domain Modeling access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Domain Modeling safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Domain Modeling use?

Domain Modeling is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Domain Modeling use?

About 1.8k tokens (SKILL.md is roughly 7.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Domain Modeling?

Skills that share tags, products or a category with Domain Modeling: Domain Model (sammcj/agentic-coding, 162 stars), Critique Plan (ayoubben18/ab-method, 192 stars), Domain Modeling (brim-borium/spotify_sdk, 166 stars) and Grill With Docs (meain/dotfiles, 285 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Domain Modeling?

romiluz13 (a GitHub user) maintains it in romiluz13/cc10x, which has 164 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 7, 2026.

Source: romiluz13/cc10x on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.