android-clean-architecture

Organize Android and Kotlin Multiplatform projects into clean architectural layers.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/yusufcmg/Agent_Memory_Systems --skill android-clean-architecture-yusufcmg
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-clean-architecture
Source: https://github.com/yusufcmg/Agent_Memory_Systems/tree/main/.claude/skills/android-clean-architecture
Command: npx skills add https://github.com/yusufcmg/Agent_Memory_Systems --skill android-clean-architecture-yusufcmg

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Structuring Android and Kotlin Multiplatform projects with clear modular boundaries to improve testability, scalability, and maintenance by enforcing separation of concerns and dependency rules.

Core Features & Use Cases

  • Module boundary guidelines and a recommended project layout with app, core, domain, data, presentation, and feature modules.
  • Domain-driven design principles: UseCase, Repository interfaces, and clean data flow between domain, data, and presentation layers; guidance on data layer (Room, SQLDelight, Ktor).
  • Dependency rules and DI integration guidance (Koin or Hilt) to keep domain pure and decoupled from frameworks.
  • Real-world patterns for structuring cross-platform modules and enforcing architectural constraints.

Quick Start

Apply the Android Clean Architecture template to organize modules, create UseCases and Repositories, and wire dependencies with DI frameworks.

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 Android clean architecture projects by organizing modules into app, core, domain, data, presentation, and feature layers to enforce separation of concerns and dependency rules. This modular layout improves testability, scalability, and maintenance across Android and Kotlin Multiplatform projects.

How do I implement UseCase and Repository patterns in Kotlin Multiplatform?

Implement UseCase and Repository patterns in Kotlin Multiplatform by defining repository interfaces in the pure domain layer and designing data flows between domain, data, and presentation layers. This approach keeps domain logic decoupled from frameworks while ensuring clean data flow.

Does this clean architecture guidance support Room, SQLDelight, and Ktor for the data layer?

Yes, the clean architecture guidance supports Room, SQLDelight, and Ktor for typical data-layer implementations. It provides practical patterns for integrating these specific frameworks within the data module while maintaining strict module boundaries.

Can I use Hilt or Koin for dependency injection in a clean architecture Android project?

Yes, you can use Hilt or Koin for dependency injection in a clean architecture Android project. The guidance includes DI integration to wire dependencies while keeping the domain layer pure and fully decoupled from frameworks.

What's the best way to enforce dependency inversion across Android and Kotlin Multiplatform modules?

The best way to enforce dependency inversion across Android and Kotlin Multiplatform modules is applying real-world patterns for structuring cross-platform modules. This ensures architectural constraints are met by pointing dependencies inward toward the pure domain layer.