What problem does it solve? Setting up Room in a Kotlin Multiplatform project is error-prone: DAOs that compile on Android break on iOS/Desktop, Android-only APIs leak into commonMain, and SQLite drivers behave inconsistently across platforms. This Skill provides a complete, opinionated blueprint for implementing local persistence with Room KMP inside a Clean Architecture Infrastructure layer. ## Core Features & Use Cases - Shared schema definition: Define @Entity classes, @Dao interfaces (suspend/Flow), and the @Database class with @ConstructedBy entirely in commonMain. - Platform-specific builders: Implement getDatabaseBuilder() for Android (Context.getDatabasePath), iOS (NSFileManager/NSDocumentDirectory), and Desktop (java.io.File), with BundledSQLiteDriver as the default driver. - KMP-safe rules: Enforce suspend/Flow DAO functions, SQLiteConnection-based migrations, useWriterConnection/useReaderConnection transactions, and ProGuard rules for minified builds. - Use Case: You are migrating an Android-only Room database to a KMP shared module. Use this Skill to restructure entities and DAOs into commonMain, configure KSP per target, and wire the database into your Repository's LocalDataSource. ## Quick Start Ask the AI to set up Room Multiplatform persistence in the shared module for a given set of entities and queries, following this Skill's architecture.