MCPInstall

ubiquitous-language

从当前对话提取 DDD 风格的 ubiquitous language glossary,标记歧义并提出标准术语。保存到 UBIQUITOUSLANGUAGE.md。适用于用户想定义领域术语、构建词汇表、收紧术语、创建通用语言,或提到 “domain model” / “DDD” 时。

Installs
2.1K
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/vinvcn/mattpocock-skills-zh-cn --skill ubiquitous-language
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads ubiquitous-language automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Ubiquitous Language

从当前 conversation 中提取并形式化 domain terminology,整理成一致 glossary,并保存到本地文件。

Process

  1. Scan the conversation,寻找 domain-relevant nouns、verbs 和 concepts
  2. Identify problems:
    • 同一个词被用于不同 concepts(ambiguity)
    • 不同词被用于同一个 concept(synonyms)
    • 模糊或 overloaded terms
  3. Propose a canonical glossary,对 term 选择保持 opinionated
  4. Write to UBIQUITOUS_LANGUAGE.md,在 working directory 中使用下面格式
  5. Output a summary,在 conversation 中内联总结

Output Format

写一个 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**.

Rules

  • Be opinionated. 同一概念有多个词时,选择最好的一个,并把其他列为 aliases to avoid。
  • Flag conflicts explicitly. 如果 term 在 conversation 中被模糊使用,在 "Flagged ambiguities" section 中指出,并给出明确 recommendation。
  • Only include terms relevant for domain experts. 除非 module 或 class 名在 domain language 中有意义,否则跳过。
  • Keep definitions tight. 最多一句。定义它是什么,不定义它做什么。
  • Show relationships. 使用粗体 term names,并在明显时表达 cardinality。
  • Only include domain terms. 跳过 generic programming concepts(array、function、endpoint),除非它们有 domain-specific meaning。
  • Group terms into multiple tables,当自然 clusters 出现时使用(例如按 subdomain、lifecycle 或 actor)。每组有自己的 heading 和 table。如果所有 terms 属于一个 cohesive domain,一个 table 就够,不要强行分组。
  • Write an example dialogue. 写一段 dev 与 domain expert 之间的短对话(3-5 exchanges),展示 terms 如何自然互动。对话应澄清相关 concepts 的边界,并展示精确使用 terms。
<example>

Example dialogue

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 exec and copyIn — the filesystem layer just runs those as local shell commands."

</example>

Re-running

在同一 conversation 中再次调用时:

  1. 读取已有 UBIQUITOUS_LANGUAGE.md
  2. 合并后续讨论中的新 terms
  3. 如果理解演进,更新 definitions
  4. 重新标记任何新 ambiguities
  5. 重写 example dialogue 以纳入新 terms

FAQ

What does the ubiquitous-language skill do?

从当前对话提取 DDD 风格的 ubiquitous language glossary,标记歧义并提出标准术语。保存到 UBIQUITOUSLANGUAGE.md。适用于用户想定义领域术语、构建词汇表、收紧术语、创建通用语言,或提到 “domain model” / “DDD” 时。

How do I install ubiquitous-language?

Run npx skills add https://github.com/vinvcn/mattpocock-skills-zh-cn --skill ubiquitous-language in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/ubiquitous-language/ (personal) or .claude/skills/ubiquitous-language/ (project).

Which AI agents can use ubiquitous-language?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is ubiquitous-language safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains ubiquitous-language?

It is published by vinvcn in vinvcn/mattpocock-skills-zh-cn. It has 2,111 recorded installs.

More from vinvcn/mattpocock-skills-zh-cn

View all →

grill-me

vinvcn/mattpocock-skills-zh-cn

一个用来打磨计划或设计的持续追问式访谈。

6.7K installs

grill-with-docs

vinvcn/mattpocock-skills-zh-cn

一个用来打磨计划或设计的持续追问式访谈,并在过程中创建文档(ADRs 和词汇表)。

Docs & Writing6.3K installs

setup-matt-pocock-skills

vinvcn/mattpocock-skills-zh-cn

为此仓库配置 engineering skills:设置其 issue tracker、triage labels 词汇与 domain docs 布局。在首次使用其他 engineering skills 前运行一次。

Docs & Writing6K installs

tdd

vinvcn/mattpocock-skills-zh-cn

测试驱动开发。适用于用户想用先写测试的方式构建功能或修复缺陷、提到 “red-green-refactor”,或需要集成测试时。

Testing & QA5.9K installs

handoff

vinvcn/mattpocock-skills-zh-cn

把当前对话压缩成交接文档,让另一个代理接手。

improve-codebase-architecture

vinvcn/mattpocock-skills-zh-cn

扫描代码库中的深化机会,生成可视化 HTML 报告,然后围绕你选中的候选项继续追问。

Popular other skills

View category →

hyperframes-cli

heygen-com/hyperframes

The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.

1.3M installs

triage

mattpocock/skills

Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.

1M installs

ask-matt

mattpocock/skills

Ask which skill or flow fits your situation. A router over the skills in this repo.

778.4K installs

to-questionnaire

mattpocock/skills

Turn a decision you can't fully answer into a questionnaire for someone else to fill in.

508.9K installs

wait-what

mattpocock/skills

Stop. That last message did not land: re-pitch it.

459.7K installs

loop-me

mattpocock/skills

Grill me about specs for the workflows I want to build, within this workspace.

447.9K installs