What problem does it solve? Building an Android data layer requires coordinating repositories, Room databases, network sources, and sync strategies without leaking implementation details upward. This Skill provides proven patterns and code templates so the data layer stays decoupled, offline-capable, and correctly layered. ## Core Features & Use Cases - Repository Pattern: Implements repositories as the single source of truth with Flow-based streams, Result-returning refresh operations, and domain error mapping at the boundary. - Room Local Database: Covers entities, DAOs with Flow vs suspend return types, database setup with Hilt, and full Kotlin Multiplatform configuration including BundledSQLiteDriver and per-target KSP wiring. - Offline-First Strategies: Provides stale-while-revalidate reads and outbox-pattern writes backed by WorkManager for reliable sync. - Use Case: When adding a news feed feature to an Android app, use this Skill to scaffold the repository, Room DAO and entities, DTO-to-domain mapping, and a WorkManager sync worker that survives process death. ## Quick Start Implement the data layer for my Android app with a Room-backed repository, offline-first refresh, and proper error mapping.