ubiquitous-language/SKILL.md
Extract a DDD ubiquitous language glossary from conversation context into UBIQUITOUS_LANGUAGE.md, scoped to a Bounded Context. Triggers on "ubiquitous language", "domain glossary", "define terms", "DDD", "domain model", "harden terminology".
npx skillsauth add sanurb/skills ubiquitous-languageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Turn messy domain conversations into a single-source-of-truth glossary scoped to one Bounded Context. One concept = one canonical term. Every ambiguity resolved, never deferred.
Extract. Read the full conversation. Identify the Bounded Context — ask the user if unclear. For every domain noun, verb, process, or concept, create a candidate entry: term | kind | definition | aliases to avoid. Kind is one of: Entity, Value Object, Command, Event, Policy. Skip generic programming words (array, endpoint, function) unless they carry domain-specific meaning. If UBIQUITOUS_LANGUAGE.md already exists in the working directory, read it first — existing terms are the baseline. New terms add, conflicts overwrite with the latest understanding, stale terms stay unless contradicted.
Resolve. Walk the candidate list and classify every problem as one of two types. Within-context ambiguity (same word → different meanings inside this Bounded Context): pick ONE canonical term, write a recommendation, list alternatives as aliases to avoid. Cross-context term (word means something different in another Bounded Context): note the boundary — do not merge, do not force-resolve. Both types go in Flagged Ambiguities with their classification. If zero issues exist, write "No ambiguities detected" — never leave empty, never write "TBD".
Write. Produce UBIQUITOUS_LANGUAGE.md in the working directory following the exact structure in output-format.md. Then print an inline summary: N terms | M ambiguities flagged | K terms needing domain expert input.
N terms | M ambiguities flagged | K terms needing domain expert input.File: UBIQUITOUS_LANGUAGE.md in the current working directory.
Format: output-format.md.
Inline: summary line after file is written.
development
Sets up an `## Agent skills` block in AGENTS.md/CLAUDE.md and `docs/agents/` so the engineering skills know this repo's issue tracker (GitHub, GitLab, fp, or local markdown), triage label vocabulary, and domain doc layout. Run before first use of `fp-plan`, `fp-implement`, `fp-review`, `to-issues`, `to-prd`, `triage`, `diagnose`, `tdd`, `improve-codebase-architecture`, or `zoom-out` — or if those skills appear to be missing context about the issue tracker, triage labels, or domain docs.
development
Build a throwaway prototype to flush out a design before committing to it. Routes between two branches — a runnable terminal app for state/business-logic questions, or several radically different UI variations toggleable from one route. Use when the user wants to prototype, sanity-check a data model or state machine, mock up a UI, explore design options, or says "prototype this", "let me play with it", "try a few designs".
tools
Control herdr (a terminal-native agent multiplexer) from inside it. Manage workspaces and tabs, split panes, spawn sibling agents, read pane output, and wait for state changes — all via CLI commands that talk to the running herdr instance over a local unix socket. Use when running inside herdr (HERDR_ENV=1). Do not use outside herdr.
documentation
Compact the current conversation into a handoff document for another agent to pick up.