kmp-migration

Guides incremental migration of existing Android or KMP projects to clean multi-module architecture.

2|Updated Jun 6, 2026
One-click install
npx skills add https://github.com/ronjunevaldoz/kmp-agent-skills --skill kmp-migration-ronjunevaldoz
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: kmp-migration
Source: https://github.com/ronjunevaldoz/kmp-agent-skills/tree/main/skills/kmp-migration
Command: npx skills add https://github.com/ronjunevaldoz/kmp-agent-skills --skill kmp-migration-ronjunevaldoz

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams with existing Android or KMP codebases struggle to adopt clean architecture, MVI, and multi-module structure without breaking a live app. This Skill provides a phased, one-step-at-a-time migration plan so the app keeps shipping while the architecture improves. ## Core Features & Use Cases - Current-State Assessment: Runs the audit script with a roadmap flag and scores the project across module structure, state management, testing, DI, and enforcement. - Prioritized Adoption Order: Organizes skill adoption into five tiers from foundation (clean architecture, Detekt gates) through screen layer, infrastructure, UI system, and platform expansion. - Concrete Migration Paths: Step-by-step guides for MVVM+LiveData to MVI+StateFlow, monolith to multi-module extraction, and Hilt to Koin 4, with code examples for each step. - Use Case: A team with a single-module Android app using LiveData ViewModels wants to adopt MVI and feature modules. The Skill scores the project, adds Detekt gates first, then migrates one screen to StateFlow, then to a full MVI contract, verifying tests pass at each step. ## Quick Start Ask the agent to assess my existing Android project and propose the first single migration step toward MVI and multi-module architecture.

Frequently Asked Questions about kmp-migration

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

FAQPage Schema
How do I migrate an existing Android project to clean architecture incrementally?▼

Start by running the audit script with the roadmap flag to score the current state, then add Detekt architecture gates before touching code. Migrate one screen or one layer at a time, verifying the build and tests pass after each step.

How to migrate from MVVM LiveData to MVI StateFlow in Kotlin?▼

Migrate in three steps per screen: convert LiveData to StateFlow, consolidate state into a single data class, then add an Intent and Effect contract only if the screen has real effects like navigation or toasts.

Can Hilt and Koin coexist during a DI migration?▼

Yes, Hilt and Koin can run in the same app during migration. Convert one Hilt module at a time to a Koin module, switch ViewModels to koinViewModel, and remove Hilt only after the full migration completes.

When should I not split a feature into multiple modules?▼

Do not split when the feature has fewer than three screens with no growth plans, the domain layer would be empty, or the deadline is near and the team has no multi-module experience. A presenter plus ui split is a valid end state.

Should I write tests before or after migrating a ViewModel?▼

Write tests before migrating, using the existing ViewModel to capture current behavior. The test must still pass after migration; if it breaks, you introduced a behavior change that must be fixed before the PR.