What problem does it solve?
Cleanly separating responsibilities in Android and Kotlin Multiplatform codebases to prevent tightly coupled modules and business logic leaking into UI or framework layers.
Core Features & Use Cases
- Module boundaries & dependency rules: Enforce a strict direction of dependencies so domain remains pure Kotlin.
- UseCases and Repository pattern: Model each business operation as a UseCase and define repository interfaces in the domain.
- Data layer implementations: Coordinate local and remote data with Room/SQLDelight for persistence and Ktor for networking.
- Mappers, DI, and error handling: Convert entities/DTOs to domain models, wire dependencies with Koin or Hilt, and propagate errors consistently to presentation.
Example use case: You’re building a “catalog” feature where the UI needs reactive item lists, offline caching, and remote refresh; you want UseCases to own orchestration while repositories combine local database flows with remote Ktor calls.
Quick Start
Ask the AI to generate a clean Android + Kotlin Multiplatform module skeleton that follows the skill’s dependency rules and includes a domain UseCase plus a repository backed by Room (Android) and SQLDelight (KMP) with Ktor remote fetching.