一键导入
ubiquitous-language
从当前对话中提取 DDD 风格的通用语言(Ubiquitous Language)词汇表,标记歧义并提出规范术语。保存到 UBIQUITOUS_LANGUAGE.md。当用户想要定义领域术语、构建词汇表、强化术语体系、创建通用语言,或提到"领域模型"或"DDD"时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
从当前对话中提取 DDD 风格的通用语言(Ubiquitous Language)词汇表,标记歧义并提出规范术语。保存到 UBIQUITOUS_LANGUAGE.md。当用户想要定义领域术语、构建词汇表、强化术语体系、创建通用语言,或提到"领域模型"或"DDD"时使用。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
一轮一轮地同时询问所有前沿问题,进行无情的盘问。
把你无法独自回答的决策转化为一份问卷,交给别人来填写。
使用并行子代理为一个模块生成多种截然不同的接口设计方案。当用户想要设计 API、探索接口选项、比较模块形态,或提到"设计两次"时使用。
交互式 QA 会话,用户以对话形式报告 bug 或问题,代理负责提交 GitHub Issue。在后台探索代码库以获取上下文和领域语言。当用户想要报告 bug、进行 QA、以对话形式提交 Issue,或提到"QA session"时使用。
通过用户访谈创建包含微小提交的详细重构计划,然后将其提交为 GitHub Issue。当用户想要规划重构、创建重构 RFC,或将重构拆分为安全的增量步骤时使用。
询问哪种技能或流程适合你的情况。本仓库中技能的路由器。
| name | ubiquitous-language |
| description | 从当前对话中提取 DDD 风格的通用语言(Ubiquitous Language)词汇表,标记歧义并提出规范术语。保存到 UBIQUITOUS_LANGUAGE.md。当用户想要定义领域术语、构建词汇表、强化术语体系、创建通用语言,或提到"领域模型"或"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** 产生一个或多个 **Invoices**
## 示例对话
> **Dev:**"当 **Customer** 下了一个 **Order**,我们会立即创建 **Invoice** 吗?"
> **领域专家:**"不——**Invoice** 只有在 **Fulfillment** 确认后才会生成。如果商品分多个 **Shipments** 发货,一个 **Order** 可以产生多个 **Invoices**。"
> **Dev:**"那么如果 **Shipment** 在发货前被取消,就不会有对应的 **Invoice** 了?"
> **领域专家:**"正是。**Invoice** 的生命周期与 **Fulfillment** 绑定,而不是与 **Order** 绑定。"
## 已标记的歧义
- "account" 被用来既指代 **Customer** 又指代 **User**——这是两个不同的概念:**Customer** 下订单,而 **User** 是一种认证身份,可能代表也可能不代表一个 **Customer**。
Dev:"我如何在没有 Docker 的情况下测试 sync service?"
领域专家:"提供 filesystem layer 来代替 Docker layer。它实现了相同的 Sandbox service 接口,但使用本地目录作为 sandbox。"
Dev:"那么 sync-in 仍然会创建 bundle 并解包?"
领域专家:"没错。sync service 并不知道它正在与哪个 layer 通信。它调用
exec和copyIn——filesystem layer 只是将这些作为本地 shell 命令执行。"
在同一个对话中再次调用时:
UBIQUITOUS_LANGUAGE.md