agent-common
Use when a cc10x agent starts a task: the shared preamble for the memory protocol, the contract format, and the output rules.
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
Claude Code
$ npx -y skills add romiluz13/cc10x --skill domain-modeling --agent claude-code
Codex
$ npx skills add romiluz13/cc10x --skill domain-modeling -a codex -y
Cursor
$ npx skills add romiluz13/cc10x --skill domain-modeling -a cursor -y
Gemini CLI
$ npx skills add romiluz13/cc10x --skill domain-modeling -a gemini-cli -y
GitHub Copilot
$ npx skills add romiluz13/cc10x --skill domain-modeling -a github-copilot -y
OpenCode
$ npx skills add romiluz13/cc10x --skill domain-modeling -a opencode -y
Windsurf
$ npx skills add romiluz13/cc10x --skill domain-modeling -a windsurf -y
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. -->
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:
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](./CONTEXT-FORMAT.md). Append-only glossary entries avoid parallel-write clashes when multiple shaping phases run.
`CONTEXT.md` should be totally dev
The Loop Engine for Claude Code — engineer the loop, not the prompt. 1 router · 14 agents · 21 skills · 8 workflows. Fail-closed gates, test honesty, anti-anchored review.
Use when a cc10x agent starts a task: the shared preamble for the memory protocol, the contract format, and the output rules.
Greenfield architecture design: map functionality flows, draw components, design APIs, classify dependencies, plan observability.…
Use when writing production code test-first: the RED-GREEN-REFACTOR cycle, false-RED detection, vertical slicing, scope…
Answers questions about cc10x itself — what it is, how to install and configure it, how the router, workflows, memory, and hooks…
Routes build, debug, review, plan, QA, and triage requests through the cc10x workflows (task graphs, workflow artifacts, gates);…
Two-mode skill: (1) adversarial review — spec compliance + code quality + security, confidence-scored findings with file:line…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.