What problem does it solve? Choosing the right architecture for a software system is hard: teams often over-engineer with microservices too early, under-document critical decisions, or pick patterns that don't fit their domain. This Skill provides structured guidance for system design, domain modeling, and technical decision-making so architectures stay maintainable and aligned with business needs. ## Core Features & Use Cases - Domain-Driven Design: Identify bounded contexts, aggregates, domain events, and context mappings through event storming. - Architecture Pattern Selection: Compare modular monoliths, microservices, event-driven systems, and CQRS with explicit use-when and avoid-when criteria. - Architecture Decision Records: Capture context, decision, and consequences using a built-in ADR template. - Use Case: A team debating whether to split their monolith into microservices can use this Skill to map bounded contexts, analyze quality attributes like scalability and consistency, and produce an ADR documenting the trade-offs of each option. ## Quick Start Ask the agent to evaluate whether your current system should remain a modular monolith or move to microservices, and to document the decision as an ADR.