Ubiquitous Language in Artificial Intelligence (AI)-augmented development
Ubiquitous Language in Artificial Intelligence (AI)-augmented development: domain glossaries, naming consistency, and long-term codebase coherence
- Domain-Driven Design sources define Ubiquitous Language as a shared, rigorous vocabulary used in conversations, code, and evolving domain models, so the practice is fundamentally about ambiguity reduction rather than stylistic naming preferenceFowler (2006)Openpracticelibrary (n.d.)
- Open Practice Library and Matt Pocock's public skill both operationalize Ubiquitous Language as a maintained glossary artifact with canonical terms, definitions, aliases to avoid, and visible review, which provides a concrete artifact model rather than only an abstract naming principleOpenpracticelibrary (n.d.)Pocock (2025)Pocock (2025)
- Code-generation studies show that modest changes to natural-language problem statements can materially change correctness, with NLPerturbator reporting up to a 21.2% performance drop under real-world prompt variations and Code Roulette showing sensitivity to user background and prompt augmentationsChen et al. (2024)Paleyes et al. (2025)
- Clarification-before-code studies show that making requirements linguistically richer before generation improves output quality, including Wang et al.'s reported increase from 70.96% to 80.80% Pass@1 on Mostly Basic Python Problems (MBPP)-sanitized tasks, which supports the same ambiguity-reduction mechanism that a domain glossary is meant to provideWang et al. (2023)Miao et al. (2025)
- Current agent workflow guidance from Anthropic and GitHub recommends persistent repository instruction files, specification files, memory files, and precise language, which means a short glossary file fits the dominant cross-session control pattern for keeping agents focused on the right termsAnthropic (2025)Blog (2025)Github (n.d.)
- Matt Pocock's deprecated but still public Ubiquitous Language skill makes the AI-specific mechanics explicit: scan conversations for domain nouns and verbs, flag synonyms and overloaded terms, choose canonical vocabulary, and externalize the result into a reusable glossary filePocock (2025)Pocock (2025)
- The glossary-specific benefit is most defensible when the failure mode is domain-term ambiguity, because current evidence does not show that glossary files outperform any other persistent structured context artifact on tasks whose terminology is already settledWang et al. (2023)Miao et al. (2025)Anthropic (2025)Blog (2025)
- The accessible evidence base supports living Ubiquitous Language as a medium-to-high-return practice for long-lived, domain-heavy codebases, but it does not yet justify a universal multiplier because direct glossary-versus-no-glossary longitudinal repository experiments remain missing and some benefit may come from structured context more generallyOpenpracticelibrary (n.d.)Anthropic (2025)Blog (2025)Github (n.d.)Wang et al. (2023)
Research Question
How significantly does maintaining a living Ubiquitous Language (UL), in the Domain-Driven Design (DDD) sense of a shared, precise domain vocabulary used consistently in both code and conversation, improve the precision and consistency of Artificial Intelligence (AI)-generated code, reduce AI verbosity, and prevent naming drift across a growing codebase over time?
Findings
Executive Summary
Living Ubiquitous Language (UL) maintenance is very likely to improve the precision and naming consistency of Artificial Intelligence (AI)-generated code, but current public evidence supports that conclusion mainly through mechanism-level studies on ambiguity sensitivity rather than through glossary-only trials. The strongest direct evidence is that code-generation quality changes materially when wording changes or when models ask clarifying questions before writing code, which suggests terminology is part of the causal input rather than incidental phrasing. Matt Pocock's public UL skill shows one concrete way to operationalize that insight: externalize canonical terms, aliases to avoid, and domain relationships into a reusable glossary file that future sessions can reload. The remaining uncertainty is about magnitude, because direct measures of reduced verbosity, reduced rename churn, or slower naming drift over long repository lifecycles are not yet accessible in the public literature reviewed here.
Key Findings
- Domain-Driven Design sources define Ubiquitous Language as a shared, rigorous vocabulary used in conversations, code, and evolving domain models, so the practice is fundamentally about ambiguity reduction rather than stylistic naming preference.
- Open Practice Library and Matt Pocock's public skill both operationalize Ubiquitous Language as a maintained glossary artifact with canonical terms, definitions, aliases to avoid, and visible review, which provides a concrete artifact model rather than only an abstract naming principle.
- Code-generation studies show that modest changes to natural-language problem statements can materially change correctness, with NLPerturbator reporting up to a 21.2% performance drop under real-world prompt variations and Code Roulette showing sensitivity to user background and prompt augmentations.
- Clarification-before-code studies show that making requirements linguistically richer before generation improves output quality, including Wang et al.'s reported increase from 70.96% to 80.80% Pass@1 on Mostly Basic Python Problems (MBPP)-sanitized tasks, which supports the same ambiguity-reduction mechanism that a domain glossary is meant to provide.
- Current agent workflow guidance from Anthropic and GitHub recommends persistent repository instruction files, specification files, memory files, and precise language, which means a short glossary file fits the dominant cross-session control pattern for keeping agents focused on the right terms.
- Matt Pocock's deprecated but still public Ubiquitous Language skill makes the AI-specific mechanics explicit: scan conversations for domain nouns and verbs, flag synonyms and overloaded terms, choose canonical vocabulary, and externalize the result into a reusable glossary file.
- The glossary-specific benefit is most defensible when the failure mode is domain-term ambiguity, because current evidence does not show that glossary files outperform any other persistent structured context artifact on tasks whose terminology is already settled.
- The accessible evidence base supports living Ubiquitous Language as a medium-to-high-return practice for long-lived, domain-heavy codebases, but it does not yet justify a universal multiplier because direct glossary-versus-no-glossary longitudinal repository experiments remain missing and some benefit may come from structured context more generally.
Assumptions
- The current public Pocock GitHub skill is an acceptable substitute for the dead Total TypeScript seed URL because it exposes the same underlying glossary mechanic in first-party form. Justification: the skill file and repository README are first-party sources describing the glossary output directly.
- The absence of a direct glossary intervention study means long-run naming-drift and verbosity claims must be inferred from prompt-sensitivity, clarification, and workflow-guidance evidence rather than asserted as measured facts. Justification: the accessible literature reviewed here measures wording sensitivity and clarification benefit, not glossary-specific repository outcomes.
- Open Practice Library's recommendation to store the glossary in git generalizes to AI instruction ecosystems where glossary files are loaded as durable project context. Justification: current Anthropic and GitHub workflow guidance already treat small repository files as the normal way to preserve reusable agent context.
Analysis
The evidence base is asymmetric: DDD sources directly justify why shared vocabulary matters, while AI-specific studies directly show that wording and clarification materially change code outcomes. A live competing explanation is that much of the observed gain may come from any structured clarification phase or persistent context artifact, not from glossary-specific vocabulary control by itself. The reason glossary discipline still looks valuable is that it is the smallest artifact in this evidence set that targets lexical ambiguity directly by fixing canonical terms, aliases to avoid, and relationships before those distinctions spread through code and conversation. Anthropic and GitHub guidance also explain why the artifact must stay short and versioned, because persistent instruction files only work when they fit scarce context budget and remain easy to reload across sessions. The likely economic pattern is therefore high leverage on long-lived domains with repeated feature work and lower leverage on disposable or one-off tasks, where glossary maintenance would not have time to amortize.
Risks, Gaps, and Uncertainties
- [assumption] The accessible literature clusters around prompt robustness, clarification, and workflow guidance rather than glossary-only experiments, so the direct empirical base for naming-drift prevention remains thin. Justification: the consulted accessible sources on code generation focus on prompt perturbation, clarifying questions, and persistent context artifacts.
- Pocock's UL skill is published in the deprecated section of his repository, so it is evidence of a real mechanic but not proof that it remains a current flagship workflow component.
- Two seeded academic URLs resolved to unrelated papers rather than the claimed code-generation studies, which reduced the amount of directly reusable seed evidence and required source substitution.
- Clarification studies measure better-specified task prompts, not long-running repository naming governance, so their support for glossary maintenance is mechanistic rather than direct.
- Some of the observed benefit may come from generic structured context and clarification rather than from vocabulary control specifically, so the glossary-specific uplift should be treated as incremental rather than isolated.
Open Questions
- What is the smallest glossary structure that captures most of the precision benefit without adding enough maintenance burden to be ignored?
- Can repository instrumentation measure naming drift directly, for example by tracking synonym introduction, rename churn, or reviewer comments on domain terminology?
- Should glossary enforcement happen only through context loading, or should linters, code review templates, and architecture checks also reject aliases-to-avoid?
- Can an agent safely propose glossary updates from repository changes without creating circular drift in the glossary itself?
sources
- [x] Evans (2015) Domain-Driven Design Reference
- [x] Fowler (2006) Ubiquitous Language
- [x] Open Practice Library Ubiquitous Language
- [x] Pocock (2025) Ubiquitous Language skill
- [x] Pocock (2025) Deprecated skills README
- [x] Pocock (2025) 5 Agent Skills I Use Every Day
- [x] White et al. (2023) Prompt Pattern Catalog
- [x] Liang et al. (2023) Practices and Challenges of Using GitHub Copilot: An Empirical Study
- [x] Wang et al. (2023) Clarification-before-code framework
- [x] Chen et al. (2024) NLPerturbator prompt-robustness study
- [x] Paleyes et al. (2025) Code Roulette prompt-variability study
- [x] Miao et al. (2025) ClariGen: Bridging Instruction Gaps via Interactive Clarification in Code Generation
- [x] Anthropic (2025) Claude Code best practices
- [x] GitHub Blog (2025) How to build reliable AI workflows with agentic primitives and context engineering