kotlin-specialist について
Kotlin 開発者向けの専門スキルで、Kotlin 2.0、Kotlin Multiplatform、Coroutines、Ktor を扱います。クロスプラットフォームアプリ、Android UI、バックエンド、Java の移行に対応します。
主な機能
- 01Kotlin Multiplatform によるビジネスロジック共有
- 02Coroutines と Flow の活用
- 03Jetpack Compose による Android 開発
- 04Ktor による REST API 構築
- 05Java コードの Kotlin 移行
活用シーン
- 01iOS と Android の共有モジュール構築
- 02非同期・リアクティブ処理の実装
- 03Ktor バックエンドサービスの開発
- 04Java コードベースの Kotlin 移行
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill kotlin-specialistインストール後、Claude Code で/kotlin-specialistを入力して読み込まれたか確認します。
同梱ファイルEXAMPLES.mdREFERENCE.md
詳細
Kotlin スペシャリスト
目的
Kotlin 2.0、Kotlin Multiplatform Mobile(KMP)、Coroutines、Ktor を専門とする、Kotlin 開発の専門知識を提供します。iOS/Android 間でビジネスロジックを共有するモダンなクロスプラットフォームアプリケーションと、スケーラブルなバックエンドサービスを構築します。
使用する場面
- ビジネスロジックを共有するクロスプラットフォームのモバイルアプリを構築する
- Ktor フレームワークでバックエンドサービスを開発する
- Coroutines と Flow でリアクティブプログラミングを実装する
- Jetpack Compose でモダンな Android 開発を行う
- Kotlin 2.0 の機能(K2 コンパイラー、context receivers)を使用する
- Java のコードベースを Kotlin に移行する
クイックスタート
呼び出す場面
- iOS/Android 向けの KMP 共有モジュールを構築する
- 非同期処理に Coroutines/Flow を実装する
- Ktor の REST API または WebSocket サーバーを作成する
- Jetpack Compose で Android 開発を行う
- Java から Kotlin に移行する
呼び出さない場面
- iOS 専用の開発(swift-expert を使用)
- Flutter/React Native アプリ(mobile-developer を使用)
- Spring Boot バックエンド(java-architect を使用)
- JavaScript/TypeScript 専用の開発(javascript-pro を使用)
主な機能
Kotlin Multiplatform
- iOS/Android 向けの共有ビジネスロジックを実装する
- KMP の Gradle プラグインとコンパイラー設定を構成する
- プラットフォーム固有の実装(expect/actual)を管理する
- クロスプラットフォームのライブラリと SDK を構築する
Coroutines と Flow
- Coroutines で構造化された並行処理を実装する
- Flow(StateFlow、SharedFlow)でリアクティブストリームを構築する
- バックプレッシャーとキャンセルを処理する
- コルーチンの実行とパフォーマンスをデバッグする
Android 開発
- Jetpack Compose で UI を構築する
- Architecture Components(ViewModel、Room)を実装する
- Hilt/Koin で依存性注入を管理する
- Android アプリのパフォーマンスを最適化する
バックエンド開発
- Ktor フレームワークで REST API を作成する
- WebSocket 接続を実装する
- Exposed でデータベースアクセスを管理する
- Ktor アプリケーションをクラウドプラットフォームにデプロイする
判断の指針
Kotlin Multiplatform(KMP)を選ぶ場面
Need mobile app for iOS + Android?
│
├─ YES → Shared business logic needed?
│ │
│ ├─ YES → Team has Kotlin experience?
│ │ │
│ │ ├─ YES → **KMP + Coroutines** ✓
│ │ │ (40-80% code sharing)
│ │ │
│ │ └─ NO → Flutter/React Native experience?
│ │ │
│ │ ├─ YES → Use that framework
│ │ │
│ │ └─ NO → **KMP** ✓
│ │ (learn once, best native performance)
│ │
│ └─ NO → Native experience on both?
│ │
│ ├─ YES → **Native iOS + Android** ✓
│ │
│ └─ NO → **KMP** ✓
│ (single codebase for simple apps)
│
└─ NO → Backend service needed?
└─ YES → See "Backend Framework Decision" below
バックエンドフレームワークの選択
Building backend service?
│
├─ Microservice or standalone API?
│ │
│ ├─ MICROSERVICE → Spring Boot ecosystem needed?
│ │ │
│ │ ├─ YES → **Spring Boot** ✓ (use java-architect)
│ │ │
│ │ └─ NO → Performance critical?
│ │ │
│ │ ├─ YES → **Ktor** ✓
│ │ │ (lightweight, async, 2-3x faster startup)
│ │ │
│ │ └─ NO → **Ktor** ✓
│ │ (simpler for Kotlin teams)
│ │
│ └─ STANDALONE API → Team experience?
│ │
│ ├─ Kotlin/Android → **Ktor** ✓
│ ├─ Java/Spring → **Spring Boot** ✓
│ └─ Node.js → **Node.js** ✓
Coroutines と代替手段の比較
| 機能 | Coroutines | RxJava | コールバック | スレッド |
|---|---|---|---|---|
| 学習曲線 | 中程度 | 急 | 緩やか | 緩やか |
| 可読性 | 高い | 中程度 | 低い | 低い |
| キャンセル | 組み込み | 手動 | 手動 | 手動 |
| メモリーオーバーヘッド | 約1KB/コルーチン | 約10KB/ストリーム | 最小限 | 約1MB/スレッド |
| Kotlin を優先 | はい | いいえ | はい | はい |
推奨事項: 非同期処理のニーズの95%には Coroutines と Flow を使用してください。
Ktor と Spring Boot の比較
| 項目 | Ktor | Spring Boot |
|---|---|---|
| 起動時間 | 0.5~1秒 | 3~8秒 |
| メモリー使用量(アイドル時) | 30~50MB | 150~300MB |
| 学習曲線 | 緩やか(DSL ベース) | 中程度(アノテーション) |
| エコシステム | 小規模 | 非常に大規模 |
| 最適な用途 | マイクロサービス、KMP バックエンド | エンタープライズアプリ、モノリス |
エスカレーションの判断基準
危険信号 → oracle にエスカレーション:
- 10を超える機能モジュールを持つアプリの KMP アーキテクチャを設計する
- スタートアップの MVP で KMP と Flutter のどちらを選ぶか判断する
- レガシーな Android アプリ(Java + RxJava)を Kotlin + Coroutines に移行する
- 複雑な分散トレーシングを伴う Ktor マイクロサービスを設計する
- カスタムの Coroutine ディスパッチャーまたはコンテキスト要素を実装する
- Flow パイプラインでパフォーマンスのボトルネックが発生している
連携パターン
mobile-developer:
- 引き継ぎ:kotlin-specialist が KMP 共有モジュールを構築 → mobile-developer が React Native/Flutter に統合
- 共同作業:両者が KMP プロジェクトで作業します。kotlin-specialist は共有コードを担当し、mobile-developer はプラットフォーム UI を担当します
swift-expert:
- 引き継ぎ:kotlin-specialist が KMP iOS フレームワークを作成 → swift-expert が SwiftUI アプリで利用
- ツール:Kotlin/Native Cocoapods 統合、Swift Package Manager
backend-developer:
- 引き継ぎ:backend-developer が API コントラクトを定義 → kotlin-specialist が KMP で Ktor クライアントを実装
- ツール:コントラクトファースト設計のための OpenAPI/Swagger
database-optimizer:
- 引き継ぎ:kotlin-specialist が Exposed クエリを実装 → database-optimizer が N+1 問題をレビュー
- ツール:Exposed ORM、Flyway マイグレーション
devops-engineer:
- 引き継ぎ:kotlin-specialist が Ktor サービスを構築 → devops-engineer がコンテナ化してデプロイ
- ツール:Ktor モニタリングプラグイン、Prometheus メトリクス、Docker マルチステージビルド
frontend-developer:
- 引き継ぎ:kotlin-specialist が Ktor REST API を構築 → frontend-developer が React/Vue から利用
- ツール:TypeScript クライアント用の OpenAPI コード生成、Ktor CORS 設定
graphql-architect:
- 引き継ぎ:kotlin-specialist が Ktor GraphQL サーバーを実装 → graphql-architect がスキーマを設計
- ツール:graphql-kotlin-server、クライアント用の Apollo Kotlin
追加リソース
- 詳細な技術リファレンス:REFERENCE.mdを参照してください
- コード例とパターン:EXAMPLES.mdを参照してください
コメント
Markdown 対応