android-clean-architecture

Enforce clean-architecture boundaries in Android and Kotlin Multiplatform projects.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Clean Architecture patterns for Android and Kotlin Multiplatform projects provide a structured approach to module boundaries, dependency rules, UseCases, Repositories, and data layer patterns (Room, SQLDelight, Ktor).

Core Features & Use Cases

  • Clear module structure (app, core, domain, data, presentation, design-system, and feature modules) to organize large Android/KMP projects.
  • Dependency rules that enforce domain purity and decouple domain from data/presentation layers.
  • UseCase and Repository patterns with a guided data layer integration, promoting testable domain logic.
  • DI guidance for popular tools (Koin or Hilt) and practical patterns for Android and Kotlin Multiplatform workflows.

Quick Start

Scaffold an Android or Kotlin Multiplatform project with clearly defined domain, data, and presentation layers using this blueprint.

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 your Android project using clean architecture by dividing it into modular layers: app, core, domain, data, and presentation. This separation enforces dependency rules, keeping domain logic pure and decoupled from data and presentation layers.

Can I apply clean architecture boundaries in a Kotlin Multiplatform project?

Yes, you can apply clean architecture boundaries in a Kotlin Multiplatform project. The approach enforces domain purity and defines data layer patterns using SQLDelight and Ktor, ensuring shared logic remains decoupled across platforms.

What is the best way to integrate dependency injection with clean architecture in Android?

Integrate dependency injection in a clean architecture Android project by using common tools like Koin or Hilt. These frameworks manage dependencies across modular boundaries, ensuring domain layers remain independent and testable.

How do UseCases and Repositories fit into a clean architecture data layer?

UseCases and Repositories fit into the clean architecture data layer by acting as boundaries that expose data operations. UseCases handle single business tasks, while Repositories manage data sources like Room or SQLDelight, promoting testable domain logic.

Does clean architecture for KMP work with both Room and SQLDelight?

Yes, clean architecture for Kotlin Multiplatform works with both Room and SQLDelight. The architecture provides guided data layer integration patterns to manage database workflows while maintaining strict separation from the domain layer.

Why enforce domain purity in modular Android applications?

Enforce domain purity in modular Android applications to keep business logic independent of data and presentation frameworks. This strict boundary ensures your UseCases remain highly testable and allows you to swap data sources without affecting core rules.