ubiquitous-language

Aligns business terminology across code, databases, APIs, docs, and tests.

1|Updated Aug 14, 2026
One-click install
npx skills add https://github.com/zhiyuan-zhang0206/Ava --skill ubiquitous-language-zhiyuan-zhang0206
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ubiquitous-language
Source: https://github.com/zhiyuan-zhang0206/Ava/tree/main/ava_builtins/skills/ava-serious-engineering/principles/ubiquitous-language
Command: npx skills add https://github.com/zhiyuan-zhang0206/Ava --skill ubiquitous-language-zhiyuan-zhang0206

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams lose time and introduce bugs when the same business concept is named differently across code, databases, APIs, and documentation, forcing constant mental translation between domain experts and engineers. ## Core Features & Use Cases - Naming Audits: Detects synonyms (two names for one concept) and homonyms (one name for multiple concepts) across the codebase. - Glossary Discipline: Establishes a version-controlled glossary where every business term maps to exactly one class name, DB column, API field, and test fixture. - Ambiguity Resolution: Flags overloaded terms during code review and triggers immediate alignment before merging. - Use Case: When a codebase contains User, Customer, Account, and Member with no clear distinction, use this Skill to inventory the nouns, collapse synonyms, and rename code, schema, and API fields to a single agreed term. ## Quick Start Audit this codebase for inconsistent domain terminology and propose a unified naming glossary.

Frequently Asked Questions about ubiquitous-language

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a ubiquitous language for a software project?▼

Start by writing each core business term in a shared glossary with one definition, then align the class name, database column, API field, and test fixture to that exact term. Run a naming audit on every pull request to reject synonyms or reused terms.

How to find inconsistent naming in a codebase?▼

Conduct a noun inventory listing every domain noun and check whether each word means exactly one thing everywhere it appears. Split words with multiple meanings into distinct concepts and merge overlapping nouns into one name.

What is the difference between a synonym and a homonym problem in code?▼

A synonym problem is two different names for the same concept, such as User and Account coexisting. A homonym problem is one name used for different concepts, such as complete meaning payment confirmed to sales but shipped to the warehouse.

Should the project glossary live in version control?▼

Yes, the glossary should be checked into version control alongside the code and updated with every pull request that introduces or renames a concept. A stale glossary that contradicts the code is treated as a bug.

When should a domain term be split into multiple concepts?▼

Split a term when it means different things to different parts of the business, such as complete meaning payment confirmed, shipped, or reconciled. Give each meaning its own named concept and code representation owned by its Bounded Context.