android-clean-architecture

Structure Android and Kotlin Multiplatform projects with Clean Architecture patterns.

1|Updated Feb 22, 2026
One-click install
npx skills add https://github.com/TakMczk/copilot-cli-ecc --skill android-clean-architecture
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-clean-architecture
Source: https://github.com/TakMczk/copilot-cli-ecc/tree/main/.github/skills/android-clean-architecture
Command: npx skills add https://github.com/TakMczk/copilot-cli-ecc --skill android-clean-architecture

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides a robust framework for structuring Android and Kotlin Multiplatform (KMP) projects, ensuring maintainability, testability, and scalability through Clean Architecture principles.

Core Features & Use Cases

  • Module Structure: Defines clear boundaries for app, core, domain, data, and presentation layers.
  • Dependency Rules: Enforces strict dependency flow to keep the domain layer pure.
  • Patterns: Implements UseCase, Repository, and DataSource patterns for business logic and data handling.
  • Data Layer Integration: Shows examples for Room (Android), SQLDelight (KMP), and Ktor (KMP) for persistence and networking.
  • DI: Demonstrates setup with Koin and Hilt.
  • Error Handling: Guides on using Result or sealed types for robust error management.
  • Use Case: When starting a new Android or KMP project, use this Skill to set up the foundational module structure and core architectural patterns.

Quick Start

Apply the android-clean-architecture skill to structure 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 structure a Kotlin Multiplatform project using clean architecture?

Structure KMP projects by defining clear boundaries for app, core, domain, data, and presentation layers, enforcing strict dependency rules to keep the domain layer pure and maintainable.

What is the best way to enforce dependency rules in an Android clean architecture project?

Enforce dependency rules in Android clean architecture by restricting module dependencies so that data and presentation layers depend on the domain layer, ensuring the domain remains pure and independent.

Can I use Koin or Hilt for dependency injection in a Kotlin Multiplatform clean architecture setup?

Yes, you can use Koin for Kotlin Multiplatform or Hilt for Android dependency injection within clean architecture to provide UseCases, Repositories, and DataSources across modular layers.

How do I handle error management in Android clean architecture with Kotlin?

Handle errors in Android clean architecture by using Kotlin's Result class or sealed types, allowing robust error propagation and management across domain and data layers.

Does clean architecture for KMP support local persistence with SQLDelight and networking with Ktor?

Yes, KMP clean architecture supports data layer integration using SQLDelight for multiplatform local persistence and Ktor for networking, alongside Room for Android-specific database implementations.

When should I use UseCase and Repository patterns in Android mobile development?

Use UseCase and Repository patterns in Android mobile development to encapsulate business logic and data handling, ensuring clean separation between domain and data layers for better testability.