swift-development について
Apple プラットフォーム全般の Swift 開発者向けに、並行処理、メモリ性能、コード規模を解説するスキルです。Swift 6.2 の移行情報や低レベルメモリの資料も含みます。
主な機能
- 01Swift 並行処理アーキテクチャの指針
- 02Swift 6.2 の変更点と移行リファレンス
- 03並行処理の隔離とデータ競合の解説
- 04InlineArray と Span のメモリ解説
- 05Swift コードの複雑度と規模の基準
活用シーン
- 01プロジェクトを Swift 6 の厳格な並行処理へ移行
- 02Actor 隔離やデータ競合エラーの診断
- 03Swift 6.2 の並行処理変更点の確認
- 04性能重視コードのメモリ割り当て削減
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ rshankras/ claude-code-apple-skills --skill swift-developmentインストール後、Claude Code で/swift-developmentを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
code-size/rules/swiftlint.ymlconcurrency-patterns/actors-and-isolation.mdconcurrency-internals.mdcontinuations-bridging.mdmigration-guide.mdstructured-concurrency.mdswift62-concurrency.mdconcurrency/rules/swiftlint.ymlmemory/swift-performance.md詳細
Swift 開発
すべての Apple プラットフォームに共通する、Swift 言語レベルのガイダンスです。
このスキルが有効になる条件
次のような要望がある場合に、このスキルを使用します。
- Swift の並行処理(async/await、actors、Sendable、TaskGroup)について質問している
- Swift 6 の厳密な並行処理への移行を支援する必要がある
- データ競合またはアクター分離のエラーが発生している
- InlineArray、Span、または低レベルのメモリパフォーマンスについて質問している
- ヒープ割り当てをなくす、または unsafe ポインターを置き換えたい
- 特定のプラットフォームに依存しない最新の Swift パターンについて質問している
- エージェントが作成したコードに複雑さやサイズの上限(SwiftLint のしきい値)を設けたい
利用可能なモジュール
concurrency-patterns/
Swift の並行処理アーキテクチャとパターンです。
- Swift 6.2 の使いやすい並行処理機能(
nonisolated(nonsending)、Apple の導入方針を含む) - 構造化並行処理(async let、TaskGroup、.task モディファイア、タスクローカル値)
- アクター、分離、再入、@MainActor、Sendable
- ランタイムの内部動作とプロファイリング(協調プール、unsafe プリミティブ、Swift Concurrency Instrument)
- レガシー API をつなぐための Continuation
- Swift 6 の厳密な並行処理への移行ガイド
concurrency/
Swift 6.2 の並行処理に関する更新点のリファレンスです。変更内容(async-stays-on-caller、デフォルトの MainActor 推論、分離された適合、@concurrent)と、6.0/6.1 からの移行手順、主な誤りをまとめています。意図的に concurrency-patterns/swift62-concurrency.md と一部重複しています。「6.2 で何が変わったのか」という質問にはこのファイルを使用し、非同期コードの作成やレビューには concurrency-patterns を使用してください。
code-size/
Swift コードの複雑さとサイズの上限です。SwiftLint のしきい値ルール(循環的複雑度、関数/型/ファイルの長さ、パラメーター数)と、既存コードが作業を妨げないようにする違反ベースラインの導入手順が含まれています。testing/fitness-functions および testing/coverage-ratchet とともに、決定論的な品質チェック一式を構成します。
memory/
InlineArray、Span、Swift のパフォーマンスコストモデルです。
- InlineArray:ヒープのオーバーヘッドがない、固定サイズでスタックに割り当てられるコレクション
- Span ファミリー:連続したメモリへの安全で非エスケープなアクセス(OutputRawSpan、swift-binary-parsing を含む)
- ライフタイム依存関係と非エスケープ型の制約
swift-performance.md:コストモデル — 割り当て、ARC/retain-release、排他性チェック、ディスパッチ、ジェネリクスと存在型の比較、クロージャ、~Copyableの所有権
使用方法
- 質問からユーザーのニーズを特定します
- サブディレクトリから関連するモジュールファイルを読みます
- ユーザー固有の状況にガイダンスを適用します
- 必要に応じて、プラットフォーム固有のスキル(ios/、macos/)と照合します