/ ディレクトリ / プレイグラウンド / Swift Concurrency Migration Skill
● コミュニティ kylehughes ⚡ 即起動

Swift Concurrency Migration Skill

作者 kylehughes · kylehughes/the-unofficial-swift-concurrency-migration-skill

Swift 6 の同時実行性を自信を持って出荷 — Apple の公式移行ガイドがスキルとして Claude にロードされているため、エージェントは実際のドキュメントを引用します。

このスキルは、Apple の Swift 同時実行移行ガイド (記事 + コード サンプル) を SKILL.md/resources バンドルにパッケージ化しているため、Claude Code、Claude Desktop、および互換性のあるクライアントは、従来のコールバック/DispatchQueue コードを async/await、アクター、および厳密な同時実行に変換するときにガイドを正確に引用できます。 適切な分離境界を取得することがすべてである Swift 6 / 厳密な同時実行の移行に役立ちます。

なぜ使うのか

主な機能

ライブデモ

実際の動作

swift-concurrency-migration-skill.replay ▶ 準備完了
0/0

インストール

作者のリポジトリ · Claude Skills の公式ドキュメント

ユースケース

実用的な使い方: Swift Concurrency Migration Skill

DispatchQueue を多用するモジュールを非同期/待機に変換する

👤 iOS/macOS エンジニアがレガシー コードベースを最新化する ⏱ ~90 min advanced

使うタイミング: あなたは、DispatchQueue、完了ハンドラー、および @escaping クロージャを混合したモジュールを所有しています。 非同期/待機が必要です。

前提条件
  • Xcode と Swift 5.9 以降 (厳密な同時実行が必要な場合は Swift 6 モード) — App StoreからXcodeをインストールする
  • スキルがインストールされています — /plugin Marketplace add kylehughes/the-unofficial-swift-concurrency-migration-skill
フロー
  1. 移行計画を尋ねる
    Swift Concurrency Migration Guide を引用しながら、NetworkService.swift を async/await に移行する手順を説明します。✓ コピーしました
    → ガイド内の計画参照名の記事
  2. 段階的に適用する
    パブリック API サーフェスから開始します。完了ハンドラー メソッドを async/await に変換します。✓ コピーしました
    → コードはラッパー コールバックではなく慣用的な非同期 API を使用します
  3. キャンセルと隔離を処理する
    タスクのキャンセルを追加し、キャッシュのアクターの分離を決定します。✓ コピーしました
    → 適切な Task.check cancelance + 明示的なアクター分離

結果: モジュールは、Apple 独自のガイダンスに関連付けられた推論によりクリーンに移行されました。

注意点
  • 所有権を固定せずに withCheckedContinuation でコールバックをラップする — まずルート API を移行します。 継続を永続的なブリッジとして残さないでください

Sendable の適合性警告についてコードベースを監査する

👤 Swift 6 の厳密な同時実行チェックをオンにするチーム ⏱ ~60 min advanced

使うタイミング: 言語モードを切り替えたところ、コンパイラが悲鳴を上げています。

フロー
  1. 警告をクラスター化する
    このビルド ログ内の送信可能な警告をカテゴリ (値のタイプ、クラス、クロージャ キャプチャ) ごとにグループ化します。✓ コピーしました
    → ガイドの一般的な修正を含むバケットをクリアする
  2. 正規の修正を適用する
    バケットごとに、Swift 同時実行移行ガイドの修正を適用します。 トレードオフを説明します。✓ コピーしました
    → 修正は @unchecked を引用し、正当な場合にのみ送信可能

結果: 各選択について文書化された推論を使用してコンパイルされる Swift 6 ビルド。

注意点
  • @unchecked Sendable をサイレンサーとして使用する — ガイドではこれに対して明示的に警告しています。スレッドセーフ性が文書化されたボックス化されたレガシー API を予約してください。
組み合わせ: xcodebuild

アクターと GlobalActor をどこに紹介するかを決定する

👤 建築家が隔離境界線を引く ⏱ ~30 min intermediate

使うタイミング: 共有状態をモデル化していますが、どのアクター フレーバーが適合するかわかりません。

フロー
  1. 状態を説明する
    状態の説明: <ユーザー プロファイルのキャッシュ。 読み取りが多いため、5 分ごとに書き込みます>。✓ コピーしました
    → スキルはガイドのアクター/GlobalActor セクションを参照します。
  2. 推奨事項を入手する
    アクターと GlobalActor を引用とともに推奨します。✓ コピーしました
    → 一般的なベスト プラクティスではなく、ガイド セクションに基づいた推奨事項

結果: レビューで擁護できる分離モデル。

組み合わせ: jetpack-compose-skill

組み合わせ

他のMCPと組み合わせて10倍の力を

swift-concurrency-migration-skill + xcodebuild

反復: 移行 → ビルド → 警告の修正 → 繰り返し

各編集後に、xcodebuild を実行し、Swift 6 の警告をスキルにフィードバックします。✓ コピーしました
swift-concurrency-migration-skill + the-unofficial-swift-programming-language-skill

Swift 言語に関する一般的な質問と同時実行固有のガイダンス

ジェネリックパラメータパックについて説明します。 次に、同時実行移行に適用します。✓ コピーしました
swift-concurrency-migration-skill + jetpack-compose-skill

クロスプラットフォーム作業を行う場合の Android Compose コルーチンと Swift 同時実行性の対比

私たちの iOS チームは async/await を使用します。 Android チームはコルーチンを使用します。 共有 API レイヤーの同時実行パターンを調整します。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
migrating-to-swift-concurrency (SKILL) natural-language code questions Swift の同時実行性を使用していて、信頼できる回答が必要なときはいつでも 0

コストと制限

運用コスト

APIクォータ
なし
呼び出しあたりのトークン
ガイドがどのくらいロードされるかによって異なります。 質問の範囲を狭くする
金額
無料
ヒント
スキルが関連するセクションのみを読み込むように、正確な質問 (ファイル名、警告名) を行います。

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: 資格情報がありません
データ送信先: なし - コンテンツはローカルにバンドルされます

トラブルシューティング

よくあるエラーと対処法

回答は一般的なものであり、セクションを引用していません

明示的にプロンプ​​トを表示します: 「Swift 同時実行移行ガイドのセクションを引用します」。 スキルにはテキストがあり、それを使用させます。

/plugin経由でインストールが失敗する

クロード コードを /plugin マーケットプレイスをサポートするバージョンに更新します。 あるいは、リリース ZIP をダウンロードします。

確認: claude --version

代替案

Swift Concurrency Migration Skill 他との比較

代替案代わりに使う場面トレードオフ
the-unofficial-swift-programming-language-skill同時実行ガイドではなく、Swift 言語の本が必要ですより広範で、移行に焦点を当てていない
xcodebuildコードを移行するのではなく、ビルド/テストを自動化したい直交ツーリング

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る