From mattpocock-skills
Extracts DDD-style ubiquitous language glossary from conversation, flags ambiguities, and proposes canonical terms. Saves to UBIQUITOUS_LANGUAGE.md.
How this skill is triggered — by the user, by Claude, or both
Slash command
/mattpocock-skills:ubiquitous-languageThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
从当前 conversation 中提取并形式化 domain terminology,整理成一致 glossary,并保存到本地文件。
从当前 conversation 中提取并形式化 domain terminology,整理成一致 glossary,并保存到本地文件。
UBIQUITOUS_LANGUAGE.md,在 working directory 中使用下面格式写一个 UBIQUITOUS_LANGUAGE.md 文件,结构如下:
# Ubiquitous Language
## Order lifecycle
| Term | Definition | Aliases to avoid |
| ----------- | ------------------------------------------------------- | --------------------- |
| **Order** | A customer's request to purchase one or more items | Purchase, transaction |
| **Invoice** | A request for payment sent to a customer after delivery | Bill, payment request |
## People
| Term | Definition | Aliases to avoid |
| ------------ | ------------------------------------------- | ---------------------- |
| **Customer** | A person or organization that places orders | Client, buyer, account |
| **User** | An authentication identity in the system | Login, account |
## Relationships
- An **Invoice** belongs to exactly one **Customer**
- An **Order** produces one or more **Invoices**
## Example dialogue
> **Dev:** "When a **Customer** places an **Order**, do we create the **Invoice** immediately?"
> **Domain expert:** "No — an **Invoice** is only generated once a **Fulfillment** is confirmed. A single **Order** can produce multiple **Invoices** if items ship in separate **Shipments**."
> **Dev:** "So if a **Shipment** is cancelled before dispatch, no **Invoice** exists for it?"
> **Domain expert:** "Exactly. The **Invoice** lifecycle is tied to the **Fulfillment**, not the **Order**."
## Flagged ambiguities
- "account" was used to mean both **Customer** and **User** — these are distinct concepts: a **Customer** places orders, while a **User** is an authentication identity that may or may not represent a **Customer**.
Dev: "How do I test the sync service without Docker?"
Domain expert: "Provide the filesystem layer instead of the Docker layer. It implements the same Sandbox service interface but uses a local directory as the sandbox."
Dev: "So sync-in still creates a bundle and unpacks it?"
Domain expert: "Exactly. The sync service doesn't know which layer it's talking to. It calls
execandcopyIn— the filesystem layer just runs those as local shell commands."
在同一 conversation 中再次调用时:
UBIQUITOUS_LANGUAGE.mdnpx claudepluginhub vinvcn/mattpocock-skills-zh-cnExtracts DDD-style ubiquitous language glossary from conversations, identifies domain terms, flags ambiguities, and saves to UBIQUITOUS_LANGUAGE.md.
Extracts a DDD-style glossary from the current conversation into UBIQUITOUS_LANGUAGE.md, flags ambiguities and synonyms, and proposes opinionated canonical terms.
Extracts canonical domain terms into CONTEXT.md, flags ambiguities and synonyms. Use when authoring or updating CONTEXT.md or when a new domain term emerges.