ubiquitous-language
从对话中自动提取领域术语并形成统一词汇表,消除同名异义问题,保存为本地文件供团队参考
npx skills add mattpocock/skills --skill ubiquitous-languageBefore / After 效果对比
1 组手动记录术语时,同一概念在不同文档中用词不一致,新人理解困难,反复沟通确认术语含义
自动提取并统一术语定义,消除同名异义问题,新人快速理解领域语言,减少沟通误解
description SKILL.md
ubiquitous-language
Ubiquitous Language
Extract and formalize domain terminology from the current conversation into a consistent glossary, saved to a local file.
Process
-
Scan the conversation for domain-relevant nouns, verbs, and concepts
-
Identify problems:
Same word used for different concepts (ambiguity)
-
Different words used for the same concept (synonyms)
-
Vague or overloaded terms
-
Propose a canonical glossary with opinionated term choices
-
Write to
UBIQUITOUS_LANGUAGE.mdin the working directory using the format below -
Output a summary inline in the conversation
Output Format
Write a UBIQUITOUS_LANGUAGE.md file with this structure:
# 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**.
Rules
-
Be opinionated. When multiple words exist for the same concept, pick the best one and list the others as aliases to avoid.
-
Flag conflicts explicitly. If a term is used ambiguously in the conversation, call it out in the "Flagged ambiguities" section with a clear recommendation.
-
Keep definitions tight. One sentence max. Define what it IS, not what it does.
-
Show relationships. Use bold term names and express cardinality where obvious.
-
Only include domain terms. Skip generic programming concepts (array, function, endpoint) unless they have domain-specific meaning.
-
Group terms into multiple tables when natural clusters emerge (e.g. by subdomain, lifecycle, or actor). Each group gets its own heading and table. If all terms belong to a single cohesive domain, one table is fine — don't force groupings.
-
Write an example dialogue. A short conversation (3-5 exchanges) between a dev and a domain expert that demonstrates how the terms interact naturally. The dialogue should clarify boundaries between related concepts and show terms being used precisely.
Re-running
When invoked again in the same conversation:
-
Read the existing
UBIQUITOUS_LANGUAGE.md -
Incorporate any new terms from subsequent discussion
-
Update definitions if understanding has evolved
-
Mark changed entries with "(updated)" and new entries with "(new)"
-
Re-flag any new ambiguities
-
Rewrite the example dialogue to incorporate new terms
Post-output instruction
After writing the file, state:
I've written/updated UBIQUITOUS_LANGUAGE.md. From this point forward I will use these terms consistently. If I drift from this language or you notice a term that should be added, let me know.
Weekly Installs367Repositorymattpocock/skillsGitHub Stars4.6KFirst Seen4 days agoSecurity AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled oncodex348cursor345opencode343gemini-cli338github-copilot337kimi-cli337
forum用户评价 (0)
发表评价
暂无评价,来写第一条吧
统计数据
用户评分
为此 Skill 评分