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…
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…
$ npx skills add romiluz13/cc10x --skill domain-modeling -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install romiluz13/cc10x domain-modeling --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "domain-modeling" agent skill from https://github.com/romiluz13/cc10x/tree/main/plugins/cc10x/skills/domain-modeling into .claude/skills/domain-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "domain-modeling", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/romiluz13/cc10x/tree/main/plugins/cc10x/skills/domain-modelingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add romiluz13/cc10x --skill domain-modeling -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install romiluz13/cc10x domain-modeling --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/romiluz13/cc10x.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/cc10x/skills/domain-modeling .agents/skills/domain-modeling && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "domain-modeling" agent skill from https://github.com/romiluz13/cc10x/tree/main/plugins/cc10x/skills/domain-modeling into .agents/skills/domain-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "domain-modeling", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add romiluz13/cc10x --skill domain-modeling -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install romiluz13/cc10x domain-modeling --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/romiluz13/cc10x.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/cc10x/skills/domain-modeling .cursor/skills/domain-modeling && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "domain-modeling" agent skill from https://github.com/romiluz13/cc10x/tree/main/plugins/cc10x/skills/domain-modeling into .cursor/skills/domain-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "domain-modeling", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/romiluz13/cc10x.git --path plugins/cc10x/skills/domain-modeling--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add romiluz13/cc10x --skill domain-modeling -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install romiluz13/cc10x domain-modeling --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/romiluz13/cc10x.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/cc10x/skills/domain-modeling .gemini/skills/domain-modeling && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "domain-modeling" agent skill from https://github.com/romiluz13/cc10x/tree/main/plugins/cc10x/skills/domain-modeling into .gemini/skills/domain-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "domain-modeling", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install romiluz13/cc10x domain-modelingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add romiluz13/cc10x --skill domain-modeling -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/romiluz13/cc10x.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/cc10x/skills/domain-modeling .github/skills/domain-modeling && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "domain-modeling" agent skill from https://github.com/romiluz13/cc10x/tree/main/plugins/cc10x/skills/domain-modeling into .github/skills/domain-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "domain-modeling", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add romiluz13/cc10x --skill domain-modeling -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install romiluz13/cc10x domain-modeling --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/romiluz13/cc10x.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/cc10x/skills/domain-modeling .opencode/skills/domain-modeling && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "domain-modeling" agent skill from https://github.com/romiluz13/cc10x/tree/main/plugins/cc10x/skills/domain-modeling into .opencode/skills/domain-modeling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "domain-modeling", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
domain-modelingA 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. 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.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f346ebe. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadEditWriteGlobGrepFrom allowed-tools in the SKILL.md frontmatter.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from romiluz13/cc10x at commit f346ebe, republished under its MIT licence (© romiluz13). 874 words, ~1,824 tokens.
.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.<!-- 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. -->
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.)
This skill loads in two modes depending on which agent invoked it:
CONTEXT.md inline, and offer ADRs. You are a designated CONTEXT.md writer.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.
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:
| Situation | Transform |
|---|---|
| The repo/spec/code already proves one interpretation, AND the choice has no external semantic impact | Proceed. 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 proof | STOP. 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.
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.
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.
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.
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.
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?"
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.
Only offer to create an ADR when all three are true:
If any of the three is missing, skip the ADR. Use the format in ADR-FORMAT.md.
Read CONTEXT.md if present. Use the project's domain vocabulary in all test names, variable names, and output. If you find a contradiction:
CONTEXT.md.**Domain proposal:** line in Memory Notes describing the contradiction (term, glossary definition, code behavior).STATUS: FAIL, REMEDIATION_REASON: "Domain glossary contradicts code at term '{X}' — needs shaping-phase resolution".© romiluz13, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files in plugins/cc10x/skills/domain-modeling of romiluz13/cc10x.
Open the folder on GitHubat commit f346ebe
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Domain Modeling this skillromiluz13/cc10x | 164 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Domain Modelsammcj/agentic-coding | 162 | — | ~883 | Automated safety check: Pass | Apache-2.0 | |
| Critique Planayoubben18/ab-method | 192 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Domain Modelingbrim-borium/spotify_sdk | 166 | 5 repos | ~806 | Automated safety check: Pass | Apache-2.0 | |
| Grill With Docsmeain/dotfiles | 285 | 21 repos | ~875 | Automated safety check: Pass | MIT | |
| Domain Modelingvinvcn/mattpocock-skills-zh-CN | 4.7k | — | ~505 | Automated safety check: Pass | MIT |
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…
ayoubben18/ab-method
Pre-implementation critic. An agent skill from ayoubben18/ab-method.
brim-borium/spotify_sdk
Build and sharpen a project's domain model. An agent skill from brim-borium/spotify_sdk.
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.
vinvcn/mattpocock-skills-zh-CN
构建并打磨项目的领域模型。适用于讨论 codebase 术语、编写或编辑 CONTEXT.md,或记录或编辑 ADR. An agent skill from vinvcn/mattpocock-skills-zh-CN.
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.
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…
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.
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…
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.
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.
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.
Categories
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.