What problem does it solve?
This Skill helps you choose and defend the right software architecture when code is getting hard to change, hard to test, or overloaded with unnecessary patterns. It reduces accidental complexity by steering decisions around module boundaries, dependency direction, state management, and runtime patterns.
Core Features & Use Cases
- Macro architecture selection: Compare layered, hexagonal, onion, clean, modular monolith, microservices, vertical slice, and event-driven structures.
- Boundary and dependency guidance: Define ports, enforce inward dependencies, prevent cycles, and translate at system edges.
- Runtime pattern selection: Choose between strategy, command, observer, state machine, pooling, memoization, reactive state, and async workflow patterns.
- Use case: You are refactoring a growing app and need to decide whether to keep it layered, introduce ports and adapters, split into modules, or centralize cross-cutting concerns at the boundaries.
Quick Start
Ask the skill to assess your current codebase and recommend the simplest architecture that fits your business rules, dependencies, and change patterns.