android-clean-architecture

Structure Android and Kotlin Multiplatform projects with layered module boundaries.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Android and Kotlin Multiplatform project architectures often spiral into tangled module coupling and unclear boundaries. This Skill guides structuring modules (e.g., app, domain, data, presentation) with clear dependency rules to support scalable development.

Core Features & Use Cases

  • Modular architecture guidance: defines project structure (app, domain, data, presentation, and shared layers) with explicit responsibilities.
  • Domain/UseCase pattern guidance: shows how to model business operations with clean separations and testability.
  • Dependency rules and DI guidance: explains how to wire modules with Koin or Hilt while preserving isolation.

Quick Start

Organize your Android project into the recommended module layout and wire UseCases and Repositories with DI to start building a scalable app.

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 modules?

Structure an Android project with clean architecture by separating it into app, domain, data, and presentation modules. This layout defines explicit responsibilities and dependency rules to prevent tangled module coupling and support scalable development.

What is the best way to isolate domain logic in a Kotlin Multiplatform app?

Isolate domain logic in a Kotlin Multiplatform app by modeling business operations with the Domain and UseCase pattern. This approach ensures clean separations between layers and maximizes testability for shared code.

How do I wire dependencies in a clean Android architecture without breaking module isolation?

Wire dependencies in a clean Android architecture using dependency injection frameworks like Koin or Hilt. These tools connect modules while preserving layer isolation and enforcing strict dependency direction rules.

When do I need clean architecture for my Android app?

You need clean architecture for medium to large Android apps requiring distinct domain, data, and presentation separation. It solves the problem of tangled module coupling and unclear boundaries that often occur as projects scale.

How do I set up a scalable Android project layout with domain, data, and presentation layers?

Set up a scalable Android project layout by organizing modules into app, domain, data, presentation, and shared layers. Wire UseCases and Repositories with dependency injection to establish clear boundaries and enforce dependency direction.