{"id":"911fd4c1-9eea-4851-8417-09ebbd4da13e","shortId":"QBQmjy","kind":"skill","title":"domain-glossary","tagline":"Extract a DDD-style ubiquitous language glossary from the current conversation.","description":"# Ubiquitous Language Glossary\n\nThis skill turns an ongoing conversation into a **DDD-style ubiquitous language** document. It scans for domain terms, resolves ambiguities, proposes canonical names, and writes a living glossary to `DOMAIN_GLOSSARY.md` in the working directory.\n\n## When to Use\n\nUse this skill when:\n\n- You’re discussing a domain, feature, product, or system and want **shared language**.\n- You mention “ubiquitous language”, “domain model”, or “DDD”.\n- You keep tripping over overloaded terms (“account”, “user”, “customer”) and want them nailed down.\n\nYou can re-run this skill as the conversation evolves to keep the glossary up to date.\n\n## Process\n\n1. **Scan the conversation and context**\n\n   - Read the current conversation, plus any attached docs or PRDs, for **domain-relevant** nouns, verbs, and concepts.\n   - Ignore generic technical terms (array, function, endpoint) unless they carry domain meaning here.\n\n2. **Detect language problems**\n\n   Identify and note where:\n\n   - The **same word** is used for different concepts (ambiguity).\n   - **Different words** are used for the same concept (synonyms).\n   - Terms are vague, overloaded, or inconsistently applied.\n\n3. **Propose a canonical glossary**\n\n   - Choose **one canonical term per concept** and be opinionated about names.\n   - For each term, write a **tight, one‑sentence definition** that says what it *is*, not how it’s implemented.\n   - List “aliases to avoid” so everyone sees which terms should be retired in this context.\n\n4. **Group terms into sections**\n\n   - Group related terms under headings (e.g. “Order lifecycle”, “People”, “Billing”, “Content model”).\n   - Each group gets its own Markdown table with columns: `Term`, `Definition`, `Aliases to avoid`.\n   - If everything belongs to a single cohesive cluster, one table is fine—don’t force fake groupings.\n\n5. **Describe relationships**\n\n   - Add a “Relationships” section that describes how the key terms relate to each other in plain language.\n   - Use bold term names and, where obvious, simple cardinalities (e.g. “An **Order** has many **Line items**”).\n\n6. **Write an example dialogue**\n\n   - Add a short example conversation (3–5 exchanges) between a developer and a domain expert.\n   - Use the canonical terms consistently and show how they interact in a realistic scenario.\n   - Use this dialogue to clarify boundaries between easily-confused terms.\n\n7. **Write or update `DOMAIN_GLOSSARY.md`**\n\n   - If the file does not exist, create it with the structure described above.\n   - If it exists, read it first, merge in new understanding, and update it in place.\n\n## Re-running\n\nWhen invoked again in the same repo or conversation:\n\n1. Read the existing `DOMAIN_GLOSSARY.md`.\n2. Merge in new terms introduced since the last run.\n3. Update definitions where understanding has clearly evolved.\n4. Mark changed entries with “(updated)” and new entries with “(new)”.\n5. Add any new ambiguities you’ve observed to “Flagged ambiguities”.\n6. Refresh the example dialogue so it reflects the latest terms and relationships.\n\n## Output format\n\n`DOMAIN_GLOSSARY.md` should roughly follow this pattern (adapt as needed):\n\n```markdown\n# Ubiquitous Language\n\n## <Domain cluster 1>\n\n| Term | Definition | Aliases to avoid |\n|------|------------|------------------|\n| **Order** | A customer's request to purchase one or more items | Purchase, transaction |\n| **Invoice** | A request for payment sent to a customer after delivery | Bill, payment request |\n\n## <Domain cluster 2>\n\n| Term | Definition | Aliases to avoid |\n|------|------------|------------------|\n| **Customer** | A person or organization that places orders | Client, buyer, account |\n| **User** | An authentication identity in the system | Login, account |\n\n## Relationships\n\n- An **Invoice** belongs to exactly one **Customer**.\n- An **Order** produces one or more **Invoices**.\n\n## Example dialogue\n\n> **Dev:** \"When a **Customer** places an **Order**, do we create the **Invoice** immediately?\"\n> **Domain expert:** \"No — an **Invoice** is generated only once a **Shipment** is fulfilled.\"\n> ...\n\n## Flagged ambiguities\n\n- \"account\" is being used to mean both **Customer** and **User**. Prefer **Customer** for the business entity and **User** for authentication.\n```\n\n(Use actual terms from the current domain, not these placeholders.)\n\n## Behavior and Rules\n\n1. Be opinionated. When multiple terms exist for the same concept, pick one canonical word and move others into “aliases to avoid”.\n2. Keep definitions tight. One sentence, focused on identity (“what it is”), not procedure (“what it does”).\n3. Only include domain terms. Skip generic infrastructure vocabulary unless it has a special meaning here.\n4. Call out conflicts. Ambiguous or overloaded terms go into “Flagged ambiguities” with a clear recommendation.\n5. Use the glossary going forward. After writing/updating the file, stick to the canonical terms in subsequent conversation.","tags":["domain","glossary","agent","skills","kambleakash0","agent-skills","ai-agents","ai-assistant","antigravity","automation","claude-code","code-review"],"capabilities":["skill","source-kambleakash0","skill-domain-glossary","topic-agent-skills","topic-ai-agents","topic-ai-assistant","topic-antigravity","topic-automation","topic-claude-code","topic-code-review","topic-codex","topic-cusror","topic-developer-tools","topic-gemini-cli","topic-llm-tools"],"categories":["agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/kambleakash0/agent-skills/domain-glossary","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add kambleakash0/agent-skills","source_repo":"https://github.com/kambleakash0/agent-skills","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 6 github stars · SKILL.md body (4,956 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:14:25.953Z","embedding":null,"createdAt":"2026-05-18T13:22:06.158Z","updatedAt":"2026-05-18T19:14:25.953Z","lastSeenAt":"2026-05-18T19:14:25.953Z","tsv":"'1':115,409,616 '2':152,414,638 '3':185,329,424,655 '4':235,432,671 '5':283,330,443,687 '6':319,454 '7':364 'account':88,528,537,583 'actual':604 'adapt':475 'add':286,324,444 'alias':221,263,483,515,635 'ambigu':39,168,447,453,582,675,682 'appli':184 'array':143 'attach':127 'authent':531,602 'avoid':223,265,485,517,637 'behavior':613 'belong':268,541 'bill':249,510 'bold':304 'boundari':358 'busi':597 'buyer':527 'call':672 'canon':41,188,192,341,629,700 'cardin':311 'carri':148 'chang':434 'choos':190 'clarifi':357 'clear':430,685 'client':526 'cluster':273 'cohes':272 'column':260 'concept':138,167,176,195,626 'conflict':674 'confus':362 'consist':343 'content':250 'context':120,234 'convers':15,24,105,118,124,328,408,704 'creat':375,564 'current':14,123,608 'custom':90,488,507,518,545,558,590,594 'date':113 'ddd':7,28,81 'ddd-style':6,27 'definit':209,262,426,482,514,640 'deliveri':509 'describ':284,291,380 'detect':153 'dev':555 'develop':334 'dialogu':323,355,458,554 'differ':166,169 'directori':53 'discuss':63 'doc':128 'document':32 'domain':2,36,65,78,133,149,337,568,609,658 'domain-glossari':1 'domain-relev':132 'domain_glossary.md':49,368,413,469 'e.g':245,312 'easili':361 'easily-confus':360 'endpoint':145 'entiti':598 'entri':435,440 'everyon':225 'everyth':267 'evolv':106,431 'exact':543 'exampl':322,327,457,553 'exchang':331 'exist':374,384,412,622 'expert':338,569 'extract':4 'fake':281 'featur':66 'file':371,696 'fine':277 'first':387 'flag':452,581,681 'focus':644 'follow':472 'forc':280 'format':468 'forward':692 'fulfil':580 'function':144 'generat':574 'generic':140,661 'get':254 'glossari':3,11,18,47,110,189,690 'go':679,691 'group':236,240,253,282 'head':244 'ident':532,646 'identifi':156 'ignor':139 'immedi':567 'implement':219 'includ':657 'inconsist':183 'infrastructur':662 'interact':348 'introduc':419 'invoic':499,540,552,566,572 'invok':401 'item':318,496 'keep':83,108,639 'key':294 'languag':10,17,31,73,77,154,302,480 'last':422 'latest':463 'lifecycl':247 'line':317 'list':220 'live':46 'login':536 'mani':316 'mark':433 'markdown':257,478 'mean':150,588,669 'mention':75 'merg':388,415 'model':79,251 'move':632 'multipl':620 'nail':94 'name':42,200,306 'need':477 'new':390,417,439,442,446 'note':158 'noun':135 'observ':450 'obvious':309 'one':191,207,274,493,544,549,628,642 'ongo':23 'opinion':198,618 'order':246,314,486,525,547,561 'organ':522 'other':633 'output':467 'overload':86,181,677 'pattern':474 'payment':503,511 'peopl':248 'per':194 'person':520 'pick':627 'place':396,524,559 'placehold':612 'plain':301 'plus':125 'prds':130 'prefer':593 'problem':155 'procedur':651 'process':114 'produc':548 'product':67 'propos':40,186 'purchas':492,497 're':62,99,398 're-run':98,397 'read':121,385,410 'realist':351 'recommend':686 'reflect':461 'refresh':455 'relat':241,296 'relationship':285,288,466,538 'relev':134 'repo':406 'request':490,501,512 'resolv':38 'retir':231 'rough':471 'rule':615 'run':100,399,423 'say':211 'scan':34,116 'scenario':352 'section':239,289 'see':226 'sent':504 'sentenc':208,643 'share':72 'shipment':578 'short':326 'show':345 'simpl':310 'sinc':420 'singl':271 'skill':20,59,102 'skill-domain-glossary' 'skip':660 'source-kambleakash0' 'special':668 'stick':697 'structur':379 'style':8,29 'subsequ':703 'synonym':177 'system':69,535 'tabl':258,275 'technic':141 'term':37,87,142,178,193,203,228,237,242,261,295,305,342,363,418,464,481,513,605,621,659,678,701 'tight':206,641 'topic-agent-skills' 'topic-ai-agents' 'topic-ai-assistant' 'topic-antigravity' 'topic-automation' 'topic-claude-code' 'topic-code-review' 'topic-codex' 'topic-cusror' 'topic-developer-tools' 'topic-gemini-cli' 'topic-llm-tools' 'transact':498 'trip':84 'turn':21 'ubiquit':9,16,30,76,479 'understand':391,428 'unless':146,664 'updat':367,393,425,437 'use':56,57,164,172,303,339,353,586,603,688 'user':89,529,592,600 'vagu':180 've':449 'verb':136 'vocabulari':663 'want':71,92 'word':162,170,630 'work':52 'write':44,204,320,365 'writing/updating':694","prices":[{"id":"88b0317d-896a-431a-a917-ee680234c2fc","listingId":"911fd4c1-9eea-4851-8417-09ebbd4da13e","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"kambleakash0","category":"agent-skills","install_from":"skills.sh"},"createdAt":"2026-05-18T13:22:06.158Z"}],"sources":[{"listingId":"911fd4c1-9eea-4851-8417-09ebbd4da13e","source":"github","sourceId":"kambleakash0/agent-skills/domain-glossary","sourceUrl":"https://github.com/kambleakash0/agent-skills/tree/main/skills/domain-glossary","isPrimary":false,"firstSeenAt":"2026-05-18T13:22:06.158Z","lastSeenAt":"2026-05-18T19:14:25.953Z"}],"details":{"listingId":"911fd4c1-9eea-4851-8417-09ebbd4da13e","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"kambleakash0","slug":"domain-glossary","github":{"repo":"kambleakash0/agent-skills","stars":6,"topics":["agent-skills","ai-agents","ai-assistant","antigravity","automation","claude-code","code-review","codex","cusror","developer-tools","gemini-cli","llm-tools","mcp","prompt-engineering"],"license":"mit","html_url":"https://github.com/kambleakash0/agent-skills","pushed_at":"2026-05-02T07:18:13Z","description":"A curated collection of custom AgentSkills and token-saving MCP servers for extending the capabilities of AI coding assistants like Claude Code.","skill_md_sha":"6af7091cbb5ed17be10f19a1ab1552ec4f0722a1","skill_md_path":"skills/domain-glossary/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/kambleakash0/agent-skills/tree/main/skills/domain-glossary"},"layout":"multi","source":"github","category":"agent-skills","frontmatter":{"name":"domain-glossary","description":"Extract a DDD-style ubiquitous language glossary from the current conversation."},"skills_sh_url":"https://skills.sh/kambleakash0/agent-skills/domain-glossary"},"updatedAt":"2026-05-18T19:14:25.953Z"}}