kotlin-data-kmp-data-layer

Design and review Kotlin Multiplatform data layers with repository-data-source separation.

1|Updated Apr 2, 2026
One-click install
npx skills add https://github.com/leogallego/ansible-jane --skill kotlin-data-kmp-data-layer-leogallego
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: kotlin-data-kmp-data-layer
Source: https://github.com/leogallego/ansible-jane/tree/main/skills/kotlin-data-kmp-data-layer
Command: npx skills add https://github.com/leogallego/ansible-jane --skill kotlin-data-kmp-data-layer-leogallego

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Kotlin Multiplatform Data Layer provides structured guidelines to design, implement, and review the data layer in Kotlin Multiplatform projects, ensuring clear ownership, a single source of truth, and a clean separation between repositories and data sources.

Core Features & Use Cases

  • Defines responsibilities for data ownership, source-of-truth decisions, and coordination between repositories and data sources.
  • Encourages immutable data exposure, main-safe APIs, and testable coordination logic across Android, iOS, and shared code.
  • Use Case: when consolidating data access across platform boundaries, apply these principles to centralize data ownership and stabilize data flows.

Quick Start

Design, implement, and review a Kotlin Multiplatform data layer by mapping repositories, data sources, and source of truth.

Frequently Asked Questions about kotlin-data-kmp-data-layer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design a Kotlin Multiplatform data layer with clear repository and data source boundaries?▼

Design a Kotlin Multiplatform data layer by mapping repositories, data sources, and source of truth, enforcing clear ownership and a single source of truth across shared code to stabilize data flows.

What is the best way to establish a single source of truth in a KMP project?▼

Establish a single source of truth by defining explicit data ownership guidelines and applying repository-data-source separation, ensuring clear ownership across Android, iOS, and shared code boundaries.

How do I handle offline and online data synchronization in Kotlin Multiplatform?▼

Handle offline and online synchronization by applying structured coordination logic between repositories and data sources, ensuring main-safe APIs and testable data flows across platform boundaries.

Does this approach apply to both Android and iOS shared code in Kotlin Multiplatform?▼

Yes, this approach applies to designing repositories, data sources, and their coordination across Android, iOS, and shared code, centralizing data ownership and stabilizing data flows.

How do I ensure immutability and testability in a Kotlin Multiplatform data layer?▼

Ensure immutability and testability by enforcing immutable data exposure and main-safe APIs, applying structured guidelines to review coordination logic across shared code.

Why do I need to separate repositories and data sources in a KMP architecture?▼

Separating repositories and data sources solves ambiguity in data ownership by enforcing clear ownership and a single source of truth, stabilizing data flows across platform boundaries.