coding-standards-enforcer について
coding-standards-enforcerは、リポジトリの基準に照らしてSwiftコードを確認し、逸脱に対処するスキルです。並行処理、Observation、モダンAPIの課題に応じた資料を参照し、最小限の修正と検証を重視します。
主な機能
- 01Swiftの基準違反を分類
- 02課題に対応する資料を読み込む
- 03並行処理の隔離と診断を確認
- 04Observationの所有モデルを確認
- 05ビルドやテストで変更を検証
活用シーン
- 01Swiftの並行処理と隔離の問題を確認
- 02SwiftUI Observationの状態所有を点検
- 03古いAPIや安全性の課題に対処
- 04基準修正を検証し残課題を記録
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ tomkrikorian/ visionosagents --skill coding-standards-enforcerインストール後、Claude Code で/coding-standards-enforcerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/concurrency-guidelines.mdmodern-swift-apis.mdobservation-modeling.mdstandards-review-map.md詳細
コーディング標準の適用
クイックスタート
Swift ソースの変更が対象であり、コードがリポジトリの並行処理、オブザーバビリティ、最新 API の標準に準拠しているかどうかを確認する場合は、いつでもこのスキルを使用します。
- まず作業を分類します。
- Swift 6.2 のビルド設定/言語モードの問題
- Swift の
MainActor/アクター分離/Sendableの問題 - Observation の
@Observable/SwiftUI の@State/@Bindableの所有権に関する問題 - 最新 API/スタイル/安全性のクリーンアップ
- 該当するカテゴリのリファレンスファイルのみを読み込みます。
- 次の順序で変更箇所を確認します。
- コンパイラ診断と分離境界
- 所有権とオブザーバビリティのモデル
- API の最新化と安全性
- 標準からの逸脱を明示的に修正または指摘します。標準違反を暗黙のままにしないでください。
次の場合にリファレンスを読み込む
| リファレンス | 使用するタイミング |
|---|---|
references/standards-review-map.md | レビューの順序、振り分け、リポジトリレベルの標準マップが必要な場合。 |
references/concurrency-guidelines.md | アクター、@MainActor、Sendable、Task、async let、タスクグループ、厳密な並行処理の診断を扱う場合。 |
references/observation-modeling.md | Observation の @Observable、@ObservationIgnored、SwiftUI の @State、@Bindable、@Binding、型付き環境データフローを扱う場合。 |
references/modern-swift-apis.md | API の最新化、Foundation の置き換え、書式設定、文字列の照合、強制アンラップ、Swift ネイティブのスタイルを扱う場合。 |
ワークフロー
- 変更された Swift ファイルを確認し、主な問題の種類を特定します。
- 関連する最小限のリファレンスファイルを読み込みます。
- 準拠状態に戻すための最小限の変更を適用します。
- 可能であれば、影響を受ける範囲をビルドするか、テストを再実行します。
- 修正した内容、意図的に変更しなかった内容、残っている移行課題をまとめます。
スキルを切り替えるタイミング
- 主な問題がシーンの所有権、機能の分解、または複数の画面間での状態配置である場合は、
spatial-app-architectureに切り替えます。 - 主な障害がビルドエラー、または標準の修正後も再現が必要な実行時の問題である場合は、
build-run-debugに切り替えます。 - 主な作業が標準違反の直接的な修正ではなく、失敗しているテスト範囲の絞り込みである場合は、
test-triageに切り替えます。
ガードレール
- 一律に
@MainActorポリシーを適用しないでください。分離の選択は、所有権と実行時の動作に合致させる必要があります。 - 新しい SwiftUI または visionOS のコードでは、ユーザーが互換性上の制約を明示する場合、または既存のアーキテクチャが Combine ベースのオブザーバビリティからまだ移行できない場合を除き、
ObservableObject、@StateObject、@ObservedObjectを導入しないでください。 - Observation の所有権については、ここで
@Observable、@State、@Bindableのルールを重複させず、observation-modeling.mdを読み込んでください。 - 不要な
Task.detached、DispatchQueue.main.async、@unchecked Sendableを導入して、並行処理の警告を「修正」しないでください。 - 記憶だけを頼りに Swift 6.2 のデフォルトのアクター分離を判断しないでください。その選択が修正に影響する場合は、プロジェクトのビルド設定を確認してください。
- 意味が変わる場合は、API を機械的に最新化しないでください。
出力時の要件
次の内容を提示してください。
- レビューしたファイルまたはシンボル
- 適用した標準カテゴリ
- 修正した、または残っている具体的な違反
- 使用した検証手順
- 障害が標準に関する問題ではなくなった場合に使用する次のスキル
コメント
Markdown 対応