What problem does it solve? Building an Android data layer that correctly coordinates local Room storage with remote APIs is error-prone: developers often leak DTOs and network exceptions into ViewModels, choose wrong DAO return types, or skip offline-first guarantees. This Skill provides proven patterns and anti-patterns for structuring repositories, Room databases, and synchronization logic. ## Core Features & Use Cases - Repository Pattern Guidance: Establishes the repository as the single source of truth, with proper error boundaries that map IOException and HttpException into domain-level DataError types. - Room Database Setup: Covers entities, DAOs with correct Flow vs suspend return types, database classes with schema export, and Hilt singleton provisioning. - Offline-First Strategies: Implements stale-while-revalidate reads and the outbox pattern with WorkManager for writes that survive process death. - Use Case: When adding a news feed feature to an Android app, use this Skill to scaffold the repository, Room DAO, DTO-to-domain mapping, and a WorkManager sync worker that keeps the UI updated from the local database. ## Quick Start Implement an offline-first data layer for my articles feature with a Room database, a repository that maps network DTOs to domain models, and a WorkManager sync worker.