android-clean-architecture

Structure Android and Kotlin Multiplatform projects with clean architecture module layouts.

6|1|Updated Nov 22, 2025
One-click install
npx skills add https://github.com/hightemp/proxy_switcher --skill android-clean-architecture-hightemp
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-clean-architecture
Source: https://github.com/hightemp/proxy_switcher/tree/main/.agents/skills/android-clean-architecture
Command: npx skills add https://github.com/hightemp/proxy_switcher --skill android-clean-architecture-hightemp

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Clean architecture guidelines help teams structure Android or Kotlin Multiplatform projects to improve testability, maintainability, and scalability by enforcing clear module boundaries and dependency rules.

Core Features & Use Cases

  • Module structure guidance: recommended layout with app, core, domain, data, presentation, design-system, and feature modules for scalable projects
  • Dependency rules: strict layering to prevent domain from depending on data, presentation, or framework layers
  • Patterns: UseCase/Repository patterns, data layer mapping, and DI integration with Koin or Hilt
  • Use Case scenarios: building and wiring UseCases to Repositories with clean data flows

Quick Start

Follow the module layout and create domain, data, and presentation layers, then wire dependencies using your chosen DI framework and implement UseCases and Repositories as shown.

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 with clean architecture and MVVM?

To structure Android projects with clean architecture, separate your code into domain, data, and presentation layers. This layered approach enforces strict dependency rules, ensuring the domain layer remains independent of data, presentation, and framework modules for better testability and scalability.

What is the recommended module layout for scalable Kotlin Multiplatform apps?

The recommended module layout for scalable Kotlin Multiplatform apps includes separate app, core, domain, data, presentation, and design-system modules. This structure enforces clear boundaries and dependency rules between layers to maintain testability and maintainability as the project grows.

How do I wire UseCases and Repositories using dependency injection in Kotlin?

Wire UseCases and Repositories using dependency injection frameworks like Hilt or Koin. You connect UseCases to their corresponding Repositories in the presentation layer, ensuring clean data flows and maintaining strict separation between the domain and data layers.

Does clean architecture for Android work with Room and SQLDelight?

Yes, clean architecture for Android works with Room and SQLDelight by implementing a layered data architecture. These database frameworks reside in the data layer, keeping data mapping and storage separate from the domain layer which holds your UseCases and Repositories.

When should I not use clean architecture for my Android app?

You should avoid clean architecture for small or simple Android apps where the overhead of maintaining strict module boundaries and multiple layers outweighs the benefits. It is designed for scalable projects requiring high testability, maintainability, and clear separation of concerns.