Agent skill · software engineering · affaan-m
android-clean-architecture
Android と Kotlin Multiplatform プロジェクトのクリーンアーキテクチャパターン — モジュール構造、依存関係ルール、UseCase、Repository、データ層パターン。
Why this skill is useful
Provides specific patterns and implementations for Clean Architecture in Android and Kotlin Multiplatform, which the AI wouldn't reliably generate on its own.
What it needs
Requires android-sdk, kotlin installed locally. About 3k tokens when loaded. Last updated 2026-08-06. 238,342 stars on the source repository.
What this skill does
Android クリーンアーキテクチャ Android と KMP プロジェクトのクリーンアーキテクチャパターン。モジュール境界、依存関係の逆転、UseCase/Repository パターン、Room・SQLDelight・Ktor を使用したデータ層設計をカバーします。 起動タイミング Android または KMP プロジェクトモジュールの構造化 UseCase、Repository、DataSource の実装 層間のデータフロー設計(ドメイン、データ、プレゼンテーション) Koin または Hilt による依存性注入のセットアップ 層状アーキテクチャでの Room、SQLDelight、Ktor の使用 モジュール構造 推奨レイアウト 依存関係ルール 重要: domain は data、presentation、またはどのフレームワークにも依存してはいけません。純粋な Kotlin のみを含みます。 ドメイン層 UseCase パターン 各 UseCase は 1 つのビジネス操作を表します。クリーンな呼び出しサイトのために operator fun invoke を使用します: ドメインモデル ドメインモデルはプレーンな Kotlin データクラス — フレームワークのアノテーションなし: リポジトリインターフェース ドメインで定義し、データで実装する: データ層 リポジトリ実装 ローカルとリモートのデータソース間を調整する: マッパーパターン マッパーはデータモデルの近くに拡張関数として保持する: Room データベース(Android) SQLDelight(KMP) Ktor ネットワーククライアント(KMP) 依存性注入 Koin(KMP フレンドリー) Hilt(Android のみ) エラー処理 Result/Try パターン エラー伝播に Result<T> またはカスタムシール型を使用する: コンベンションプラグイン(Gradle) KMP プロジェクトでは、ビルドファイルの重複を削減するためにコンベンションプラグインを使用する: モジュールに適用する: 避けるべきアンチパターン domain に Android フレームワークのクラスをインポートする — 純粋な Kotlin に保つ データベースエンティティや DTO を UI 層に公開する — 常にドメインモデルにマッピングする ViewModel にビジネスロジックを配置する — UseCase に抽出する GlobalScope や非構造化コルーチンを使用する — viewModelScope または構造化された並行処理を使用する 肥大化したリポジトリ実装 — 焦点を絞った DataSource に分割する 循環モジュール依存 — A が B に依存する場合、B は A に依存してはいけない 参考資料 スキル参照: UI パターンは compose-multiplatform-patterns を参照。 非同期パターンは kotlin-coroutines-flows を参照。
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills affaan-m/android-clean-architecture