android-clean-architecture
Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns.
Security Assessment
About android-clean-architecture
The `android-clean-architecture` skill provides a structured approach to implementing Clean Architecture in Android and Kotlin Multiplatform (KMP) projects. It guides developers in organizing project modules, enforcing dependency rules, and separating concerns across layers such as domain, data, and presentation. By following these patterns, teams can achieve maintainable, testable, and scalable applications while avoiding common pitfalls like tightly coupled code or improper layering of business logic and framework code.
This skill covers essential patterns and practices including UseCases, Repository interfaces, and data layer implementations. It emphasizes keeping the domain layer pure, defining domain models as framework-independent Kotlin classes, and implementing repositories that coordinate between local and remote data sources. It also provides guidance on module layout, dependency inversion, and integration with popular tools like Room, SQLDelight, Ktor, Koin, and Hilt. Mapper patterns and reactive flows are included to streamline data transformation and observation across layers.
The skill is particularly useful for Android developers, Kotlin Multiplatform engineers, and teams designing modular applications with clear separation of concerns. Typical use cases include structuring new projects, refactoring existing codebases to follow Clean Architecture, implementing business operations as UseCases, and designing robust data flows between layers. It is ideal for projects that require maintainable, testable code, and for developers seeking to standardize architecture patterns across multiple modules or platforms.
FAQ
When should I activate the android-clean-architecture skill?
You should activate this skill when structuring Android or Kotlin Multiplatform projects, implementing UseCases and Repositories, designing data flow between layers, setting up dependency injection, or working with Room, SQLDelight, or Ktor.
Is this skill compatible with both Android and Kotlin Multiplatform projects?
Yes, the skill is designed to support both Android and KMP projects, providing module structures and patterns that work across platforms.
Can the domain layer depend on data or presentation layers?
No, the domain layer must remain pure Kotlin and must never depend on the data, presentation, or any framework layers.
Does this skill include database and network integration guidance?
Yes, it covers integration with Room, SQLDelight for local storage, and Ktor for network operations within the data layer.
Are UseCases reactive or synchronous?
Both patterns are supported: UseCases can be synchronous using suspend functions or reactive using Flow for observing streams of data.
Install android-clean-architecture
Quick Setup:
- Copy the skill folder to
.claude/skills/ - Claude will automatically detect and use the skill
Repository
affaan-m/everything-claude-code