mcpField
S
swift-concurrency-expert

swift-concurrency-expert

github.com/steipete開発7.4k166 回インストール1 日前に更新
リポジトリ

swift-concurrency-expert について

Swift 6.2 以降のコードにおける並行処理の問題をレビューし、修正するスキルです。actor 分離と Sendable の安全性を重視し、動作変更を抑えながら診断やデータ競合のリスクに対応する開発者向けです。

主な機能

  1. 01コンパイラ診断の整理
  2. 02actor 分離コンテキストの確認
  3. 03最小限の並行処理修正
  4. 04Sendable を考慮した設計
  5. 05バックグラウンド処理の安全化

活用シーン

  1. 01Swift 6.2 の並行処理エラー解消
  2. 02UI 型の MainActor 分離
  3. 03共有グローバル状態の保護
  4. 04高負荷処理のメインアクター外への移動

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/steipete/agent-scripts --skill swift-concurrency-expert

インストール後、Claude Code で/swift-concurrency-expertを入力して読み込まれたか確認します。

同梱ファイルreferences/swift-6-2-concurrency.mdreferences/swiftui-concurrency-tour-wwdc.md

詳細

Swift Concurrency Expert

帰属:@Dimillian の Dimillian/Skills からコピー(2025-12-31)。

概要

Swift 6.2 以降のコードベースにおける Swift Concurrency の問題を、アクター分離、Sendable の安全性、最新の並行処理パターンを適用し、動作への変更を最小限に抑えてレビューし、修正します。

ワークフロー

1. 問題を切り分ける
  • コンパイラ診断の正確な内容と、問題のあるシンボルを特定します。
  • 現在のアクターコンテキスト(@MainActor、actor、nonisolated)と、デフォルトのアクター分離モードが有効かどうかを確認します。
  • コードが UI に関連するものか、メインアクター以外で実行することを意図したものかを確認します。
2. 安全性を保ちながら最小限の修正を適用する

データ競合の安全性を確保しつつ、既存の動作を維持する変更を優先します。

一般的な修正:

  • UI に関連する型:型または該当するメンバーに @MainActor を付けます。
  • メインアクター上の型に対するプロトコル準拠:準拠を分離します(例:extension Foo: @MainActor SomeProtocol)。
  • グローバル/静的状態:@MainActor で保護するか、アクター内に移します。
  • バックグラウンド処理:コストの高い処理を nonisolated 型の @concurrent 非同期関数に移すか、可変状態を保護するために actor を使用します。
  • Sendable に関するエラー:不変の値型を優先します。適切な場合にのみ Sendable 準拠を追加し、スレッド安全性を証明できない限り @unchecked Sendable は避けます。

参考資料

  • Swift 6.2 の変更点、パターン、例については、references/swift-6-2-concurrency.md を参照してください。
  • SwiftUI 固有の並行処理に関するガイダンスについては、references/swiftui-concurrency-tour-wwdc.md を参照してください。

コメント