kotlin-project-state-management

Evaluate state management patterns for Kotlin Multiplatform projects.

1|Updated Apr 10, 2026
One-click install
npx skills add https://github.com/huneyoliv/ubus-ui --skill kotlin-project-state-management-huneyoliv
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kotlin-project-state-management
Source: https://github.com/huneyoliv/ubus-ui/tree/main/.agents/kotlin-project-state-management
Command: npx skills add https://github.com/huneyoliv/ubus-ui --skill kotlin-project-state-management-huneyoliv

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

This Skill empowers you to choose, implement, and review the most suitable state management patterns in Kotlin Multiplatform projects.

Core Features & Use Cases

  • State Management Patterns: In-depth guide on ViewModel, shared presenter, MVI, and StateFlow-in-common, including effect handling, UiState modeling, and testability.
  • Pattern Comparison: Evaluates each pattern's strengths, platform-specific constraints, and when to apply each.
  • Anti-Patterns: Identifies and explains common pitfalls to avoid as your KMP architecture scales.

Quick Start

Analyze and improve your Kotlin Multiplatform project's state management using this Skill. First, understand your current approach; then, apply best practices to enhance state holder logic and UiState structure.

Frequently Asked Questions about kotlin-project-state-management

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

FAQPage Schema
How do I choose the best state management pattern for a Kotlin Multiplatform project?

Choosing state management for Kotlin Multiplatform involves evaluating ViewModel, shared presenter, MVI, and StateFlow-in-common patterns against your platform-specific constraints and scalability requirements to determine the optimal fit.

What are common anti-patterns in Kotlin Multiplatform state management?

Common Kotlin Multiplatform state management anti-patterns include improper UiState modeling and flawed effect handling, which compromise your architecture's ability to scale and maintain a robust structure across platforms.

How does MVI compare to MVVM when sharing state logic in Kotlin Multiplatform?

MVI provides a structured, unidirectional approach to state modeling and effect handling, whereas MVVM with a shared presenter offers flexibility, with each pattern presenting distinct testability and platform support trade-offs.

Can I use StateFlow in common code for Kotlin Multiplatform state management?

You can use StateFlow in common Kotlin Multiplatform code to manage state holders, which requires careful UiState modeling and effect handling to ensure a robust architecture that scales across platforms.

When should I avoid a shared presenter pattern in Kotlin Multiplatform?

You should avoid a shared presenter pattern when your Kotlin Multiplatform project requires complex effect handling or strict unidirectional state flow, where MVI or StateFlow-in-common patterns provide better testability and scalability.