android-dev

Applies senior-level architecture guidelines to Android and Kotlin Multiplatform development.

Updated Jul 1, 2026
One-click install
npx skills add https://github.com/w0lzard/Wolzard-s-Marketplace --skill android-dev-w0lzard
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-dev
Source: https://github.com/w0lzard/Wolzard-s-Marketplace/tree/main/plugins/personal-skills/skills/android-dev
Command: npx skills add https://github.com/w0lzard/Wolzard-s-Marketplace --skill android-dev-w0lzard

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Android and KMP projects accumulate architectural drift when new code ignores established patterns, producing inconsistent ViewModels, misplaced state, and leaky error handling. This Skill enforces a consistent senior-engineer baseline across all Android and Kotlin Multiplatform work. ## Core Features & Use Cases - Architecture Baseline: Enforces clean architecture with repository pattern, MVVM/MVI selection guidance, Hilt DI, Compose UI, and StateFlow-based state management. - Existing-Pattern Audit: Requires inspecting sibling ViewModels and feature code before adding new events, flows, or navigation mechanisms, preventing architectural inconsistency. - Layered Error Handling & State Modeling: Defines error propagation from data sources through repositories and use cases to ViewModels, plus a four-bucket UiState model separating input, derived, persisted, and transient state. - Use Case: When asked to add a new screen to an existing Android app, the Skill first audits how sibling features wire events and effects, then implements the screen using the project's established MVVM or MVI pattern with proper StateFlow and Channel/SharedFlow semantics. ## Quick Start Ask the assistant to refactor a ViewModel or build a new Compose screen in your Android or KMP project following clean architecture conventions.

Frequently Asked Questions about android-dev

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

FAQPage Schema
How do I structure state in an Android ViewModel with Compose?

Expose a StateFlow<UiState> from the ViewModel and collect it with collectAsStateWithLifecycle in composables. Model UiState in four buckets: editable input, derived properties computed on read, persisted snapshots, and transient UI-only flags.

Should I use MVVM or MVI for my Android app?

Default to MVVM for simpler screens with few state-changing interactions and MVI for screens with many interactions. In MVI, name sealed event entries by what happened in the UI, like OnSaveClick, rather than what the ViewModel should do.

Channel vs SharedFlow for one-shot events in Android?

Use Channel(BUFFERED) with receiveAsFlow() when the effect must not be missed, such as navigation or payment results. Use SharedFlow with replay = 0 when the effect can be dropped if the UI is inactive, like haptic feedback.

Can I use Retrofit in Kotlin Multiplatform shared code?

No, Retrofit is Android-only and must not be used in shared KMP modules. Use Ktor for networking in shared code, and choose between Room (KMP) or SQLDelight for local database, defaulting to Room.

How should errors propagate through clean architecture layers?

Data sources throw platform exceptions, repositories remap them to domain error types, use cases return Result<T> with domain errors, and ViewModels map results to UI state. Raw platform exceptions must never leak past the repository boundary.