What problem does it solve?
Hidden coupling and direct imports between features create fragile systems where a change in one module can break others and make testing difficult; this skill prescribes contracts, inversion of control, and event-driven interactions to keep modules replaceable and independently testable.
Core Features & Use Cases
- Contracts-first design: define clear interfaces before implementations so consumers depend on abstractions rather than concrete modules.
- Dependency inversion & DI: ensure high-level business logic owns contracts while low-level infrastructure implements them, with wiring at the composition root.
- Event-driven side effects: replace direct cross-feature calls with event emissions and listeners to decouple side effects.
- Use Case: When adding an orders feature that needs user data, design an IUserRepository contract, implement it in infra, inject it into the order use case, and emit user:created events for notifications and analytics so no feature imports another directly.
Quick Start
Ask the assistant to analyze a proposed cross-feature change and output the required contracts, DI wiring, and event handlers that decouple the involved modules.