kotlin

Define a Kotlin Clean Architecture blueprint with layered UseCase, Repository, and DataSource dependencies.

58|20|Updated Feb 19, 2026
One-click install
npx skills add https://github.com/ABIvan-Tech/copilot-agentic-workflows --skill kotlin-abivan-tech
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kotlin
Source: https://github.com/ABIvan-Tech/copilot-agentic-workflows/tree/main/skills/kotlin
Command: npx skills add https://github.com/ABIvan-Tech/copilot-agentic-workflows --skill kotlin-abivan-tech

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Kotlin projects often suffer from unclear boundaries between domain logic, data access, and presentation layers, making maintenance painful and slowing delivery.

Core Features & Use Cases

  • Establishes a principled Clean Architecture with Domain, Data, and UI boundaries for Kotlin and KMP modules.
  • Enforces a UseCase -> Repository -> DataSource dependency graph with explicit error handling.
  • Provides guidance for modular project structure, dependency injection, and testability in multi-module Kotlin projects.

Quick Start

Set up a Kotlin project structure following these rules and implement a UseCase with a single public function delegating data access to a Repository and a DataSource.

Frequently Asked Questions about kotlin

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a Kotlin project using clean architecture?

Structure a Kotlin project using clean architecture by defining explicit Domain, Data, and UI boundaries. This approach enforces a UseCase, Repository, and DataSource dependency graph to isolate domain logic from data access and presentation layers.

What is the best way to handle dependencies in a multiplatform Kotlin module?

Handle dependencies in a multiplatform Kotlin module by enforcing a layered graph where UseCases delegate to Repositories and DataSources. This establishes clear boundaries and reliable integration across shared KMP modules.

Does this clean architecture blueprint work with Kotlin Multiplatform setups?

Yes, this architecture blueprint applies to Kotlin Multiplatform setups. It covers pure Kotlin modules and KMP projects, specifying multi-module layouts and language patterns that ensure testability across common app scenarios.

How do I implement a UseCase that delegates data access correctly?

Implement a UseCase with a single public function that delegates data access to a Repository and a DataSource. This explicit dependency graph isolates domain logic and ensures reliable error handling and testing.

Why does my Kotlin project need explicit error handling in its data layer?

Your Kotlin project needs explicit error handling in its data layer to maintain clear boundaries between domain logic and data access. The architecture enforces this practice within the UseCase, Repository, and DataSource graph to ensure reliable integration.