What problem does it solve?
Large or long-lived codebases often become tightly coupled, hard to test, and expensive to change; this Skill provides structured guidance to separate concerns, enforce boundaries, and make systems maintainable and evolvable. It helps teams avoid common anti-patterns like anemic domains, god objects, and leaky abstractions while prioritizing testability and clear module responsibilities.
Core Features & Use Cases
- Layered Architecture Guidance: Recommend Clean Architecture or Hexagonal layouts and describe dependency rules and layer responsibilities.
- Domain Modeling with DDD: Identify bounded contexts, aggregates, entities, value objects, domain events, and repository interfaces.
- SOLID & Pattern Enforcement: Advise on applying SOLID principles and selecting creational, structural, and behavioral patterns (Factory, Repository, Adapter, Strategy, Observer, etc.).
- Folder Blueprints & Composition Root: Provide concrete folder structures, module names, and a composition root for dependency injection and wiring.
- Refactoring & Legacy Strategy: Suggest Strangler Fig approaches, incremental extract techniques, and CQRS/event-driven transitions for microservices or monoliths.
- Use Cases: Designing a new service with DDD, refactoring legacy systems, planning microservice boundaries, or implementing testable business workflows.
Quick Start
Use the software-architecture skill to generate a Clean Architecture folder blueprint and DDD bounded context plan for an e-commerce order service.