android-clean-architecture

Standardize Clean Architecture layers with UseCases and Repository patterns in Android projects.

1|Updated Apr 6, 2026
One-click install
npx skills add https://github.com/vrcms/everything-qwen-code --skill android-clean-architecture-vrcms
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-clean-architecture
Source: https://github.com/vrcms/everything-qwen-code/tree/main/.qwen/skills/android-clean-architecture
Command: npx skills add https://github.com/vrcms/everything-qwen-code --skill android-clean-architecture-vrcms

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill addresses the complexity of maintaining scalable Android and Kotlin Multiplatform projects by enforcing strict separation of concerns and preventing common architectural pitfalls like circular dependencies or business logic leakage.

Core Features & Use Cases

  • Layered Architecture Enforcement: Provides clear guidelines for domain, data, and presentation layer boundaries.
  • Pattern Implementation: Standardizes the use of UseCases, Repository patterns, and Mapper functions.
  • Dependency Management: Offers templates for Koin and Hilt dependency injection and Gradle convention plugins.
  • Use Case: Use this skill when setting up a new feature module to ensure your domain layer remains pure Kotlin and independent of Android framework dependencies.

Quick Start

Apply the android-clean-architecture skill to generate the recommended module structure and dependency rules for my new 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 an Android Kotlin project using clean architecture?

To structure an Android Kotlin project using clean architecture, you must separate code into distinct domain, data, and presentation layers. This approach enforces strict boundaries, ensuring your business logic remains pure Kotlin and independent of the Android framework.

How do I keep domain logic framework-agnostic in Kotlin Multiplatform?

Keeping domain logic framework-agnostic in Kotlin Multiplatform requires implementing strict dependency inversion principles. By standardizing UseCases and Repository patterns, you prevent business logic leakage and ensure the domain layer depends only on pure Kotlin code.

Does this clean architecture approach support Hilt and Koin for dependency injection?

Yes, this clean architecture approach supports both Hilt and Koin for dependency injection. It provides specific templates for configuring both DI frameworks, along with Gradle convention plugins, to manage dependencies across decoupled feature modules.

What's the best way to prevent circular dependencies in KMP project architecture?

The best way to prevent circular dependencies in KMP project architecture is enforcing layered boundaries between domain, data, and presentation tiers. Utilizing standardized Mapper functions and the Repository pattern ensures unidirectional data flow and strict separation of concerns.

When do I need to use UseCases and Repository patterns in mobile development?

You need to use UseCases and Repository patterns in mobile development when setting up new feature modules that require scalable architecture. These patterns facilitate decoupled layers, ensuring dependency inversion and keeping your business logic framework-agnostic.