android-clean-architecture

Structure Android and Kotlin Multiplatform projects into clean architectural layers.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/cipriantitire/noctvm --skill android-clean-architecture-cipriantitire
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: android-clean-architecture
Source: https://github.com/cipriantitire/noctvm/tree/main/Skills/android-clean-architecture
Command: npx skills add https://github.com/cipriantitire/noctvm --skill android-clean-architecture-cipriantitire

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Organizing Android and Kotlin Multiplatform projects into clean, maintainable architecture layers with clear module boundaries, dependency rules, and data-layer patterns.

Core Features & Use Cases

  • Module boundaries and recommended layouts for Android/KMP projects.
  • Dependency rules enforcing domain/data/presentation separation and framework independence for the domain layer.
  • UseCase/Repository patterns with domain models and data mapping for clean data flow across layers.
  • Guidance on integrating DI (Koin/Hilt) and common data sources (Room, SQLDelight, Ktor) in a layered architecture.

Quick Start

Refactor your Android app by organizing modules into domain, data, and presentation layers and apply the dependency rules to ensure clean boundaries.

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 layers?▼

Structure an Android app with clean architecture by organizing modules into domain, data, and presentation layers. Apply strict dependency rules to enforce domain purity, ensuring the domain layer remains Kotlin-only with no data or presentation dependencies.

Why does the domain layer in clean architecture need to be Kotlin-only?▼

The domain layer in clean architecture needs to be Kotlin-only to enforce framework independence. This purity ensures domain logic remains free of data or presentation dependencies, allowing the core business rules to be shared across Android and Kotlin Multiplatform projects.

Does this clean architecture approach work with Kotlin Multiplatform and SQLDelight?▼

Yes, this clean architecture approach works with Kotlin Multiplatform and SQLDelight. It prescribes module boundaries and data-layer implementations for KMP projects, supporting data sources like SQLDelight and Ktor alongside standard Android tools like Room.

What's the best way to set up dependency injection for Android clean architecture?▼

The best way to set up dependency injection for Android clean architecture is using Koin or Hilt. The architecture provides specific guidance on integrating these DI frameworks within the layered domain, data, and presentation module boundaries.

How do I implement the Repository and UseCase patterns for clean data flow?▼

Implement the Repository and UseCase patterns by defining domain models and applying data mapping across layers. This approach ensures clean data flow from the data layer through the domain layer, keeping business logic isolated and maintainable.