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.