android-data-layer

Installation
SKILL.md

Android / KMP Data Layer

Error Handling

This skill uses Result<T, E>, DataError, and the extension helpers defined in the android-error-handling skill. Refer to that skill for the full Result wrapper, DataError sealed interface, and map/onSuccess/onFailure/asEmptyResult extensions.


Data Source vs Repository

  • Data source — accesses a single data source (local DB, remote API, file system). Most classes in the data layer are data sources.
  • Repository — combines multiple data sources (e.g., a remote API + a local DB for offline-first). Only use the term "repository" when the class genuinely coordinates multiple sources.
// Single source → data source
interface NoteLocalDataSource {
    suspend fun getNotes(): Result<List<Note>, DataError.Local>
    suspend fun insertNote(note: Note): EmptyResult<DataError.Local>
}
Installs
9
First Seen
Oct 15, 2026