What problem does it solve? Persisting key-value preferences and typed settings on Android and KMP requires choosing the right storage, avoiding multi-instance crashes, handling file corruption, and migrating legacy SharedPreferences — mistakes here cause data loss, ANRs, and silent failures. ## Core Features & Use Cases - Storage Selection Guidance: Decision table for Preferences DataStore vs Typed DataStore vs Room based on data shape and query needs. - KMP Factory Patterns: Per-platform file-path producers for Android, iOS, JVM, and Web sharing one PreferenceDataStoreFactory. - Typed DataStore with Serialization: kotlinx.serialization Serializer<T> implementations with ReplaceFileCorruptionHandler recovery. - Migration & DI: SharedPreferencesMigration setup and Koin/Hilt singleton wiring enforcing one DataStore per file. - Use Case: You need to persist dark-mode and locale settings in a Compose Multiplatform app — this Skill provides the factory, repository, and ViewModel StateFlow integration code. ## Quick Start Ask the AI to set up a Preferences DataStore with a KMP factory and a settings repository that exposes dark mode and locale as a StateFlow.