android-clean-architecture

Organize Android and Kotlin Multiplatform projects with Clean Architecture module boundaries.

Updated Mar 25, 2026
One-click install
npx skills add https://github.com/SOLEROM/cldlab --skill android-clean-architecture-solerom
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-clean-architecture
Source: https://github.com/SOLEROM/cldlab/tree/main/ecc/ref_claude/skills/android-clean-architecture
Command: npx skills add https://github.com/SOLEROM/cldlab --skill android-clean-architecture-solerom

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Android apps often struggle with unclear module boundaries, tangled dependencies, and mixing business logic with framework code, making large codebases hard to maintain and test.

Core Features & Use Cases

  • Clear module layout guidance for Android and Kotlin Multiplatform projects, including module boundaries, dependency inversion, and UseCase/Repository patterns.
  • Domain-first design with pure Kotlin domain models and explicit data, presentation, and data layer separation, plus DI guidance with Koin or Hilt.
  • Practical patterns for UseCases, Repositories, DataSources, and integration with Room, SQLDelight, and Ktor for robust data layers.

Quick Start

Set up a multi-module Android project following the recommended Clean Architecture structure.

Frequently Asked Questions about android-clean-architecture

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

FAQPage Schema
How do I structure an Android app with clean architecture and clear module boundaries?

To structure an Android app with clean architecture, you separate code into app, domain, and data layers. This enforces dependency inversion and keeps framework code isolated, making large codebases easier to maintain and test.

What is the best way to organize Kotlin Multiplatform projects using clean architecture?

The best way to organize Kotlin Multiplatform projects is by applying a domain-first design with pure Kotlin domain models. This separates data and presentation layers explicitly while guiding dependency injection wiring across modules.

Can I use Hilt or Koin for dependency injection in a multi-module Android project?

Yes, you can use Hilt or Koin for dependency injection in a multi-module Android project. The clean architecture pattern provides explicit DI guidance to wire dependencies consistently across the app, domain, and data layers.

How do I implement UseCases and Repositories with Room and SQLDelight in Android?

You implement UseCases and Repositories by defining data sources that integrate Room or SQLDelight for local storage. This approach keeps the domain layer pure while ensuring robust data layer management and framework integration.

Does clean architecture work with Ktor for building robust data layers in Android?

Yes, clean architecture works with Ktor to build robust data layers in Android. It provides practical patterns for integrating Ktor alongside Room or SQLDelight, ensuring network and local data sources are properly separated.

Why does mixing business logic with framework code make Android apps hard to test?

Mixing business logic with framework code creates tangled dependencies and unclear module boundaries. Clean architecture solves this by enforcing domain purity, isolating business rules from framework integration like Room or Ktor for better testability.