Loading...
Loading...
Found 35 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.
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 sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a CONTEXT.md, or recording or editing an ADR.
Modeling business domains. Aggregates, value objects, domain events, rich models, repositories.
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.
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing, or editing a CONTEXT.md.
Define and maintain the codebase's shared domain terms and architectural decisions.
Descobrir e refinar linguagem ubíqua de domínio, invariantes, eventos, aggregates e bounded contexts a partir de cenários concretos, evitando anemic domain model. Use quando termos, regras ou ownership de dados estiverem ambíguos, dois times usarem a mesma palavra com sentido diferente, ou uma decisão de modelo for necessária; não criar documentação paralela à fonte autorizada; não use para decisão de infraestrutura ou deployment, use `$specsfy-specialist-software-architecture` para isso.
Analisar e evoluir arquitetura com boundaries, direção de dependência, atributos de qualidade mensuráveis, ADRs, custo operacional, migração e trade-offs entre monólito modular e serviços distribuídos. Use para modularização, coupling, escalabilidade, resiliência ou decisões caras de reverter; não use para renomeação local sem impacto estrutural nem para escolher a fronteira de um único domínio, use `$specsfy-specialist-domain-modeling` para isso primeiro.
Turn an idea into a well-structured Linear project ready for hands-off parallel execution. Conversational — asks clarifying questions before scaffolding. Outputs a Linear project, per-scope-item tickets, and `.handoffs/<slug>/tickets.yaml` — the machine contract /project-start consumes (with file surface and per-ticket dependencies). Reads `.claude/conventions.yaml` for Linear team / ticket-prefix conventions. Requires the `/grilling` and `/domain-modeling` skills (mattpocock/skills).
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".
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).