android-clean-architecture

Organize Android and Kotlin Multiplatform projects into clean architecture modules.

Updated Mar 31, 2026
One-click install
npx skills add https://github.com/GGEdu/claude-god-mode-template --skill android-clean-architecture-ggedu
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-clean-architecture
Source: https://github.com/GGEdu/claude-god-mode-template/tree/main/skills/android-clean-architecture
Command: npx skills add https://github.com/GGEdu/claude-god-mode-template --skill android-clean-architecture-ggedu

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Organizes Android and Kotlin Multiplatform projects into clean architecture modules, providing clear boundaries between domain, data, and presentation layers to ease maintenance and scaling.

Core Features & Use Cases

  • Module layout guidance for app, core, domain, data, presentation, design-system, and feature modules to support scalable projects.
  • Dependency rules and conventions (domain and use-cases independent of data/presentation) to enforce clean separations.
  • Domain-driven design patterns with UseCases, Repository interfaces, and data-layer implementations, plus practical DI guidance for Koin or Hilt.
  • Real-world example: define GetUserProfileUseCase in domain, implemented by a corresponding Repository in data.

Quick Start

Organize your Android project into the recommended module structure and apply the dependency rules to start building with clean architecture.

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 modules by organizing your codebase into app, core, domain, data, and presentation layers. This enforces clear boundaries and dependency rules, keeping domain logic independent from data and presentation layers to ease maintenance.

What is the correct dependency rule for domain and data layers in Kotlin Multiplatform?

The correct dependency rule for domain and data layers in Kotlin Multiplatform mandates that domain layers and UseCases remain completely independent of data and presentation layers. This separation ensures data layer implementations can change without affecting core business logic.

Can I use Koin or Hilt for dependency injection across clean architecture modules?

Yes, you can use Koin or Hilt for dependency injection across clean architecture modules. The Skill provides practical DI guidance to configure injections across app, domain, and data layers, supporting both Koin for KMP projects and Hilt for standard Android applications.

How do I implement a UseCase and Repository pattern in Android clean architecture?

Implement a UseCase and Repository pattern in Android clean architecture by defining interfaces like GetUserProfileUseCase in the domain layer, then providing concrete data layer implementations using repositories. This pattern isolates business rules from data sources.

Does clean architecture for Kotlin Multiplatform work with Room, SQLDelight, and Ktor?

Clean architecture for Kotlin Multiplatform works seamlessly with Room, SQLDelight, and Ktor. The data layer design supports these frameworks for database management and network requests, allowing you to map external data sources directly to domain models.

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

You should not use clean architecture for your Android app when dealing with small, prototype-level projects where strict module separation and UseCase patterns introduce unnecessary overhead. It is designed to ease maintenance and scaling for complex applications.