android-clean-architecture

Enforce Clean Architecture module boundaries and dependency inversion rules for Android and Kotlin Multiplatform projects.

3|Updated Jul 1, 2026
One-click install
npx skills add https://github.com/KeyValueSoftwareSystems/maestro --skill android-clean-architecture-keyvaluesoftwaresystems
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-clean-architecture
Source: https://github.com/KeyValueSoftwareSystems/maestro/tree/main/skills/stacks/android/android-clean-architecture
Command: npx skills add https://github.com/KeyValueSoftwareSystems/maestro --skill android-clean-architecture-keyvaluesoftwaresystems

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 rules.

Core Features & Use Cases

  • Layered Architecture: Provides a blueprint for separating concerns into domain, data, and presentation layers.
  • Dependency Management: Defines clear rules for module dependencies to prevent circular references and framework leakage into business logic.
  • Use Case: Use this guide to restructure a monolithic Android app into a clean, testable architecture using UseCases, Repositories, and Mappers.

Quick Start

Apply the android-clean-architecture skill to initialize the domain and data module structure for a new Kotlin Multiplatform project.

Frequently Asked Questions about android-clean-architecture

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

FAQPage Schema
How do I separate concerns in an Android Kotlin Multiplatform project?

To separate concerns in Android Kotlin Multiplatform projects, implement Clean Architecture by dividing code into domain, data, and presentation layers. This enforces strict module boundaries and dependency inversion rules, preventing framework leakage into business logic.

How do I structure domain and data modules for a new KMP project?

Structure domain and data modules for a new KMP project by applying Clean Architecture patterns. Initialize distinct domain and data layers to establish clear dependency rules, facilitating the implementation of UseCases, Repositories, and DataSources.

What's the best way to restructure a monolithic Android app into clean architecture?

The best way to restructure a monolithic Android app into clean architecture is to enforce dependency inversion rules. Refactor existing code into domain, data, and presentation modules using UseCases, Repositories, and Mappers to ensure domain layer purity.

Why does framework code leak into my Android business logic?

Framework code leaks into Android business logic when strict dependency rules between app, presentation, domain, and data modules are not enforced. Applying Clean Architecture with dependency inversion prevents this by keeping the domain layer pure.

Does clean architecture work with Kotlin Multiplatform mobile development?

Clean architecture works with Kotlin Multiplatform mobile development by standardizing project architecture across platforms. It enforces strict module boundaries and dependency inversion rules, ensuring domain layer purity while sharing business logic.

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

You should not use clean architecture for Android apps when the overhead of strict module boundaries and dependency inversion outweighs scalability benefits. Smaller applications may find the enforced separation into domain, data, and presentation layers unnecessarily complex.