Use when reviewing a Ruby on Rails app for Domain-Driven Design boundaries, bounded contexts, language leakage, cross-context orchestration, or unclear ownership. Covers context mapping, leakage detection, and smallest credible boundary improvements.
90
87%
Does it follow best practices?
Impact
91%
1.49xAverage score across 3 eval scenarios
Passed
No known issues
Use this skill when the main problem is not syntax or style, but unclear domain boundaries.
Core principle: Fix context leakage before adding more patterns.
| Area | What to check |
|---|---|
| Bounded contexts | Distinct language, rules, and ownership |
| Context leakage | One area reaching across another's concepts casually |
| Shared models | Same object name used with conflicting meanings |
| Orchestration | Use cases coordinating multiple contexts without a clear owner |
| Ownership | Who owns invariants, transitions, and side effects |
DO NOT recommend splitting code into new contexts unless the business boundary is explicit enough to name.
DO NOT treat every large module as a bounded context automatically.
ALWAYS identify the leaked language or ownership conflict before proposing structural changes.ddd-rails-modeling when a context is clear enough to model tactically, or to refactor-safely when boundaries need incremental extraction.Write findings first.
For each finding include:
Then list open questions and recommended next skills.
# Fleet::Reservation confirms booking rules,
# but Billing::InvoiceService reaches into reservation state transitions directly.# Bad review:
# "Create five bounded contexts and event buses"
# without naming the business capabilities or ownership conflicts first.| Mistake | Reality |
|---|---|
| "Everything should become a bounded context" | Many apps only have a few real contexts; over-splitting creates ceremony |
| Reviewing folders without reviewing language | Directory structure alone does not prove domain boundaries |
| Solving context leakage with shared utility modules | Shared utils often hide ownership problems instead of fixing them |
| Recommending a rewrite first | Start with the smallest credible boundary improvement |
| Skill | When to chain |
|---|---|
| ddd-ubiquitous-language | When the review is blocked by fuzzy or overloaded terminology |
| ddd-rails-modeling | When a context is clear and needs entities/value objects/services modeled cleanly |
| rails-architecture-review | When the same problem also needs a broader Rails structure review |
| refactor-safely | When the recommended improvement needs incremental extraction instead of a rewrite |
ae8ea63
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.