android-clean-architecture

Standardize Android and Kotlin Multiplatform project structure with clean architecture layers.

1|Updated Apr 11, 2026
One-click install
npx skills add https://github.com/its-Basudeba/Care-HMS --skill android-clean-architecture-its-basudeba
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-clean-architecture
Source: https://github.com/its-Basudeba/Care-HMS/tree/main/.agent/skills/android-clean-architecture
Command: npx skills add https://github.com/its-Basudeba/Care-HMS --skill android-clean-architecture-its-basudeba

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill addresses the complexity of maintaining scalable Android and Kotlin Multiplatform projects by enforcing strict module boundaries and dependency inversion, preventing the common issue of tightly coupled, unmaintainable codebases.

Core Features & Use Cases

  • Layered Architecture: Implements clear separation between domain, data, and presentation layers to ensure business logic remains framework-agnostic.
  • Dependency Management: Provides patterns for dependency injection using Koin or Hilt and defines clear rules for module communication.
  • Use Case: Use this Skill when setting up a new feature module or refactoring a legacy codebase to ensure that domain models are isolated from UI and data source implementations.

Quick Start

Use the android-clean-architecture skill to generate a new domain layer module with a repository interface and a corresponding use case implementation.

Frequently Asked Questions about android-clean-architecture

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enforce clean architecture and separate domain logic in an Android Kotlin project?

You can enforce clean architecture by structuring your Android Kotlin project into distinct domain, data, and presentation layers. This approach keeps business logic framework-agnostic and ensures strict module boundaries for maintainable code.

What is the best way to structure a Kotlin Multiplatform (KMP) project for scalable mobile development?

The best way to structure a KMP project is by applying clean architecture principles with strict dependency inversion. This isolates domain models from data source implementations and UI, facilitating robust and testable mobile applications.

How do I set up a new feature module using dependency inversion and repository patterns?

Set up a new feature module by generating a domain layer with a repository interface and a corresponding use case implementation. This enforces dependency inversion, ensuring framework-agnostic business logic and clear module communication.

Does this clean architecture approach work with dependency injection frameworks like Hilt or Koin?

Yes, the clean architecture approach supports dependency injection using Koin or Hilt. It provides specific patterns for dependency management and defines clear rules for how modules communicate within the application.

Why does my Android codebase become tightly coupled and unmaintainable when adding new features?

Android codebases become tightly coupled and unmaintainable without strict module boundaries and dependency inversion. Enforcing clean architecture prevents this by isolating domain models from UI and data source implementations.

Can I refactor a legacy Android app to use MVVM and clean architecture layers?

Yes, you can refactor a legacy Android app by implementing clear separation between domain, data, and presentation layers. This transition to clean architecture ensures business logic remains framework-agnostic and testable.