android-mvi
CommunityBuild resilient Android screens with MVI.
Software Engineering#state management#android#jetpack compose#viewmodel#mvi#savedstatehandle#ui events
Authorsoygabimoreno
Version1.0.0
Installs0
System Documentation
What problem does it solve?
It solves the confusion and bugs caused by inconsistent UI state handling by standardizing how Android/KMP screens manage State, Actions (Intents), and one-time Events.
Core Features & Use Cases
- Predictable MVI structure: defines State (single source of UI data), Action (user/trigger inputs), Event (one-time side effects like navigation/snackbar), and a ViewModel that processes actions into state/events.
- Lifecycle-safe event observing: uses ObserveAsEvents to consume one-time events exactly once in a lifecycle-aware way.
- Production-friendly details: includes guidance for mapping domain errors to UiText, building UI models for presentation formatting, handling process death via SavedStateHandle, and enforcing naming conventions and screen composable separation (Root vs Screen).
Quick Start
Use the android-mvi skill to design a new screen by defining its <Screen>State, <Screen>Action, <Screen>Event, implementing a <Screen>ViewModel with Channel.BUFFERED events, and splitting UI into <Screen>Root and <Screen>Screen composables.
Dependency Matrix
Required Modules
None requiredComponents
Standard package💻 Claude Code Installation
Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.
Please help me install this Skill: Name: android-mvi Download link: https://github.com/soygabimoreno/Los-ANDROIDES/archive/main.zip#android-mvi Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
Agent Skills Search Helper
Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.