ubiquitous-language
Skill0 starsChanged 6 months agoMITView on GitHub
[Deprecated by ADR-0010] Legacy single-file glossary at docs/UBIQUITOUS_LANGUAGE.md. New terms now use /glossary:new (new-glossary-entry skill). Retained for fork compatibility only — should not auto-trigger.
63 other projects use a version of this.
Adopted by
Most recently taken up by
- aegntic/compound-engineeringtheir own version, first seen Nov 8, 2026
- chrislacey89/skillstheir own version, first seen Nov 4, 2026
- Boom-Vitt/skills-thaitheir own version, first seen Nov 1, 2026
- kishan-ict/skillstheir own version, first seen Nov 1, 2026
- Future-CX/AI-Architecture-Toolkittheir own version, first seen Nov 1, 2026
- hmjBill/skillstheir own version, first seen Oct 29, 2026
Used with
Projects with it also use request-refactor-plan, edit-article and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
simo97Skillrequest-refactor-plan
Use this skill when user wants to create a refactor plan.
Also in 40 projects that use this
simo97Skilledit-article
The user will invoke this skill to help them edit an article.
Also in 34 projects that use this
AnasX7Skillscaffold-exercises
Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.
Also in 29 projects that use this
HK-hubSkillprd-to-plan
Turn a PRD into a multi-phase implementation plan using tracer-bullet vertical slices, saved as a local Markdown file in ./plans/. Use when user wants to break down a PRD, create an implementation plan, plan phases from a PRD, or mentions "tracer bullets".
Also in 9 projects that use this
boyingliu01Skillbatch-grill-me
A relentless interview that asks every frontier question at once, round by round. Thin alias of `grilling` (#540) — upstream mattpocock/skills absorbed this protocol into grilling; XP-Gate keeps this name as the sprint-flow Phase 2 entry point so orchestration docs stay stable.
Also in 5 projects that use this
AnasX7Skillsetup-pre-commit
Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.
Also in 37 projects that use this
- +4 more from simo97
Other versions63 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 63
- karlomikus/bar-assistant★ 1.1ksame name
- amazingloft999-droid/mattpocock-skills★ 422same name
- InditexTech/weavejs★ 266same name
- loulanyue/skills★ 231same name
- ayoubben18/ab-method★ 192same name
- CodeAlive-AI/ai-driven-development★ 169same name
- aurorasoft2/Matt_Pocock_Skills★ 133same name
- VisualxIntelligence/mattpocok-skills★ 55same name
- jan-bogaerts/md2★ 42same name
- metrogg/AgentHub★ 19same name
53 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository45 other files it gives its agents.
- AGENTS.mdAGENTS.md
- plugin-v2/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- plugin-v2/CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/agents.mdcCursor rule
- agentic-security-reviewSkill
- arc42-baselineSkill
- caveman-commitSkill
- caveman-helpSkill
- caveman-reviewSkill
- cavemanSkill
- create-goalSkill
- design-twiceSkill
- discovery-sprintSkill
- domain-contextSkill
- github-project-setupSkill
- grillSkill
- improve-codebase-architectureSkill
- issue-breakdownSkill
- issue-draftSkill
- issue-pr-syncSkill
- new-adrSkill
- new-glossary-entrySkill
- orchestrateSkill
- portfolio-trackSkill
- product-pageSkill
- project-reviewSkill
- project-runSkill
- project-scaffoldingSkill
- quality-assuranceSkill
- quality-metricsSkill
- record-decisionSkill
- review-fixSkill
- roadmap-managementSkill
- sales-cycleSkill
- specorator-designSkill
- specorator-improvementSkill
- specorator-onboardSkill
- stock-takingSkill
- tackle-issueSkill
- tdd-cycleSkill
- token-budget-reviewSkill
- tracer-bulletSkill
- verifySkill
The file
We split this skill into the rules it gives an agent
10 rules. 0 are common, 6 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 59 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 20
After Evans's "ubiquitous language" and Pocock's ubiquitous-language skill.
- Very specific: line 62
Read the current UBIQUITOUS_LANGUAGE.md.
- Distinctive: line 67
Write the entry: term in bold, one-sentence definition in domain language, list of synonyms to avoid, optional notes.
- Very specific: line 68
Update Last updated and by.
- Distinctive: line 72
Update the definition in place.
- Very specific: line 74
Add a one-line note in the term's row: Refined <YYYY-MM-DD> in workflow <slug>.
- Distinctive: line 82
One canonical term per concept: No synonyms in active use.
- Distinctive: line 84
Examples beat definitions: When a definition is hard to write, add one to the example dialogue.
- Distinctive: line 85
Lazy creation: Don't scaffold an empty glossary.
- Distinctive: line 86
Plain Markdown: No framework-specific syntax, no front-matter — this file should survive any tooling change.
“Common” is measured: kept by at least 6 in 10 of the 59 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
⚠️ Deprecated by ADR-0010.
New glossary terms go in
docs/glossary/<slug>.mdvia/glossary:new "<term>"(handled by thenew-glossary-entryskill). Refining existing per-term entries also goes through that skill — see its "How to use" §2 for the in-place refinement flow.This skill is retained but not auto-triggered for new work. It exists so that:
- Projects forked from earlier template versions that already have a populated
docs/UBIQUITOUS_LANGUAGE.mdcan still read these procedures if they choose not to migrate.- Cross-references from older artifacts to this skill keep resolving.
If you arrived here from a
/ubiquitous-languageinvocation, prefer/glossary:newinstead. To migrate an existingUBIQUITOUS_LANGUAGE.mdto the per-file model, copy each table row into a newdocs/glossary/<slug>.mdderived fromtemplates/glossary-entry-template.md, then mark the original file with a deprecation banner.
Ubiquitous language
After Evans's "ubiquitous language" and Pocock's ubiquitous-language skill. The glossary is the contract for vocabulary across the spec → design → spec → tasks → code chain. Drift here causes drift everywhere downstream.
File layout
docs/UBIQUITOUS_LANGUAGE.mdSingle file at repo root. Never sharded — sharding defeats the purpose of a single shared vocabulary.
Format
# Ubiquitous language
_Last updated: <YYYY-MM-DD> by <agent>_
The canonical vocabulary for talking about this system. Every requirement, design, spec, task, ADR, and code identifier should use these terms exactly. If a term is missing or fuzzy, file a PR or run the `ubiquitous-language` skill to add it.
## Subdomain: <Subdomain name>
| Term | Definition | Synonyms (avoid) | Notes |
|---|---|---|---|
| **Subscriber** | A user who has an active paid plan. | Customer, paying user | Distinguished from **Trialist** (active trial) and **Lapsed** (canceled). |
(Repeat per subdomain. Subdomains map to bounded contexts in `docs/CONTEXT.md` or to top-level product areas.)
## Flagged ambiguities
Terms that are currently ambiguous, with the active workflow that will resolve them.
- **Account** vs **User** vs **Profile** — _resolving in workflow `2026-04-26-add-user-profile`_
## Example dialogue
A 3–5 exchange dialogue using the glossary correctly, so an agent reading this file knows what "good" sounds like in this project's voice.Procedure
When a new term is coined
- Read the current
UBIQUITOUS_LANGUAGE.md. If absent, scaffold from the template. - Identify the subdomain the term belongs to.
- Check for collisions:
- Same word, different meaning elsewhere? Disambiguate explicitly (
Account (billing)vsAccount (auth)). - Different word, same meaning? Pick one canonical term and list the others as "avoid" synonyms.
- Same word, different meaning elsewhere? Disambiguate explicitly (
- Write the entry: term in bold, one-sentence definition in domain language, list of synonyms to avoid, optional notes.
- Update
Last updatedandby.
When a term is refined (definition shifts)
- Update the definition in place.
- Search the codebase and
specs/for old usages — ambiguous usages are bugs. Surface a list to the user; don't silently rewrite spec files. - Add a one-line note in the term's row:
Refined <YYYY-MM-DD> in workflow <slug>.
When ambiguity is flagged
A stage agent may report that a requirement uses a term in two senses. Add an entry to Flagged ambiguities linking to the active workflow. The next iteration of the relevant stage must resolve it.
Rules
- One canonical term per concept. No synonyms in active use. Synonyms are explicitly listed as "avoid."
- Domain language, not implementation language. "Subscriber" not "UserModel"; "Order" not "OrderRecord".
- Examples beat definitions. When a definition is hard to write, add one to the example dialogue.
- Lazy creation. Don't scaffold an empty glossary. Wait for the first real term.
- Plain Markdown. No framework-specific syntax, no front-matter — this file should survive any tooling change.
Relationship to other artifacts
docs/CONTEXT.md— uses these terms exactly; defers to this file for definitions.docs/steering/product.md— uses these terms exactly; refining a term may require a steering update.specs/<slug>/requirements.md— every EARS clause uses these terms exactly (perdocs/ears-notation.mddiscipline).- Code identifiers — class, function, and variable names should mirror these terms (within language conventions). The reviewer agent enforces this.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

