What problem does it solve?
It helps you eliminate a monolithic “god object” by restructuring your system into bounded domains using Domain-Driven Design, so responsibilities are separated, code is testable, and evolution is safer.
Core Features & Use Cases
- Bounded Context Decomposition: Breaks an oversized core module (e.g., an orchestrator) into focused domains like task management, session management, and health monitoring.
- Clean Architecture Layering: Organizes code by Presentation, Application, Domain, and Infrastructure to enforce dependency direction and reduce coupling.
- Microkernel + Plugin Pattern: Establishes a kernel that loads core domains and supports optional domain plugins with explicit dependencies.
- Domain Events for Integration: Uses domain events and handlers to coordinate cross-domain changes without direct dependencies.
- Test-Ready Domain Interfaces: Defines entities, value objects, services, repositories, and event handlers so business logic can be validated independently.
Use case: When an orchestrator grows to 1,000+ lines, extract each responsibility into a bounded context, wire domain events between contexts, and expose application use cases that orchestrate transactions without mixing domain rules.
Quick Start
Use the skill to analyze your current orchestrator file, propose bounded-context boundaries, and generate a microkernel-based module layout with domain interfaces and event-driven integration.