ubiquitous-language
从当前对话中提炼出一份 DDD 风格的通用语言(ubiquitous language)术语表,标记歧义并提出规范术语。保存到 UBIQUITOUS_LANGUAGE.md。当用户想定义领域术语、构建术语表、固化用词、创建通用语言,或提到 "domain model" 或 "DDD" 时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
从当前对话中提炼出一份 DDD 风格的通用语言(ubiquitous language)术语表,标记歧义并提出规范术语。保存到 UBIQUITOUS_LANGUAGE.md。当用户想定义领域术语、构建术语表、固化用词、创建通用语言,或提到 "domain model" 或 "DDD" 时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
使用并行子代理为一个模块生成多个截然不同的接口设计。当用户想设计 API、探索接口方案、对比模块形态,或提到 "design it twice" 时使用。
交互式 QA 会话,用户以对话方式报告 bug 或问题,代理负责提交 GitHub issue。会在后台探索代码库以获取上下文和领域语言。当用户想报告 bug、做 QA、以对话方式提交 issue,或提到 "QA session" 时使用。
通过用户访谈创建一份带有微小提交(tiny commits)的详细重构计划,然后将其作为 GitHub issue 提交。当用户想规划一次重构、创建重构 RFC,或将一次重构拆分为安全的增量步骤时使用。
询问哪个技能或流程适合你当前的处境。它是本仓库中各技能的路由器。
从两个轴向审查某个固定点(commit、branch、tag 或 merge-base)以来的变更——Standards(代码是否遵循本仓库记录的编码规范?)和 Spec(代码是否符合源起的 issue/PRD 的要求?)。在并行子智能体中运行两项审查,并把它们并排报告。当用户想审查一个分支、一个 PR、进行中的变更,或要求 "review since X" 时使用。
用于设计深模块的共享词汇。当用户想设计或改进一个模块的接口、寻找深化机会、决定接缝放在何处、让代码更可测试或更易于 AI 导航,或当另一个技能需要深模块词汇时使用。
| name | ubiquitous-language |
| description | 从当前对话中提炼出一份 DDD 风格的通用语言(ubiquitous language)术语表,标记歧义并提出规范术语。保存到 UBIQUITOUS_LANGUAGE.md。当用户想定义领域术语、构建术语表、固化用词、创建通用语言,或提到 "domain model" 或 "DDD" 时使用。 |
| disable-model-invocation | true |
从当前对话中提取领域术语并将其规范化为一份一致的术语表,保存到本地文件。
UBIQUITOUS_LANGUAGE.md,使用下面的格式写一个 UBIQUITOUS_LANGUAGE.md 文件,结构如下:
# 通用语言
## 订单生命周期
| 术语 | 定义 | 应避免的别名 |
| ----------- | ------------------------------------------------- | --------------------- |
| **Order** | 客户购买一个或多个商品的请求 | Purchase, transaction |
| **Invoice** | 交付后发送给客户的付款请求 | Bill, payment request |
## 人员
| 术语 | 定义 | 应避免的别名 |
| ------------ | ------------------------------------------- | ---------------------- |
| **Customer** | 下订单的个人或组织 | Client, buyer, account |
| **User** | 系统中的一个认证身份 | Login, account |
## 关系
- 一个 **Invoice** 恰好属于一个 **Customer**
- 一个 **Order** 产生一个或多个 **Invoice**
## 示例对话
> **开发者:** "当一个 **Customer** 下了一个 **Order**,我们会立即创建 **Invoice** 吗?"
> **领域专家:** "不会——只有在 **Fulfillment** 被确认后才会生成 **Invoice**。如果商品分开在不同的 **Shipment** 中发货,单个 **Order** 可以产生多个 **Invoice**。"
> **开发者:** "那如果一个 **Shipment** 在发货前被取消,就不会为它生成 **Invoice**?"
> **领域专家:** "正是如此。**Invoice** 的生命周期绑定在 **Fulfillment** 上,而不是 **Order** 上。"
## 标记出的歧义
- "account" 被用来同时表示 **Customer** 和 **User**——这是两个不同的概念:**Customer** 下订单,而 **User** 是一个认证身份,它可能代表也可能不代表一个 **Customer**。
开发者: "我怎么在没有 Docker 的情况下测试 sync service?"
领域专家: "改为提供 filesystem layer,而不是 Docker layer。它实现了相同的 Sandbox service 接口,但使用一个本地目录作为 sandbox。"
开发者: "那 sync-in 仍然会创建一个 bundle 并解包它?"
领域专家: "正是。sync service 并不知道它在和哪一层对话。它调用
exec和copyIn——filesystem layer 只是把这些当作本地 shell 命令来运行。"
当在同一对话中再次被调用时:
UBIQUITOUS_LANGUAGE.md