kotlin-coroutines
Kotlinの構造化並行処理、Flow、Channelパターンに対応しています。
description の原文を見る
Kotlin structured concurrency, Flow, and Channel patterns.
SKILL.md 本文
Kotlin コルーチン パターン
Kotlin コルーチン開発の統括スキル: 構造化並行処理、キャンセレーション、Flow、StateFlow/SharedFlow、Channel、例外処理、およびディスパッチャーをカバーしています。タスクに応じて適切なリファレンスへ導きます。
リファレンス読み込みテーブル
| シグナル | 読み込むファイル | 理由 |
|---|---|---|
| Concurrency | concurrency-patterns.md | スコープ、キャンセレーション、ディスパッチャー、例外処理 |
| Flow | flow-patterns.md | Flow ビルダー、StateFlow、SharedFlow、オペレータ |
| Channels | channel-patterns.md | プロデューサー・コンシューマー、ファンイン・ファンアウト パターン |
| 失敗モード | preferred-patterns.md | GlobalScope、非構造化 launch、CancellationException |
手順
ステップ 1: ドメインを特定する
タスクを 1 つ以上のドメインに分類し、対応するリファレンス ファイルを読み込みます。 必要なものだけを読み込んでください -- すべてのタスクに対してすべてのリファレンスを読み込まないでください。
| ドメイン | リファレンスを読み込む | タイミング |
|---|---|---|
| Concurrency | references/concurrency-patterns.md | スコープ、キャンセレーション、ディスパッチャー、例外処理 |
| Flow | references/flow-patterns.md | Flow ビルダー、StateFlow、SharedFlow、オペレータ |
| Channels | references/channel-patterns.md | プロデューサー・コンシューマー、ファンイン・ファンアウト パターン |
| 失敗モード | references/preferred-patterns.md | GlobalScope、非構造化 launch、CancellationException |
複数のドメインが当てはまる場合もあります。例えば、Flow と Channel の両方を使用するコードをレビューする場合は、flow-patterns.md と channel-patterns.md の両方を読み込む必要があります。
ステップ 2: リファレンスを読み込んで従う
${CLAUDE_SKILL_DIR}/references/<name>.md を使用して、選択したリファレンス ファイルを読みます。
各リファレンスには、そのドメインの完全なパターン、コード例、および決定マトリックスが含まれています。リファレンスの指示に従います。これはこのスキルの指示そのものです。
ステップ 3: 実行する
読み込んだリファレンス パターンをタスクに適用します。コード例を実装ガイダンスのテンプレートとして使用します。
重要な原則
- 構造化並行処理は必須です -- すべてのコルーチンは、そのライフタイムを定義する親スコープを持つ必要があります。
- ディスパッチャーをインジェクトします -- 呼び出し元(とテスト)がスレッド制御できるように、
CoroutineDispatcherをパラメータとして受け入れます。 - 常に CancellationException を再スローします -- 即座に再スローするか、
Exceptionをキャッチする代わりに特定の例外型を使用します。 - Channel より Flow を優先します -- Flow はコールド、合成可能、バックプレッシャーに対応しています。Channel はより低レベルです。Flow では表現できないパターンの場合のみ使用してください。
- 部分的な失敗耐性には supervisorScope を使用します -- 独立したタスクが相互にキャンセルしてはいけない場合は、supervisorScope でラップします。
- GlobalScope の代わりにスコープ付きコルーチンを使用します -- GlobalScope はライフサイクル、キャンセレーション、構造化並行処理がありません。アプリケーション フレームワークからスコープを渡してください。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- notque
- リポジトリ
- notque/vexjoy-agent
- ライセンス
- MIT
- 最終更新
- 2026/5/12
Source: https://github.com/notque/vexjoy-agent / ライセンス: MIT
関連スキル
doubt-driven-development
重要な判断はすべて、本番環境への展開前に新しい視点から対抗的レビューを実施します。速度より正確性が重要な場合、不慣れなコードを扱う場合、本番環境・セキュリティに関わるロジック・取り消し不可の操作など影響度が高い場合、または後でバグを修正するよりも今検証する方が効率的な場合に活用してください。
apprun-skills
TypeScriptを使用したAppRunアプリケーションのMVU設計に関する総合的なガイダンスが得られます。コンポーネントパターン、イベントハンドリング、状態管理(非同期ジェネレータを含む)、パラメータと保護機能を備えたルーティング・ナビゲーション、vistestを使用したテストに対応しています。AppRunコンポーネントの設計・レビュー、ルートの配線、状態フローの管理、AppRunテストの作成時に活用してください。
desloppify
コードベースのヘルスチェックと技術負債の追跡ツールです。コード品質、技術負債、デッドコード、大規模ファイル、ゴッドクラス、重複関数、コードスメル、命名規則の問題、インポートサイクル、結合度の問題についてユーザーが質問した場合に使用してください。また、ヘルススコアの確認、次の改善項目の提案、クリーンアップ計画の作成をリクエストされた際にも対応します。29言語に対応しています。
debugging-and-error-recovery
テストが失敗したり、ビルドが壊れたり、動作が期待と異なったり、予期しないエラーが発生したりした場合に、体系的な根本原因デバッグをガイドします。推測ではなく、根本原因を見つけて修正するための体系的なアプローチが必要な場合に使用してください。
test-driven-development
テスト駆動開発により実装を進めます。ロジックの実装、バグの修正、動作の変更など、あらゆる場面で活用できます。コードが正常に動作することを証明する必要がある場合、バグ報告を受けた場合、既存機能を修正する予定がある場合に使用してください。
incremental-implementation
変更を段階的に実施します。複数のファイルに影響する機能や変更を実装する場合に使用してください。大量のコードを一度に書こうとしている場合や、タスクが一度では完結できないほど大きい場合に活用します。