Back to Skills

ubiquitous-language

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

2,530stars207forksUpdated 7/28/2026

Security Assessment

Safe(97/100)
Security Score97/100

About ubiquitous-language

This skill extracts and formalizes a Domain-Driven Design style ubiquitous language glossary from the current conversation, flags ambiguities, proposes canonical terms, and saves the result to a UBIQUITOUS_LANGUAGE.md file. It is a Chinese-localized (zh-CN) version of a Matt Pocock skill and solves a recurring domain-modeling problem: teams unknowingly use the same word for different concepts, or different words for the same concept, leading to confusion in requirements and code. By producing an opinionated, consistent glossary, it tightens the shared vocabulary between developers and domain experts.

The process scans the conversation for domain-relevant nouns, verbs, and concepts, identifies ambiguity and synonym problems, proposes a canonical glossary grouped into tables (for example by subdomain, lifecycle, or actor), and writes a structured Markdown file to the working directory before summarizing inline. The output format includes term/definition/aliases-to-avoid tables, an explicit relationships section expressing cardinality, a short worked dialogue between a developer and a domain expert demonstrating precise term usage, and a flagged-ambiguities section with recommendations. Documented rules keep it disciplined: be opinionated when choosing a canonical term, keep definitions to one sentence describing what a term is (not what it does), include only domain-meaningful terms while skipping generic programming concepts, and show relationships with bolded term names. On re-invocation within the same conversation it reads the existing file, merges new terms, updates definitions, re-flags ambiguities, and rewrites the example dialogue.

It targets software teams practicing Domain-Driven Design who want to define domain terms, build a vocabulary, or tighten terminology, and triggers on mentions of domain model or DDD. Note the skill is marked with disable-model-invocation and lives in a deprecated path, so it is intended for explicit invocation. It only reads conversation text and writes a single local Markdown file, making it a benign documentation-generation tool.

FAQ

What does this skill produce?

A UBIQUITOUS_LANGUAGE.md file in the working directory containing term/definition/aliases tables grouped by subdomain, lifecycle or actor, a relationships section, a flagged-ambiguities section with recommendations, and a short example dialogue between a developer and a domain expert, plus an inline summary in the conversation.

Where does it get its terms?

It scans the current conversation for domain-relevant nouns, verbs, and concepts, then identifies ambiguities (one word for multiple concepts) and synonyms (multiple words for one concept), and proposes a canonical glossary.

What happens if I run it again in the same conversation?

It reads the existing UBIQUITOUS_LANGUAGE.md, merges new terms from later discussion, updates definitions as understanding evolves, re-flags any new ambiguities, and rewrites the example dialogue to incorporate the new terms.

Are there any usage caveats?

The skill is a Chinese-localized version marked disable-model-invocation and located in a deprecated path, so it is meant to be invoked explicitly. It only includes domain-meaningful terms and skips generic programming concepts like array, function, or endpoint unless they carry domain-specific meaning.

All Files

2 files
SKILL.md3.9 KB
View
agents/openai.yaml0.1 KB
View

Install ubiquitous-language

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill