What problem does it solve? It turns vague architecture questions ("should we use microservices?", "how do I organize modules?", "sync or async here?") into structured decisions with explicit trade-offs, preventing over-engineering and undocumented choices that cause rework months later. ## Core Features & Use Cases - Architecture decision-making: Compares 2-3 structural alternatives (layered, hexagonal, modular monolith, microservices, event-driven) against measurable quality attributes, always recommending the simplest viable option. - Decision records and system views: Produces lean ADRs for hard-to-reverse decisions and renders the right view for the problem (C4 structure, workflow, sequence, data flow, or lifecycle). - Module shape and spike design: Applies the deep-module vocabulary (seams, adapters, deletion test) and designs disposable spikes to validate risky technical assumptions before committing. - Use Case: A team asks whether to split their app into microservices. The skill surfaces the real quality drivers, compares a modular monolith against microservices with pros, cons, and operational cost, and records the decision in an ADR with explicit triggers for revisiting it. ## Quick Start Ask the assistant to evaluate whether microservices are worth it for your application and to record the decision as an ADR.