What problem does it solve?
This Skill prevents module-architecture drift by helping you choose consistent layered wiring patterns across feature, common, data, domain, and task modules in AniTrend.
Core Features & Use Cases
- Pattern selection for module wiring: Match query-only, hybrid query+mutation, mutation-only, and Android/platform support scenarios to the closest reference layout.
- Domain vs data responsibilities: Enforce that contracts and abstract use cases stay in domain while repositories, sources, mappers, and Koin bindings stay in data.
- Types.kt interactor alias discipline: Keep
Types.kt lean so feature and task layers consume interactor aliases specialized with DataState<T>.
- Offline-first guidance: Pick correct source-of-truth approaches for non-paged and paged flows (Room-backed observable flows, mapper ownership, and paging refresh coordination).
- Safe import boundaries: Allow interactor alias imports into feature/task, but avoid importing repositories, sources, mappers, or remote models.
Quick Start
Use the layered-module-patterns skill to choose the closest existing module recipe for your planned media/review/favourite feature and align the domain-data-task boundaries with the standard wiring rules.