android-clean-architecture

Standardize Android and Kotlin Multiplatform projects with layered architecture and dependency inversion.

Updated Jul 8, 2026
One-click install
npx skills add https://github.com/nazrulsoftwaredev/NIT_CRM_2 --skill android-clean-architecture-nazrulsoftwaredev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: android-clean-architecture
Source: https://github.com/nazrulsoftwaredev/NIT_CRM_2/tree/main/.agents/skills/android-clean-architecture
Command: npx skills add https://github.com/nazrulsoftwaredev/NIT_CRM_2 --skill android-clean-architecture-nazrulsoftwaredev

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill addresses the complexity of maintaining scalable Android and Kotlin Multiplatform (KMP) codebases by enforcing strict separation of concerns and modular dependency rules.

Core Features & Use Cases

  • Layered Architecture: Implements clear boundaries between domain, data, and presentation layers to ensure testability and maintainability.
  • Pattern Implementation: Provides standardized templates for UseCases, Repositories, and DataSources using modern libraries like Room, SQLDelight, and Ktor.
  • Use Case: Use this guide to refactor a monolithic Android module into a clean, multi-module structure that separates business logic from framework-specific implementation details.

Quick Start

Apply the android-clean-architecture skill to structure a new feature module by defining the domain models and repository interfaces first.

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 using clean architecture and modularization?

Structure an Android project using clean architecture by enforcing strict separation of concerns across domain, data, and presentation layers. This approach decouples business logic from framework dependencies using UseCase, Repository, and DataSource patterns.

How do I separate business logic from framework dependencies in Kotlin Multiplatform?

Separate business logic from framework dependencies in Kotlin Multiplatform by applying dependency inversion and modularization. Define domain models and repository interfaces first to ensure consistent data flow and testability across shared modules.

What is the best way to refactor a monolithic Android module into a multi-module structure?

The best way to refactor a monolithic Android module into a multi-module structure is by standardizing architectural design through strict modular dependency rules. This separates business logic from framework-specific implementation details using industry-standard libraries.

Does this clean architecture approach work with Kotlin Multiplatform and modern libraries like SQLDelight and Ktor?

Yes, this clean architecture approach works with Kotlin Multiplatform and modern libraries like SQLDelight and Ktor. It provides standardized templates for Repositories and DataSources to ensure consistent data flow across platforms.

When should I implement UseCase, Repository, and DataSource patterns in my Android app?

Implement UseCase, Repository, and DataSource patterns when you need to decouple business logic from framework dependencies and ensure testability. These patterns maintain scalable Android and Kotlin Multiplatform codebases by enforcing strict separation of concerns.