agentic-readiness
Audit and improve repositories for reliable agentic work across Codex and Codex App, Claude Code, and OpenCode. Use when…
Maintain a project thesaurus (domain glossary) following DDD ubiquitous language principles. Use PROACTIVELY when naming anything: variables, functions, classes, modules, database fields, API endpoints, events, files, or directories. Also use when the user asks to "create
$ npx -y skills add CodeAlive-AI/ai-driven-development --skill ubiquitous-language --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ubiquitous-languageContext preview
The summary Claude sees to decide when to auto-load this skill.
Maintain a project thesaurus (domain glossary) following DDD ubiquitous language principles. Use PROACTIVELY when naming anything: variables, functions, classes, modules, database fields, API endpoints, events, files, or directories. Also use when the user asks to "create
name: ubiquitous-language description: | Maintain a project thesaurus (domain glossary) following DDD ubiquitous language principles. Use PROACTIVELY when naming anything: variables, functions, classes, modules, database fields, API endpoints, events, files, or directories. Also use when the user asks to "create thesaurus", "update glossary", "add term", "rename to match domain", "check naming consistency", "what should I call this", "domain language", "ubiquitous language", or "naming conventions". Ensures all names in the codebase are consistent, descriptive, and aligned with the shared domain vocabulary. Also mines git history to resolve naming ambiguities — when a name was born, which name replaced which, which spelling is dying. Not for general code style or linting — only for domain term consistency. metadata: version: "2.1.0" thesaurus-format: "2.0" allowed-tools: - Read - Write - Edit - Grep - Glob - Bash - Agent - AskUserQuestion
You enforce naming consistency across the codebase by maintaining a living thesaurus of domain terms and consulting it every time something needs a name.
**Four modes:**
when `## Unresolved` items need evidence: which name came first, which replaced which, which is dying. Offered after generation, or on demand against an existing thesaurus.
This skill combines two bodies of knowledge:
> "A project should use a single, shared vocabulary. Every name in code, docs, APIs, > and conversations must map to a term in the thesaurus. If a concept isn't in the > thesaurus — add it before naming anything." > > — Domain-Driven Design, Eric Evans
**The codebase is primary evidence, not automatic authority.** Use code to discover which terms are currently in circulation. Use the thesaurus and user input to decide which terms SHOULD be canonical.
map existing code names to `## Legacy` lines and use the user's terms as canonical
**Tacit knowledge**: For areas not yet implemented, the most important domain knowledge exists only in experts' heads, not in any artifact.
**Locating the thesaurus:** 1. If the user specified a path — use it 2. If `THESAURUS.md` already exists somewhere in the repo — use that location 3. Default: `docs/THESAURUS.md`
Single source of truth for domain vocabulary.
The thesaurus declares its **format version** and the skill that maintains it in YAML frontmatter — machine-readable, outside the body, still one grep away:
--- thesaurus-format: "2.0" skill: ubiquitous-language --- # Project Thesaurus
Quote the version — unquoted `2.10` is the YAML float `2.1`.
(the pre-index prose layout shipped before skill 2.0) — unless the file already has ``- **Term** `Id` kind: `` Index lines: that is an unstamped 2.0 file from plugin 9.2.0; just add the stamp.
minor/patch releases never change the format.
migration first (see generating-thesaurus.md); a minor gap means new optional tokens — older readers keep working, you may add the tokens as you touch lines.
to update the skill.
it would go stale on every edit and `git log` already answers "who wrote this". `skill:` is a pointer, so an agent without the skill knows what to install.
| Format | Layout | Skill | |--------|--------|-------| | 1.0 | `### Term` entries with `Synonyms to AVOID`; `## Legacy Terms` entries; `## Forbidden Lexicon` table | ≤ 1.x (plugin ≤ 9.1.1) | | 2.0 | grep-first: `## Index` lines with `kind:`/`ctx:`/`avoid:`, `use:` Forbidden lines, `→` Legacy lines, SKOS bridges | 2.x |
The file is designed so that **one `rg`/`grep` for any name answers "what do I do with this name?"** without reading the surrounding text. Five sections, fixed order:
| Section | Shape | One line answers | |---------|-------|------------------| | `## Index` | one line per concept | "Is there a term for this? Which name is canonical? What is banned?" | | `## Terms` | `### Term` entries | "What exactly does it mean / not mean / relate to?" | | `## Forbidden` | one line per word | "Is this word banned from domain names?" | | `## Legacy` | one line per old name | "This old name is in t
Practices, protocols, and skills for AI-driven software development. Skills and safety hooks for Claude Code, Codex, OpenCode, Cursor, Antigravity, and any agent supporting the Agent Skills standard.
Audit and improve repositories for reliable agentic work across Codex and Codex App, Claude Code, and OpenCode. Use when…
8-step disciplined bug-fix protocol that treats every production bug as two failures — the code defect itself and the testing…
Copy text to clipboard with optional rich formatting. Triggers on "copy to clipboard", "copy that", "pbcopy", "copy formatted",…
Software-engineering heuristics based on Mark Seemann's Code That Fits in Your Head (2021), updated for agent-driven development.…
Fetch a web page (URL) and return clean Markdown via local trafilatura, with Exa MCP as a fallback for JS-rendered or anti-bot…
Use First Principles Framework (FPF) to decompose problems, architect systems, evaluate alternatives, define quality, qualify and…