android-clean-architecture

Architect modular Android apps with clean separation across domain, data, and presentation layers.

2|Updated Mar 21, 2026
One-click install
npx skills add https://github.com/Throokie/claude-code-skills --skill android-clean-architecture-throokie
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-clean-architecture
Source: https://github.com/Throokie/claude-code-skills/tree/main/skills/android-clean-architecture
Command: npx skills add https://github.com/Throokie/claude-code-skills --skill android-clean-architecture-throokie

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Clean Architecture patterns for Android and Kotlin Multiplatform projects address the complexity of scaling Android apps by delineating clear module boundaries, dependency rules, and data flow between domain, data, and presentation layers.

Core Features & Use Cases

  • Defines modular architecture templates for Android and KMP projects with modules: app, core, domain, data, presentation, design-system, feature.
  • Enforces dependency rules to prevent domain/data coupling with presentation layers and avoids framework leakage.
  • Demonstrates UseCases, domain models, repositories, and data layer patterns with examples for Room, SQLDelight, Ktor, and DI setups (Koin/Hilt).
  • Use cases include implementing UseCases, repository interfaces, and data sources with clean separation.

Quick Start

Create a modular Android project following the recommended module layout and dependency rules to begin implementing UseCases, Repositories, and DataSources.

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 project using clean architecture?

Structure an Android clean architecture project by enforcing clear module boundaries across domain, data, and presentation layers. The modular layout separates concerns into app, core, domain, data, presentation, design-system, and feature modules to ensure scalable dependency rules.

What's the best way to implement repositories and UseCases in Kotlin Multiplatform?

Implement repositories and UseCases in Kotlin Multiplatform by defining domain models and repository interfaces in the domain layer. Data sources and repository implementations reside in the data layer, preventing framework leakage and maintaining clean separation for reusable logic.

Can I use Koin or Hilt for dependency injection in a modular Android app?

You can use Koin or Hilt for dependency injection in a modular Android app. The architecture provides practical DI setup patterns that define clear module boundaries and dependency rules, ensuring framework leakage is avoided across the domain and presentation layers.

Does clean architecture work with Room and SQLDelight for data layer implementation?

Clean architecture works with Room and SQLDelight for data layer implementation. The architecture demonstrates data layer patterns and data sources with practical code examples, ensuring clear separation between the domain models and the specific framework implementations.

When do I need clean architecture for my Android application?

You need clean architecture for medium-to-large Android and Kotlin Multiplatform projects seeking scalable module layouts. It addresses the complexity of scaling apps by delineating clear module boundaries, dependency rules, and data flow between layers.

How do I prevent domain layer coupling with the presentation layer in Android?

Prevent domain layer coupling with the presentation layer by enforcing strict dependency rules within your modular Android architecture. This approach stops framework leakage and ensures the domain and data layers remain independent of the presentation modules.