android-kotlin

Build maintainable Android apps with Jetpack Compose, Coroutines, Flow, Hilt, Room, and MockK.

Updated Jun 19, 2026
One-click install
npx skills add https://github.com/lciacci/tessera --skill android-kotlin-lciacci
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-kotlin
Source: https://github.com/lciacci/tessera/tree/main/skills/android-kotlin
Command: npx skills add https://github.com/lciacci/tessera --skill android-kotlin-lciacci

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a consistent approach to building maintainable Android applications in Kotlin, reducing architectural drift, coroutine errors, UI state bugs, and difficult-to-test code.

Core Features & Use Cases

  • Modern Android Architecture: Organize applications with data, domain, dependency-injection, and presentation layers using Hilt, Room, and repository patterns.
  • Reactive Kotlin Development: Implement structured concurrency, StateFlow, Flow-based repositories, sealed result states, and lifecycle-aware Jetpack Compose screens.
  • Testing and Quality: Create ViewModel tests with MockK and Turbine, inject dispatchers for testability, and configure Detekt, Ktlint, and GitHub Actions CI.
  • Use Case: Use this Skill when adding a Compose feature that loads remote data, caches it locally, exposes loading and error states, and needs reliable unit and instrumentation testing.

Quick Start

Ask the Android Kotlin skill to design and implement a new Jetpack Compose feature with a Hilt ViewModel, Flow-based repository, testable dispatchers, and MockK coverage.

Frequently Asked Questions about android-kotlin

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

FAQPage Schema
How do I structure a Jetpack Compose feature with Hilt and Flow-based repositories?

Structure a Jetpack Compose feature by organizing data, domain, dependency-injection, and presentation layers using Hilt, Room, and repository patterns. Implement ViewModels with Flow-based repositories, sealed result states, and lifecycle-aware state collection to expose loading and error states.

How do I test Android ViewModels with coroutines and StateFlow?

Test Android ViewModels with coroutines by injecting dispatchers for testability and using MockK with Turbine to verify StateFlow emissions. This approach ensures structured concurrency and reliable unit testing for reactive Kotlin development.

What is the best way to organize an Android Kotlin project for maintainability?

The best way to organize an Android Kotlin project is through layered architecture with data, domain, dependency-injection, and presentation layers. This reduces architectural drift, coroutine errors, UI state bugs, and difficult-to-test code by enforcing consistent project organization.

Does this Android Kotlin approach support Gradle Kotlin DSL and static analysis?

Yes, this Android Kotlin approach supports Gradle Kotlin DSL and static analysis by configuring Detekt and Ktlint. It integrates these tools into GitHub Actions CI workflows to enforce code quality and consistent architecture across the application.

How do I handle loading and error states when loading remote data in Jetpack Compose?

Handle loading and error states in Jetpack Compose by implementing sealed result states with Flow-based repositories. This pattern caches remote data locally using Room and exposes reactive state that lifecycle-aware Compose screens can collect and render reliably.

Can I use MockK for unit testing Hilt ViewModels in Android?

Yes, you can use MockK for unit testing Hilt ViewModels in Android. It enables you to mock repository dependencies and verify StateFlow emissions when combined with Turbine, ensuring your dependency-injected presentation layer remains fully testable.