android-dev

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

1|Updated Jun 1, 2026
One-click install
npx skills add https://github.com/chmonya-inc/dnd-manager --skill android-dev-chmonya-inc
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: android-dev
Source: https://github.com/chmonya-inc/dnd-manager/tree/main/.agents/skills/android-dev
Command: npx skills add https://github.com/chmonya-inc/dnd-manager --skill android-dev-chmonya-inc

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Android and KMP projects often accumulate inconsistent architecture when developers invent new patterns instead of following established conventions. This Skill provides a senior-engineer baseline covering architecture, Compose, coroutines, Gradle, testing, and error handling, plus an audit procedure that checks existing project patterns before writing new code. ## Core Features & Use Cases - Architecture Baseline: Enforces clean architecture with repository pattern, MVVM/MVI selection guidance, StateFlow-based UI state, Hilt DI, and Material 3 Compose UI. - Existing-Pattern Audit: Before adding events, flows, or navigation triggers, it audits sibling ViewModels for sealed Event/Intent patterns, effects streams, and state shapes to prevent architectural drift. - KMP Guidance: Covers shared Compose Multiplatform UI, expect/actual declarations, Ktor networking, and Room vs SQLDelight decisions for shared modules. - Use Case: When asked to add a new screen to an existing Android app, the Skill first inspects how sibling ViewModels handle events and effects, then implements the feature using the project's established sealed Event + onEvent() pattern rather than inventing a new mechanism. ## Quick Start Ask the assistant to refactor a ViewModel or add a feature to your Android or KMP project following the project's established architecture patterns.

Frequently Asked Questions about android-dev

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

FAQPage Schema
How do I structure a new feature in an existing Android project?▼

First audit sibling ViewModels in the same feature module for sealed Event/Intent interfaces, effects streams, and state shapes. Then implement the new feature using those established patterns rather than introducing new mechanisms like direct public functions on the ViewModel.

Should I use MVVM or MVI for my Android app architecture?▼

Default to MVVM for simpler screens with few state-changing interactions, and MVI for screens with many interactions that change state. The Skill recommends asking the user for preference first, then applying the appropriate pattern consistently.

Room vs SQLDelight for Kotlin Multiplatform database?▼

For KMP shared code, ask the user whether they prefer Room (KMP) or SQLDelight, defaulting to Room if there is no preference. Retrofit is Android-only and must not be used in shared modules; use Ktor for multiplatform networking instead.

Can I use Retrofit in a Kotlin Multiplatform shared module?▼

No, Retrofit is Android-only and must not be used in shared KMP modules. Use Ktor for networking in shared code, while Retrofit with OkHttp remains appropriate for Android-only projects alongside Room for local caching.

How should ViewModels emit one-time navigation events?▼

If exactly-once delivery is required, use Channel with receiveAsFlow(); if events can be missed when the UI is inactive, SharedFlow with replay = 0 is simpler. Navigation itself should happen via NavController, never directly from the ViewModel.

What happens when existing project code contradicts these guidelines?▼

The Skill flags the inconsistency and asks how to proceed rather than silently overriding the project's conventions. Respecting established architecture takes priority, since consistency costs less than divergent patterns over time.