Domain Modeling
fossasia/eventyay-interpretation
Build and sharpen a project's domain model. An agent skill from fossasia/eventyay-interpretation.
Facilitate a structured conversation to define DDD guardrails for domain design within a repository.
$ npx skills add techygarg/lattice --skill ddd-refiner -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install techygarg/lattice ddd-refiner --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/techygarg/lattice.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ddd-refiner .claude/skills/ddd-refiner && 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 "ddd-refiner" agent skill from https://github.com/techygarg/lattice/tree/main/skills/ddd-refiner into .claude/skills/ddd-refiner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ddd-refiner", 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/techygarg/lattice/tree/main/skills/ddd-refinerType 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 techygarg/lattice --skill ddd-refiner -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install techygarg/lattice ddd-refiner --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/techygarg/lattice.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ddd-refiner .agents/skills/ddd-refiner && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ddd-refiner" agent skill from https://github.com/techygarg/lattice/tree/main/skills/ddd-refiner into .agents/skills/ddd-refiner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ddd-refiner", 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 techygarg/lattice --skill ddd-refiner -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install techygarg/lattice ddd-refiner --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/techygarg/lattice.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ddd-refiner .cursor/skills/ddd-refiner && 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 "ddd-refiner" agent skill from https://github.com/techygarg/lattice/tree/main/skills/ddd-refiner into .cursor/skills/ddd-refiner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ddd-refiner", 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/techygarg/lattice.git --path skills/ddd-refiner--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 techygarg/lattice --skill ddd-refiner -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install techygarg/lattice ddd-refiner --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/techygarg/lattice.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ddd-refiner .gemini/skills/ddd-refiner && 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 "ddd-refiner" agent skill from https://github.com/techygarg/lattice/tree/main/skills/ddd-refiner into .gemini/skills/ddd-refiner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ddd-refiner", 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 techygarg/lattice ddd-refinerInstalls 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 techygarg/lattice --skill ddd-refiner -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/techygarg/lattice.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ddd-refiner .github/skills/ddd-refiner && 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 "ddd-refiner" agent skill from https://github.com/techygarg/lattice/tree/main/skills/ddd-refiner into .github/skills/ddd-refiner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ddd-refiner", 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 techygarg/lattice --skill ddd-refiner -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install techygarg/lattice ddd-refiner --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/techygarg/lattice.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ddd-refiner .opencode/skills/ddd-refiner && 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 "ddd-refiner" agent skill from https://github.com/techygarg/lattice/tree/main/skills/ddd-refiner into .opencode/skills/ddd-refiner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ddd-refiner", 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.
ddd-refinerFacilitate a structured conversation to define DDD guardrails for domain design within a repository.
Ddd Refiner is an agent skill from techygarg/lattice. Facilitate a structured conversation to define DDD guardrails for domain design within a repository. Produces a formal ddd-principles.md document that the domain-driven-design atom will use as its override. Use when setting up domain design principles, defining aggregate rules, or when the user says 'setup DDD', 'define domain rules', 'DDD principles', or 'help me define my domain patterns'.
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including assets (for example `assets/template.md`).
It sits in Development, covering Domain-driven design. The repository describes itself as: Install engineering discipline into any AI coding assistant. Composable skills for design, implementation, review, and team standards. Better process, not just better prompts. The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4d6c35f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml).
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.
Ddd Refiner loads about 3k tokens when it runs. Until then it costs about 102 tokens; SKILL.md has 1,572 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 techygarg/lattice at commit 4d6c35f, republished under its MIT licence (© techygarg). 1,572 words, ~2,958 tokens.
.claude/skills/ddd-refiner/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub..lattice/standards/ddd-principles.md (or custom path from .lattice/config.yaml → paths.ddd_principles)mode: overlay): A slim document containing only sections that differ from the defaults. The domain-driven-design atom reads its embedded defaults first, then applies this document's sections on top. This is the expected common case.mode: override): A comprehensive standalone document that fully replaces the atom's embedded defaults. For teams with fundamentally different domain modeling principles.paths.ddd_principles in .lattice/config.yaml./assets/template.md for the full document structure, default content, and interview guidance commentsThis skill defines the rules of domain crafting, not the domain model itself. The domain model evolves through features; this document defines the guardrails. It covers DDD tactical patterns only -- not strategic DDD (no context mapping, no microservice topology, no bounded context integration).
Before starting the interview, check whether a custom document already exists:
.lattice/config.yaml -- does paths.ddd_principles point to a file?Look for signals that inform the conversation:
domain/ (or core/, model/) folder exist? What's inside it?Share relevant findings with the user at the start: "I noticed your project already has [X patterns]. I'll use that as context."
If the project is new with no code, proceed with pure defaults as the starting point.
The first decision in the conversation. Present the three options:
"How would you like to define your DDD principles?
The defaults cover standard DDD tactical patterns well. Option 1 is recommended unless your domain modeling approach is fundamentally different."
Map the choice:
mode: overlaymode: overrideThis should be fast. Many sections will be "keep as-is."
This is thorough. Every section gets attention and appears in the output.
Read ./assets/template.md and follow the <!-- INTERVIEW GUIDANCE: --> comments for each section. Those comments contain the specific questions to ask, probing questions, and what is customizable vs fixed.
Decisions in early sections affect later sections. When a user changes an early section, flag the dependent sections:
| Decision in | Affects | How |
|---|---|---|
| §1 — Aggregate boundaries | §6 (repositories), §5 (events), §8 (decomposition) | One repo per aggregate root; events for cross-aggregate coordination |
| §1 — Sizing thresholds | §8 (decomposition triggers) | Custom thresholds change decomposition warning signals |
| §2 — Entity identity strategy | §3 (typed ID value objects), §6 (repository signatures) | Typed IDs must be value objects; repository findById uses typed IDs |
| §3 — Value object catalog | §2 (entity fields) | New value objects appear in entity definitions |
| §5 — Event patterns | §1 (cross-aggregate coordination) | Events are the mechanism for cross-aggregate consistency |
| §6 — Repository patterns | §1 (aggregate root identification) | Only roots get repositories |
When a dependency is triggered, inform the user: "Since you changed [X], we should also review [Y] -- it's affected by that decision."
For each of the 9 sections:
For each of the 9 sections:
mode: overlaydefaults.md exactly (the atom matches sections by heading)mode: overrideStrip all <!-- INTERVIEW GUIDANCE: --> comments from the output. The final document is a clean specification.
Determine output path:
.lattice/config.yaml exists and has paths.ddd_principles, use that path..lattice/standards/ddd-principles.md.Write the document:
.lattice/standards/ directory (and .lattice/ parent) if it does not exist.Update config:
.lattice/config.yaml does not exist, create it with:paths:
ddd_principles: .lattice/standards/ddd-principles.md.lattice/config.yaml exists but has no paths.ddd_principles, add the key. Preserve all existing content..lattice/config.yaml exists and already has the key, no config change needed.Confirm to user:
"Your DDD principles document has been written to [PATH] in [overlay|override] mode. The domain-driven-design atom will now use it [on top of the defaults | instead of the defaults]."
Before writing the final document, verify:
defaults.md exactly (for section matching by the atom)<!-- INTERVIEW GUIDANCE: --> comments remainmode: overlay<!-- INTERVIEW GUIDANCE: --> comments remainmode: override.lattice/config.yaml) is correctly updated© techygarg, 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 1 other file (assets) in skills/ddd-refiner of techygarg/lattice.
Open the folder on GitHubat commit 4d6c35f
Ddd Refiner 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 |
|---|---|---|---|---|---|---|
| Ddd Refiner this skilltechygarg/lattice | 198 | — | ~3k | Automated safety check: Pass | MIT | |
| Domain Modelingfossasia/eventyay-interpretation | 1.6k | 31 repos | ~821 | Automated safety check: Pass | Apache-2.0 | |
| Architecture Governancezai-org/ZCode | 7.5k | — | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Evolutionary Modular Architecturetech-leads-club/agent-skills | 7k | — | ~3.7k | Automated safety check: Pass | CC-BY-4.0 | |
| Domain Modelingbrim-borium/spotify_sdk | 166 | 5 repos | ~806 | Automated safety check: Pass | Apache-2.0 | |
| Domain Modeling and Glossarywindmill-labs/windmill | 18k | — | ~622 | Automated safety check: Pass | Custom licence |
fossasia/eventyay-interpretation
Build and sharpen a project's domain model. An agent skill from fossasia/eventyay-interpretation.
zai-org/ZCode
Apply the repository's architecture policy to code changes by generating a bounded context package, checking module and layer boundaries, and reporting baseline-aware violations.
tech-leads-club/agent-skills
Guides design of modular-monolith platforms with DDD, flat-by-aggregate modules, anti-corruption layers, outbox events and resilience, plus an architecture document with SVG diagrams.
brim-borium/spotify_sdk
Build and sharpen a project's domain model. An agent skill from brim-borium/spotify_sdk.
windmill-labs/windmill
Actively challenges vague or conflicting terminology as you design, and keeps a living domain glossary file up to date in real time.
swamp-club/swamp
Domain Driven Design guidance for TypeScript/Deno codebases.
techygarg/lattice
Architectural thinking partner for an existing repository — scans the codebase, conducts a structured interview, agrees on current architectural state and recommended direction, and produces a…
techygarg/lattice
Guided setup and upgrade-check experience for Lattice projects -- scans the repository, detects existing configuration and outdated conventions, suggests refiners and available upgrades in priority…
techygarg/lattice
Audit and fix all Lattice documentation, README, docs/, PROJECT.md, GitHub issue templates, and CLAUDE.md to ensure they are fully aligned with the current skill inventory.
techygarg/lattice
Validate any Lattice SKILL.md against all tier conventions — atoms, molecules, and refiners.
techygarg/lattice
Facilitate a structured conversation to define architecture principles for a repository.
techygarg/lattice
Facilitate a structured conversation to define clean code principles for a repository.
Categories
Facilitate a structured conversation to define DDD guardrails for domain design within a repository. Ddd Refiner is an agent skill from techygarg/lattice. Facilitate a structured conversation to define DDD guardrails for domain design within a repository.
Ddd Refiner fits situations like: setting up domain design principles; defining aggregate rules; the user says setup DDD; define domain rules.
Run `npx skills add techygarg/lattice --skill ddd-refiner -a claude-code`. Or copy the skill folder (skills/ddd-refiner in techygarg/lattice) into .claude/skills/ddd-refiner in your project. Claude Code loads it when a task matches its description.
Run `npx skills add techygarg/lattice --skill ddd-refiner -a codex`. Or copy the skill folder (skills/ddd-refiner in techygarg/lattice) into .agents/skills/ddd-refiner 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 techygarg/lattice --skill ddd-refiner -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ddd-refiner, .gemini/skills/ddd-refiner, .github/skills/ddd-refiner and .opencode/skills/ddd-refiner in your project.
SKILL.md names no scripts, command-line tools or credentials: Ddd Refiner is instructions for the agent only.
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.
Ddd Refiner is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k 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 Ddd Refiner: Domain Modeling (fossasia/eventyay-interpretation, 1.6k stars), Architecture Governance (zai-org/ZCode, 7.5k stars), Evolutionary Modular Architecture (tech-leads-club/agent-skills, 7k stars) and Domain Modeling (brim-borium/spotify_sdk, 166 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
techygarg (a GitHub user) maintains it in techygarg/lattice, which has 198 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on October 6, 2026.
Source: techygarg/lattice on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.