U

ubiquitous-language

by @mattpocockv
4.8(33)

会話からドメイン用語を自動抽出し、統一された用語集を作成して同名異義の問題を解消し、チーム参照用にローカルファイルとして保存します。

technical-writingdocumentationknowledge-managementglossaryGitHub
インストール方法
npx skills add https://github.com/mattpocock/skills --skill ubiquitous-language
compare_arrows

Before / After 効果比較

1
使用前

用語を手動で記録する際、同じ概念が異なる文書間で一貫性のない言葉で表現され、新入社員が理解しにくく、用語の意味を確認するために繰り返しコミュニケーションが必要でした。

使用後

用語定義を自動的に抽出し統一することで、同名異義語の問題を解消し、新入社員が専門用語を素早く理解できるようになり、コミュニケーションの誤解を減らします。

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.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 Installs367Repositorymattpocock/skillsGitHub Stars4.6KFirst Seen4 days agoSecurity AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled oncodex348cursor345opencode343gemini-cli338github-copilot337kimi-cli337

ユーザーレビュー (0)

レビューを書く

効果
使いやすさ
ドキュメント
互換性

レビューなし

統計データ

インストール数204.5K
評価4.8 / 5.0
バージョン
更新日2026年9月19日
比較事例1 件

ユーザー評価

4.8(33)
5
39%
4
48%
3
12%
2
0%
1
0%

この Skill を評価

0.0

対応プラットフォーム

🔧Claude Code

タイムライン

作成2026年3月20日
最終更新2026年9月19日
🎁 Agent 知識カード
アンケート