From rails-agent-skills
Resolves fuzzy business terminology in Ruby on Rails DDD discussions by identifying canonical terms, mapping synonyms, resolving conflicts, and generating glossaries.
npx claudepluginhub igmarin/rails-agent-skills --plugin rails-agent-skillsThis skill uses the workspace's default tool permissions.
Use this skill when the domain language is fuzzy, overloaded, or inconsistent.
Maintains project thesaurus following DDD ubiquitous language principles for consistent domain-aligned naming of variables, functions, classes, DB fields, APIs, events, files, and directories.
Extracts DDD-style glossary of domain terms from conversations into UBIQUITOUS_LANGUAGE.md, flags ambiguities and synonyms, proposes canonical terms.
Extracts DDD-style ubiquitous language glossary from conversation, flags ambiguities, proposes canonical terms, and saves to UBIQUITOUS_LANGUAGE.md. For defining domain terms or DDD discussions.
Share bugs, ideas, or general feedback.
Use this skill when the domain language is fuzzy, overloaded, or inconsistent.
Core principle: Agree on business language before choosing models, services, or boundaries.
| Topic | Rule |
|---|---|
| Canonical term | Pick one business term for one concept |
| Synonyms | Capture them, then choose one preferred term |
| Overloaded words | Flag them early; split meanings explicitly |
| Naming | Prefer business meaning over technical shorthand |
| Output | Return a usable glossary, not abstract theory |
DO NOT introduce DDD terminology without grounding it in the user's real domain language.
DO NOT rename code concepts until the glossary is explicit enough to justify the change.
ALWAYS flag overloaded or conflicting terms before recommending modeling changes.
ddd-boundaries-review when the glossary reveals multiple contexts, or to ddd-rails-modeling when the main problem is tactical modeling in Rails.grep -rh "^class \|^module " app/models app/controllers app/services --include="*.rb" | sort
ddd-boundaries-review, ddd-rails-modeling, or create-prd / generate-tasks depending on the workflow stage.When using this skill, return:
Minimal example (one row):
| Canonical term | Aliases | Definition | Invariant | Context |
|---|---|---|---|---|
| Shipment | Parcel, Package | Physical goods sent to a customer address | Must reference a valid Order | Fulfillment |
Open questions: Does "Parcel" ever mean an internal warehouse bin ID? If yes, split into two glossary entries.
See assets/examples.md for a full worked glossary example and common mistakes.
| Skill | When to chain |
|---|---|
| create-prd | When a PRD needs cleaner business language before approval |
| ddd-boundaries-review | When the glossary suggests multiple bounded contexts or language leakage |
| ddd-rails-modeling | When the terms are clear enough to decide entities, value objects, and services |
| rails-architecture-review | When naming confusion already appears in the code structure |