domain-modeling
1. Bilingual SKILL.md
左右滑动可直接切换英文版与中文版;两种语言按段落自动对齐。英文中的蓝色虚线词语可点击查看解释。共标记 16 处。
Entry SHA-256: 327a2b50620e2fd70abc6893cd6965e76b20f8d0adb0dc2c8d5eb3845efb643e
2. Why This Skill Is Clever
一句话核心机制
它把领域建模变成会话内的持续校准回路:术语冲突 → 具体场景 → 代码核验 → 当场记录,并把词汇事实与实现决策分开存放。
触发与边界
直接来源: 描述明确限定了触发面:讨论代码库术语、编写或编辑 CONTEXT.md、记录或编辑 ADR 时使用。正文又用 “when you're changing the model, not just consuming it” 排除了仅仅读取术语表的情况。因此它不是所有工程任务的默认前置步骤,而是模型发生变化时的主动纪律。
辅助上下文: agents/openai.yaml 只提供显示名称与短描述,没有添加隐式调用政策;是否自动触发仍取决于具体 harness 如何解释 skill 描述。
信息架构 / 执行顺序
- 先判断仓库是单一语境,还是由根目录
CONTEXT-MAP.md指向多个语境。 - 会话中持续监测语言冲突和含糊术语,提出规范名称。
- 用具体边界案例对领域关系做压力测试。
- 把用户陈述与代码交叉核对,主动暴露不一致。
- 术语一旦确定就写入纯术语表
CONTEXT.md,不延迟批处理。 - 只有难以逆转、缺少背景会令人意外、且来自真实权衡时,才单独记录 ADR。
最巧妙的设计点
1. 用否定边界保护触发精度
“not just consuming it”
直接来源: 技能明确区分“读取模型”和“改变模型”。这避免简单查词也启动一整套建模流程,降低过度介入和文档噪声。
2. 用具体场景把词义争论变成可判定问题
“stress-test them with specific scenarios”
直接来源: 与其抽象争论 “Account” 的定义,它要求构造退款、部分取消等边界案例。场景迫使参与者说明实体关系和责任边界,使语言选择能够被行为事实检验。
3. 让代码成为独立证据源
“check whether the code agrees”
直接来源: 口头模型并不自动获胜,当前实现也不自动获胜;发现冲突时把选择交还给用户。这种做法将“文档同步”升级为模型与现实之间的显式对账。
4. 在上下文最完整时捕获知识
“Don't batch these up”
直接来源: 确认术语后立即写入,避免会话结束时依靠记忆批量回填。即时记录既减少遗漏,也保留了决策刚成形时的语义精度。
5. 用两种文件承担不同知识寿命
“It is a glossary and nothing else.”
直接来源: CONTEXT.md 只保存领域语言,ADR 只保存值得解释的实现决策。辅助上下文: CONTEXT-FORMAT.md 进一步要求定义简短、列出应避免的近义词;ADR-FORMAT.md 则允许 ADR 只有一个段落。两者都在压制模板膨胀,但没有把实现事实混入术语表。
6. 用三重门槛阻止 ADR 通胀
“Only offer to create an ADR when all three are true”
直接来源: 三个条件是“并且”关系,不是任选其一。它过滤掉容易逆转、无需解释或根本没有备选项的普通决定,让未来读者更愿意信任 ADR 集合中的信号。
防失败机制与 trade-off
明确不变量: CONTEXT.md 不得包含实现细节;术语确定后当场写入;ADR 必须同时通过三项门槛;多语境仓库由 CONTEXT-MAP.md 定位。
解释与权衡: 即时写文件提高一致性,但会增加会话中的小幅写入频率;用现有代码核验能发现漂移,却不能证明代码一定代表正确业务;只保留少量 ADR 提高信噪比,也可能漏掉后来才显出重要性的决定。文件位置和 Markdown 模板是仓库约定,迁移到 wiki、数据库或不同 agent harness 时需要适配。
可迁移原则
- 为技能写清“主动改变”与“被动读取”的触发边界。
- 用边界案例消除术语歧义,而不是只靠抽象定义。
- 把用户陈述与可执行现实作为独立证据交叉核验。
- 知识一旦定型就就地持久化,避免脱离上下文后批量回忆。
- 不同寿命、不同性质的知识应进入不同载体,并为高成本文档设置准入门槛。
今日实践题
如果团队把 Customer、User 和 Account 混着使用,你会设计哪两个具体边界场景,来迫使三者的身份、权限和生命周期被分别定义?
Evidence note
主要机制与所有引文均来自本次选中的 SKILL.md;文件模板细节来自同目录的 CONTEXT-FORMAT.md、ADR-FORMAT.md 和 agents/openai.yaml,仅作为辅助上下文;对信噪比、知识寿命和迁移风险的判断属于设计解释。
Source & provenance
- Repository path
- skills/engineering/domain-modeling/SKILL.md
- Generated
- 2026-09-02 08:23 Asia/Shanghai
- Upstream commit
- 6654f6b60cd9d5be8b54c6fafe44346dabeb3b76
- Source
- View on GitHub