kmp-architecture

Organize Kotlin Multiplatform projects into 8-module vertical slices with iOS export boundaries.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Kotlin Multiplatform projects often struggle with scalable, team-friendly architectures. This skill provides clear patterns to organize code around vertical slices, define explicit module boundaries, and manage cross-platform exports for iOS while keeping shared business logic intact.

Core Features & Use Cases

  • Establishes an 8-module vertical-slice structure per feature: :api, :data, :presentation, :ui-material, :ui-unstyled, :wiring, :wiring-ui-material, :wiring-ui-unstyled with explicit responsibilities.
  • Demonstrates best practices for iOS export boundaries and cross-feature independence.
  • Guides module dependency rules, preventing cross-feature data leakage and ensuring compile-time safety.

Quick Start

Review and apply the 8-module vertical-slice pattern to structure your Kotlin Multiplatform feature.

Frequently Asked Questions about kmp-architecture

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

FAQPage Schema
How do I structure Kotlin Multiplatform projects into vertical slices?

Structure Kotlin Multiplatform projects into vertical slices by dividing each feature into eight explicit modules: :api, :data, :presentation, :ui-material, :ui-unstyled, :wiring, :wiring-ui-material, and :wiring-ui-unstyled. This pattern simplifies modular boundaries and ensures cross-feature independence.

What is the best way to manage iOS export boundaries in Kotlin Multiplatform?

Manage iOS export boundaries in Kotlin Multiplatform by applying specific export guidelines within the vertical-slice architecture. This keeps shared business logic intact while defining explicit module boundaries for cross-platform exports.

How do I decide between :core and :features module boundaries in Kotlin Multiplatform?

Decide between :core and :features boundaries by applying module dependency rules that prevent cross-feature data leakage. The 8-module vertical-slice pattern assigns explicit responsibilities to each layer, ensuring compile-time safety.

Can I use Kotlin Multiplatform vertical slices for multi-UI themes across Android and Desktop?

Yes, you can use Kotlin Multiplatform vertical slices to plan multi-UI themes across Android, iOS, and Desktop. The architecture separates :ui-material and :ui-unstyled modules to handle different theming strategies effectively.

Why does my Kotlin Multiplatform architecture have cross-feature data leakage?

Cross-feature data leakage occurs when Kotlin Multiplatform architectures lack explicit module boundaries. Implementing an 8-module vertical-slice pattern with strict dependency rules prevents this leakage and ensures compile-time safety.