android-clean-architecture

Enforce clean architecture module boundaries and dependency rules in Android and Kotlin Multiplatform projects.

Updated Apr 13, 2026
One-click install
npx skills add https://github.com/sakamoto-family-smile/agent_monorepo --skill android-clean-architecture-sakamoto-family-smile
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-clean-architecture
Source: https://github.com/sakamoto-family-smile/agent_monorepo/tree/main/.claude/skills/ecc/android-clean-architecture
Command: npx skills add https://github.com/sakamoto-family-smile/agent_monorepo --skill android-clean-architecture-sakamoto-family-smile

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This guide provides a structured blueprint to implement and enforce a clean architecture in Android and Kotlin Multiplatform projects, clarifying the roles of modules, layers, and dependencies to reduce coupling and improve testability.

Core Features & Use Cases

  • Module layout guidance (app, domain, data, presentation, and common shared layers) with clear boundaries.
  • Dependency rules and DI strategies (Koin or Hilt) to ensure proper direction of dependencies and testability.
  • Domain-driven patterns with UseCases, Repository interfaces, and data layer implementations for a modular, scalable codebase.

Quick Start

Organize your project into the recommended module structure and apply the dependency rules to start building a layered Android/KMP 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 to follow clean architecture?

Structure your Android project by dividing it into app, domain, data, presentation, and shared modules. This clean architecture approach enforces strict module boundaries and directed dependencies to reduce coupling and improve testability across your codebase.

How do I set up dependency injection for a Kotlin Multiplatform project using clean architecture?

Set up dependency injection for your Kotlin Multiplatform project using Koin or Hilt. These DI frameworks enforce proper dependency direction across layers, ensuring your domain layer remains independent and your modular architecture remains fully testable.

What is the role of UseCases and Repositories in Android clean architecture?

UseCases and Repositories implement domain-driven patterns in Android clean architecture. Repository interfaces define data contracts in the domain layer, while UseCases encapsulate single business logic tasks, keeping your codebase modular and scalable.

Can I use Room and SQLDelight together in a Kotlin Multiplatform data layer?

Yes, you can use Room and SQLDelight in your data layer implementations. The clean architecture blueprint supports these database frameworks alongside Ktor for network operations, ensuring strict separation of concerns within your data layer patterns.

When do I need to enforce strict module boundaries in an Android app?

You need to enforce strict module boundaries in an Android app when building scalable, production-ready architectures. Directed dependencies prevent the data layer from referencing UI components, reducing coupling and ensuring your codebase remains testable.