AppleのApp Store審査ガイドラインに沿ってアプリのコードを点検します。課金や個人情報、ログインなどを確認し、申請前に却下につながり得る問題を洗い出します。
- App Store申請前の点検
- 課金やサブスクリプションの確認
- 個人情報とアカウント削除の確認
Swiftの非同期・並行処理をレビューし、共有データの扱い、タスクの構成、キャンセルなどを点検。問題箇所と修正前後のコード、対応の優先順位を示します。
Reviews Swift code for concurrency correctness, modern API usage, and common async/await pitfalls. Use when reading, writing, or reviewing Swift concurrency code.
Swiftの非同期・並行処理を読み、複数の処理が進む際のデータの扱いや、async/awaitの使い方を点検します。共有データへのアクセスを管理するactor、タスクの構成、キャンセルの伝播、非同期ストリーム、従来のAPIとの接続が対象です。実際の問題をファイルと行番号ごとに示し、修正前後の短いコードと対応の優先順位をまとめます。
非同期処理を新しく書くときや、既存コードの不具合を調べるときに向いています。厳格な並行処理チェックで出たコンパイラーエラーの修正、GCDや完了ハンドラーを使うコードの移行、非同期テストのレビューにも使えます。複数のターゲットやパッケージがある場合は、並行処理に関するビルド設定の違いも確認します。
awaitの前後に状態が変わる問題がないか確認して」Swift 6.2以降と厳格な並行処理チェックを前提とします。サードパーティー製の並行処理フレームワークを追加する前には確認を求めます。ライセンスはMITです。
この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Review Swift concurrency code for correctness, modern API usage, and adherence to project conventions. Report only genuine problems - do not nitpick or invent issues.
Review process:
references/hotspots.md to prioritize what to inspect.references/new-features.md.references/actors.md.references/structured.md.references/unstructured.md.references/cancellation.md.references/async-streams.md.references/bridging.md.references/interop.md.references/bug-patterns.md.references/diagnostics.md.references/testing.md.If doing a partial review, load only the relevant reference files.
Task {}).async/await and closure-based variants, always prefer async/await.@unchecked Sendable to fix compiler errors. It silences the diagnostic without fixing the underlying race. Prefer actors, value types, or sending parameters instead. The only legitimate use is for types with internal locking that are provably thread-safe.Organize findings by file. For each issue:
Skip files with no issues. End with a prioritized summary of the most impactful changes to make first.
Example output:
Line 18: Actor reentrancy – state may have changed across the await.
// Before
actor Cache {
var items: [String: Data] = [:]
func fetch(_ key: String) async throws -> Data {
if items[key] == nil {
items[key] = try await download(key)
}
return items[key]!
}
}
// After
actor Cache {
var items: [String: Data] = [:]
func fetch(_ key: String) async throws -> Data {
if let existing = items[key] { return existing }
let data = try await download(key)
items[key] = data
return data
}
}
Line 34: Use withTaskGroup instead of creating tasks in a loop.
// Before
for url in urls {
Task { try await fetch(url) }
}
// After
try await withThrowingTaskGroup(of: Data.self) { group in
for url in urls {
group.addTask { try await fetch(url) }
}
for try await result in group {
process(result)
}
}
End of example.
references/hotspots.md - Grep targets for code review: known-dangerous patterns and what to check for each.references/new-features.md - Swift 6.2 changes that alter review advice: default actor isolation, isolated conformances, caller-actor async behavior, @concurrent, Task.immediate, task naming, and priority escalation.references/actors.md - Actor reentrancy, shared-state annotations, global actor inference, and isolation patterns.references/structured.md - Task groups over loops, discarding task groups, concurrency limits.references/unstructured.md - Task vs Task.detached, when Task {} is a code smell.references/cancellation.md - Cancellation propagation, cooperative checking, broken cancellation patterns.references/async-streams.md - AsyncStream factory, continuation lifecycle, back-pressure.references/bridging.md - Checked continuations, wrapping legacy APIs, @unchecked Sendable.references/interop.md - Migrating from GCD, Mutex/locks, completion handlers, delegates, and Combine.references/bug-patterns.md - Common concurrency failure modes and their fixes.references/diagnostics.md - Strict-concurrency compiler errors, protocol conformance fixes, and likely remedies.references/testing.md - Async test strategy with Swift Testing, race detection, avoiding timing-based tests.まだレビューはありません。使ってみた感想をお寄せください。
ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。
まだコメントはありません。最初のコメントを書いてみませんか。
AppleのApp Store審査ガイドラインに沿ってアプリのコードを点検します。課金や個人情報、ログインなどを確認し、申請前に却下につながり得る問題を洗い出します。
自然な言葉で頼んだ操作をOnlySwitchの内蔵機能に対応付けて実行します。macOSでスリープ防止やダークモードの切り替え、ごみ箱の消去などを呼び出せます。
Swift Testingを使う単体・結合テストの作成とレビューを支援します。非同期処理や検証方法を点検し、XCTestからの移行にも対応します。
SwiftUIのコードを読み、古いAPIやデータの受け渡し、画面構成、操作のしやすさ、性能を点検。問題のある箇所と修正前後のコードをファイル別に示します。
仕様や要件を、変更ファイル・実装コード・テスト手順まで含む実装計画にまとめます。作業を小さく分け、コードを書き始める前の準備や引き継ぎに使えます。