What problem does it solve? When building the data layer of an Android app, teams often end up with inconsistent repositories: some expose DAO entities directly to ViewModels, others leak exceptions, mix threading concerns, or grow into unmaintainable God classes. This Skill provides the conventions to implement the Repository pattern consistently in the Solvyx project. ## Core Features & Use Cases - Interface + Impl structure: Defines a public interface per domain with a @Singleton implementation injected via constructor, bound through a Hilt @Binds module. - Typed error handling: Guides when to use runCatching with Result, sealed result classes, or exceptions, with a decision table. - Threading and multi-source rules: Specifies dispatcher usage (IO, Default) and how to combine local DAO, remote API, and preferences sources. - Use Case: When creating a new BitacoraRepository that combines a Room DAO with a future remote API, apply this Skill to get the interface, Hilt binding, entity-to-domain mappers, and unit tests with MockK. ## Quick Start Apply the repository-pattern skill to create a new repository for the exercises domain with its interface, Hilt binding, and unit tests.