android-dev

Guide Android and Kotlin Multiplatform projects with clean architecture and MVVM.

Updated Mar 17, 2026
One-click install
npx skills add https://github.com/kotlinknight/NutriSoloAndroid --skill android-dev-kotlinknight
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-dev
Source: https://github.com/kotlinknight/NutriSoloAndroid/tree/main/.agents/skills/android-dev
Command: npx skills add https://github.com/kotlinknight/NutriSoloAndroid --skill android-dev-kotlinknight

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Android and Kotlin Multiplatform projects often suffer from inconsistent architecture, boilerplate, and integration of modern tooling. This Skill provides a prescriptive pattern library to align teams on architecture, UI, asynchronous handling, and testability across Android and shared KMP code.

Core Features & Use Cases

  • Clean architecture with repository pattern for data persistence.
  • MVVM with a single state class for simple screens; refactor to MVI for complex screens.
  • Compose as the recommended UI toolkit with interop for legacy UI.
  • State management using StateFlow/State for UI state.
  • Dependency injection with Hilt and KSP; Kotlin serialization for network models.
  • KMP guidelines: Ktor for network, SQLDelight for local storage; Android-only dependencies not used in shared code.
  • Gradle best practices: version catalogs, Kotlin scripts, and baseline profiling.

Quick Start

Follow these guidelines to structure and implement an Android or KMP project using clean architecture, MVVM, Compose, and the specified tooling.

Frequently Asked Questions about android-dev

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

FAQPage Schema
How do I structure an Android project using clean architecture and MVVM with Compose?

Structure your Android project with clean architecture using the repository pattern for data persistence, implement MVVM with a single state class for simple screens, and use Compose as the recommended UI toolkit with interop for legacy UI.

When should I use MVI instead of MVVM for Android state management?

You should refactor from MVVM to MVI for complex screens requiring robust state management. For simple screens, use MVVM with a single state class, while managing UI state with StateFlow or Compose State.

How do I set up Kotlin Multiplatform shared code with Ktor and SQLDelight?

Set up KMP shared code by using Ktor for network operations and SQLDelight for local storage, ensuring Android-only dependencies are excluded from shared code to maintain platform independence.

Does Hilt work with Kotlin Multiplatform projects for dependency injection?

Hilt is used for dependency injection in Android projects with KSP annotation processing. For KMP projects, Android-only dependencies like Hilt are not used in shared code, keeping shared modules platform-agnostic.

What's the best way to manage Gradle version catalogs and baseline profiling in Android?

Manage Gradle best practices by utilizing version catalogs, Kotlin scripts, and implementing baseline profiling to ensure production-grade performance and consistent dependency management across your Android project.

Can I use Kotlin serialization with Ktor for network models in a KMP project?

Yes, you can use Kotlin serialization for network models in your KMP project. Ktor handles network operations while Kotlin serialization manages data parsing, ensuring type-safe network communication across platforms.