What problem does it solve? Making and recording sound software architecture decisions under uncertainty is hard: teams over-engineer with premature microservices, lose decision rationale, and let design practices like ADRs die without an operating model. This Skill provides a practitioner reference for applying the right design technique at the right scale. ## Core Features & Use Cases - Decision Frameworks: Apply JEDUF, Type 1/Type 2 reversibility analysis, ADRs (Nygard, MADR, Y-Statements), and the Architecture Advice Process to record and govern trade-off decisions. - Architecture Patterns & Diagrams: Use the C4 model, hexagonal/clean architecture, event-driven patterns, DDD strategic/tactical patterns, event storming, and the monolith-first doctrine with concrete escalation thresholds. - Governance & Quality: Enforce architecture with fitness functions (ArchUnit, dependency-cruiser, NetArchTest), resilience patterns (circuit breaker, bulkhead, saga), and benchmarks that diagnose distributed monoliths and AI-driven maintainability debt. - Use Case: When designing a new greenfield system, walk the C4 sequence from system context to containers, record irreversible decisions as ADRs in source control, and start with a modular monolith guarded by build-failing dependency rules. ## Quick Start Ask the AI to help design a new system or review an architecture decision using the software-design skill, for example by requesting an ADR for choosing between a modular monolith and microservices.