kmp-mobile-expert

Implement Kotlin Multiplatform features with shared ViewModels, Either repositories, and Koin DI for iOS exports.

1|Updated Nov 26, 2025
One-click install
npx skills add https://github.com/niltsiar/kotlin_multiplatform_pokedex --skill kmp-mobile-expert
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kmp-mobile-expert
Source: https://github.com/niltsiar/kotlin_multiplatform_pokedex/tree/main/.agents/kmp-mobile-expert
Command: npx skills add https://github.com/niltsiar/kotlin_multiplatform_pokedex --skill kmp-mobile-expert

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Implement a cohesive Kotlin Multiplatform strategy that unifies shared business logic (ViewModels, repositories, and DI) across Android, iOS, Desktop, and Server, while enabling clean iOS exports and robust integration patterns.

Core Features & Use Cases

  • Lifecycle-aware ViewModels with SavedStateHandle and proper initialization
  • Either-based repository boundaries with consistent error mapping
  • iOS exports setup exposing only API contracts and presentation layers
  • Koin DI wiring for modular mobile feature integration
  • iOS-KMP integration troubleshooting guidance
  • Guidance on Direct Integration vs Wrapper patterns for navigation/state bridging

Quick Start

Create a KMP feature module with a shared ViewModel, a repository boundary using Either, DI wiring via Koin modules, and iOS exports configured.

Frequently Asked Questions about kmp-mobile-expert

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

FAQPage Schema
How do I expose Kotlin Multiplatform shared business logic to iOS without leaking internal implementations?

Expose Kotlin Multiplatform shared business logic to iOS by configuring KMP exports to publish only API contracts and presentation layers, satisfying iOS export rules and module boundaries while avoiding exporting internal implementations.

How do I set up lifecycle-aware ViewModels in Kotlin Multiplatform for Android and iOS?

Set up lifecycle-aware ViewModels in Kotlin Multiplatform by applying proper initialization with SavedStateHandle, ensuring shared presentation logic respects lifecycle boundaries across Android, iOS, and Desktop platforms.

What is the best way to handle Koin dependency injection across Android, iOS, and Desktop in a KMP project?

Handle Koin dependency injection across Android, iOS, and Desktop in a KMP project by wiring modular Koin DI modules that define repository boundaries and ViewModel dependencies for cohesive mobile feature integration.

Why use Either-based repository boundaries in Kotlin Multiplatform?

Use Either-based repository boundaries in Kotlin Multiplatform to enforce consistent error mapping across platforms, cleanly separating success and failure states when exposing shared data logic to iOS.

Should I use Direct Integration or a Wrapper pattern for iOS-KMP state bridging?

Choose between Direct Integration and Wrapper patterns for iOS-KMP state bridging based on your navigation and state requirements, using guidance to troubleshoot integration and select the appropriate bridging approach.

Can I use Kotlin Multiplatform for Server and Desktop in addition to mobile platforms?

Kotlin Multiplatform unifies shared business logic including ViewModels, repositories, and Koin DI across Android, iOS, Desktop, and Server, enabling a cohesive strategy for all target platforms.