Loading...
Loading...
Found 29 Skills
Build and sharpen a project's domain model. Use when the user wants to pin down domain terminology or a ubiquitous language, record an architectural decision, or when another skill needs to maintain the domain model.
Modeling business domains. Aggregates, value objects, domain events, rich models, repositories.
Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.
How to test domain models effectively: value object testing (immutability, validation), entity testing (identity, business logic), domain exception testing, aggregate testing, high coverage patterns (95%+), and testing invariants and constraints. Use when: Testing domain layer code, validating value objects, testing entities with business logic, ensuring domain invariants, or achieving 95%+ coverage on domain models.
Identifies domain modules, ownership boundaries, dependencies, and interfaces using Domain-Driven Design principles. Provides domain maps, bounded contexts, refactor recommendations. Use for "DDD", "domain modeling", "bounded contexts", or "service boundaries".
Domain modeling principles: parse-don't-validate, make invalid states unrepresentable, primitive obsession detection, semantic types, and domain veto authority. Activate when designing types, reviewing code for domain integrity, or when domain review is needed in a TDD cycle.
Build and refine the project's domain model. Suitable for users who want to clarify domain terms or ubiquitous language, record architectural decisions, or when other skills need to maintain the domain model.
Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.
Extract a DDD-style ubiquitous language glossary from the current conversation, flagging ambiguities and proposing canonical terms. Saves to UBIQUITOUS_LANGUAGE.md. Use when user wants to define domain terms, build a glossary, harden terminology, create a ubiquitous language, or mentions "domain model" or "DDD".
Use the DRI Text Analysis Method (Data-Rule-Interaction) to perform word-by-word decomposition and domain modeling on natural language requirement descriptions. Reduce unstructured business requirement texts to structured architectural abstractions in three dimensions: Data (D), Rule (R), and Interaction (I), and directly generate conceptual tables usable for system design. It is suitable for requirement analysis, ubiquitous language extraction, text parsing before architecture design, and converting long requirement documents into clear development task decompositions.
Detects anemic domain models, validates and refactors them into rich domain models, and enforces tactical DDD patterns (Entities, Value Objects, Aggregates, Domain Services, Domain Events). Use when the user asks to validate, review, or check domain models or DDD code; detect anemia; refactor domain objects; improve encapsulation; or mentions terms like "anemic model", "rich domain", "aggregate", "value object", "domain event", "ubiquitous language", "is this good DDD", "does this follow DDD", or "check my domain". Do NOT use for module or service boundary design, architectural decomposition, strategic DDD context mapping, or code outside the domain layer (DTOs, controllers, infrastructure adapters).
从当前 conversation 提取 DDD-style ubiquitous language glossary,标记 ambiguities 并提出 canonical terms。保存到 UBIQUITOUS_LANGUAGE.md。Use when user wants to define domain terms, build a glossary, harden terminology, create a ubiquitous language, or mentions "domain model" or "DDD".