Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/astordu/qoderharness/domain-modelingnpx skills add astordu/qoderharness --skill domain-modelinggit clone --depth 1 https://github.com/astordu/qoderharnessWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/astordu/qoderharness/domain-modeling)<a href="https://agentmods.dev/skills/astordu/qoderharness/domain-modeling"><img src="https://agentmods.dev/badge/skills/astordu/qoderharness/domain-modeling.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00048 | $0.00928 |
| Opus 5 | $0.00024 | $0.00464 |
| Sonnet 5 | $0.00010 | $0.00186 |
| Haiku 4.5 | $0.00005 | $0.00093 |
Grade A, and why
domain-modeling scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
领域建模(Domain Modeling)
在设计过程中主动构建并打磨项目的领域模型。这是一门 主动 的功夫——挑战术语、构造边界情形的场景,并在术语与决策刚刚清晰下来的那一刻就把它们写下来。(仅仅 阅读 CONTEXT.md 获取词汇并不属于这个技能——那是任何技能都能顺手做的一件小事。这个技能面向的是你正在 修改 模型的场景,而不只是消费它。)
文件结构
大多数仓库只有单一上下文(context):
/
├── CONTEXT.md
├── docs/
│ └── adr/
│ ├── 0001-event-sourced-orders.md
│ └── 0002-postgres-for-write-model.md
└── src/
如果根目录存在 CONTEXT-MAP.md,说明该仓库有多个上下文。这张映射表指明每个上下文所在的位置:
/
├── CONTEXT-MAP.md
├── docs/
│ └── adr/ ← 系统级决策
├── src/
│ ├── ordering/
│ │ ├── CONTEXT.md
│ │ └── docs/adr/ ← 上下文专属决策
│ └── billing/
│ ├── CONTEXT.md
│ └── docs/adr/
延迟创建文件——只在你确实有内容要写时才创建。如果 CONTEXT.md 尚不存在,就在第一个术语被确定下来时创建它。如果 docs/adr/ 尚不存在,就在第一次需要 ADR 时创建它。
会话进行中
对照词汇表提出挑战
当用户使用的术语与 CONTEXT.md 中现有语言相冲突时,立刻指出来。"你的词汇表把 'cancellation' 定义为 X,但你现在的意思似乎是 Y——到底是哪个?"
打磨模糊的语言
当用户使用含糊或含义过载的术语时,提出一个精确的规范术语。"你说的是 'account'——你指的是 Customer 还是 User?这是两个不同的东西。"
讨论具体场景
在讨论领域关系时,用具体场景来压力测试它们。构造能探测边界情形的场景,迫使用户对概念之间的边界表述得更精确。
与代码交叉验证
当用户陈述某个东西如何工作时,检查代码是否认同。如果发现矛盾,就把它摆出来:"你的代码取消的是整个 Order,但你刚才说可以部分取消——哪个才对?"
就地更新 CONTEXT.md
当一个术语被确定下来时,当场更新 CONTEXT.md。不要把它们攒起来批量处理——在它们发生时就捕获下来。使用 CONTEXT-FORMAT.md 中的格式。
CONTEXT.md 应当完全不含实现细节。不要把 CONTEXT.md 当作规格说明、草稿本或实现决策的存放处。它是一份词汇表,仅此而已。
谨慎地提供 ADR
只有当以下三点全部成立时,才提议创建 ADR:
- 难以逆转——日后改变主意的代价是显著的
- 缺乏上下文就会令人意外——未来的读者会疑惑"他们当初为什么要这么做?"
- 是一次真实权衡的结果——确实存在其他可选方案,而你出于特定理由选择了其中之一
只要三者中缺少任何一条,就跳过 ADR。使用 ADR-FORMAT.md 中的格式。
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 75 lines · 48 tokens per session scan A c42621be73af
domain-modeling is a skill published in the GitHub repository astordu/qoderharness (23 stars, last pushed yesterday), licensed MIT. It adds 48 tokens to every session and 928 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…