android-clean-architecture

Standardize Android and Kotlin Multiplatform project architecture with layered modules.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill addresses the complexity of maintaining scalable Android and Kotlin Multiplatform projects by enforcing strict module boundaries and dependency inversion.

Core Features & Use Cases

  • Module Structuring: Provides a clear blueprint for organizing app, domain, data, and presentation layers.
  • Pattern Implementation: Offers standardized templates for UseCases, Repositories, and DataSources.
  • Use Case: Use this skill to refactor a monolithic Android module into a clean, testable architecture that separates business logic from framework-specific implementation details.

Quick Start

Apply the android clean architecture patterns to structure the current project modules and define the domain layer interfaces.

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 and Kotlin Multiplatform project using clean architecture?

To structure an Android and KMP project using clean architecture, apply standardized templates that organize app, domain, data, and presentation layers. This enforces strict module boundaries and dependency inversion to separate business logic from framework-specific implementation details.

What is the best way to refactor a monolithic Android module into a testable architecture?

The best way to refactor a monolithic Android module into a testable architecture is to enforce strict module boundaries and define domain layer interfaces. This process separates pure Kotlin domain logic from framework-agnostic data handling to improve maintainability.

How does dependency injection work with repository pattern and UseCase templates in KMP?

Dependency injection with repository pattern and UseCase templates in KMP works by enforcing strict module boundaries and dependency inversion. Facilitating the implementation of UseCases, Repositories, and DataSources ensures separation of concerns across the architectural layout.

How do I separate business logic from framework-specific implementation in Android?

To separate business logic from framework-specific implementation in Android, enforce pure Kotlin domain logic and framework-agnostic data handling. This architectural standardization ensures improved testability and maintainability by isolating business rules from framework-specific implementation details.

Can I use clean architecture to standardize UseCase and Repository patterns for Kotlin Multiplatform?

Yes, you can use clean architecture to standardize UseCase and Repository patterns for Kotlin Multiplatform. It offers standardized templates for UseCases, Repositories, and DataSources, enforcing pure Kotlin domain logic across shared modules to ensure separation of concerns.

Why do I need strict module boundaries and dependency inversion for scalable Android projects?

You need strict module boundaries and dependency inversion for scalable Android projects to address the complexity of maintaining them. Enforcing these architectural rules ensures separation of concerns, keeping pure Kotlin domain logic framework-agnostic for improved testability and maintainability.