---
id: daily-ubiquitous-language
name: "ubiquitous-language"
url: https://skills.yangsir.net/skill/daily-ubiquitous-language
author: mattpocock
domain: ai-agent-memory-knowledge
tags: ["technical-writing", "documentation", "knowledge-management", "glossary"]
install_count: 204500
rating: 4.80 (33 reviews)
github: https://github.com/mattpocock/skills
---

# ubiquitous-language

> 从对话中自动提取领域术语并形成统一词汇表，消除同名异义问题，保存为本地文件供团队参考

**Stats**: 204,500 installs · 4.8/5 (33 reviews)

## Before / After 对比

### 术语管理效率

**Before**:

手动记录术语时，同一概念在不同文档中用词不一致，新人理解困难，反复沟通确认术语含义

**After**:

自动提取并统一术语定义，消除同名异义问题，新人快速理解领域语言，减少沟通误解

| Metric | Before | After | Change |
|---|---|---|---|
| 沟通效率 | 40% | 85% | +113% |

## Readme

# 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.md`** in 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 Installs367Repository[mattpocock/skills](https://github.com/mattpocock/skills)GitHub Stars4.6KFirst Seen4 days agoSecurity Audits[Gen Agent Trust HubPass](/mattpocock/skills/ubiquitous-language/security/agent-trust-hub)[SocketPass](/mattpocock/skills/ubiquitous-language/security/socket)[SnykPass](/mattpocock/skills/ubiquitous-language/security/snyk)Installed oncodex348cursor345opencode343gemini-cli338github-copilot337kimi-cli337

---
*Source: https://skills.yangsir.net/skill/daily-ubiquitous-language*
*Markdown mirror: https://skills.yangsir.net/api/skill/daily-ubiquitous-language/markdown*