Find ubiquitous language
Skills for developing software carefully and steadily. Plan tasks, review code, and refine design to improve overall quality.
npx -y skills add kt3k/skills --skill find-ubiquitous-languageAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Analyze the codebase to discover and extract the ubiquitous language. Identify domain terms, their definitions, and how consistently they are used.
SKILL.md
2.5 KB, as published. Nobody here has run it
Find Ubiquitous Language Skill
Analyze the codebase to extract the ubiquitous language — the shared vocabulary between developers and domain experts that should be consistently reflected in the code.
Analysis Flow
-
Scan the domain layer: Read domain models, entities, value objects, aggregates, services, and events to identify key domain terms.
-
Scan supporting layers: Check application services, API endpoints, database schemas, and documentation for additional terms and potential inconsistencies.
-
Build the glossary: For each discovered term, record:
- Term: The canonical name
- Definition: What it means in the business domain
- Code locations: Where it appears (classes, methods, variables, tables)
- Aliases/Inconsistencies: Alternative names used for the same concept (e.g.,
UservsAccountvsCustomerfor the same entity)
-
Identify problems:
- Synonyms: Multiple names for the same concept
- Homonyms: Same name used for different concepts in different contexts
- Missing terms: Business concepts that exist implicitly but have no explicit representation in code
- Technical leakage: Domain terms polluted with technical jargon
-
Output format:
## Ubiquitous Language: <project name> ### Glossary | Term | Definition | Code Locations | Issues | |-------------|--------------------------------|-------------------------|---------------| | Order | A customer's purchase request | `src/domain/Order.ts` | — | | Customer | A registered buyer | `src/domain/User.ts` | Called "User" in code | | ... | ... | ... | ... | ### Inconsistencies #### 1. <Issue title> - **Concept**: The business concept involved - **Variants found**: List of different names used - **Recommendation**: Which term to standardize on and why ### Missing Terms - <Business concepts that should be explicit in code but aren't>
Guidelines
- Focus on domain-meaningful terms, not generic programming terms.
- When in doubt about the business meaning, note the ambiguity rather than guessing.
- Do NOT make changes. This skill only produces the analysis.