mcpField
W
watchos-code-review

watchos-code-review

github.com/existential-birdsテスト・品質85132 回インストール11 週間前に更新
リポジトリ

watchos-code-review について

ライフサイクル、コンプリケーション、接続、パフォーマンスを確認する watchOS 向けコードレビュースキルです。分野別の参考資料、順序付きの根拠確認ゲート、統一された指摘形式を備えています。

主な機能

  1. 01ライフサイクルとバックグラウンドタスクのチェック
  2. 02コンプリケーションとタイムラインの確認
  3. 03WatchConnectivity のレビュー指針
  4. 04パフォーマンスとバッテリーの確認
  5. 05根拠ゲートと指摘形式

活用シーン

  1. 01watchOS のライフサイクル処理のレビュー
  2. 02コンプリケーションのタイムライン実装の確認
  3. 03WatchConnectivity のメッセージとファイル転送コードの監査

インストール

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

$npx skills add https://github.com/existential-birds/beagle --skill watchos-code-review

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
complications.md
connectivity.md
lifecycle.md
performance.md

詳細

watchOS コードレビュー

クイックリファレンス

問題の種類リファレンス
アプリのライフサイクル、シーン、バックグラウンドモード、拡張ランタイムreferences/lifecycle.md
ClockKit、WidgetKit、タイムラインプロバイダー、Smart Stackreferences/complications.md
WCSession、メッセージのやり取り、ファイル転送、到達可能性references/connectivity.md
メモリ制限、バックグラウンド更新、バッテリー最適化references/performance.md

レビューチェックリスト

  • ライフサイクルイベントには @WKApplicationDelegateAdaptor を使用し、SwiftUI の App プロトコルに準拠している
  • scenePhase はルートビューから読み取っている(常に .active になるシートやモーダルからは読み取っていない)
  • WKExtendedRuntimeSession はアプリがアクティブなときにのみ開始している(バックグラウンドから開始していない)
  • ワークアウトセッションはデリゲートだけでなく、applicationDidFinishLaunching で復元している
  • バックグラウンドタスクは少なくとも 5 分間隔でスケジュールし、現在のタスクを完了する前に次のタスクをスケジュールしている
  • バックグラウンドネットワークリクエストには DataTask ではなく URLSessionDownloadTask を使用している
  • watchOS 9 以降のコンプリケーションには ClockKit ではなく WidgetKit を使用している
  • タイムラインには現在の状態だけでなく将来のエントリーも含まれ、空白期間がない
  • Smart Stack の優先順位付けに TimelineEntryRelevance を実装している
  • activate() の前に WCSession デリゲートを設定し、シングルトンパターンを使用している
  • sendMessage の前に isReachable を確認し、重要なデータには transferUserInfo を使用している
  • デリゲートコールバックが戻る前に、受信したファイルを同期的に移動している

リファレンスを参照するタイミング

  • アプリのライフサイクル、バックグラウンドモード、または拡張セッションをレビューする場合 -> lifecycle.md
  • コンプリケーション、ウィジェット、またはタイムラインプロバイダーをレビューする場合 -> complications.md
  • WCSession、iPhone と Apple Watch の通信をレビューする場合 -> connectivity.md
  • メモリ、バッテリー、またはパフォーマンスの問題をレビューする場合 -> performance.md

出力形式

問題は次の形式で報告してください: [FILE:LINE] ISSUE_TITLE

例:

  • [WatchApp.swift:18] WKExtendedRuntimeSession started while app not active
  • [ConnectivityManager.swift:42] WCSession.activate() before delegate assignment
  • [ComplicationTimeline.swift:67] Timeline has no future entries

ハードゲート(報告前)

報告する各指摘について、以下を順番に完了してください。合格条件を満たすまでは先に進まないでください。

  1. 位置情報の証跡 — 指摘には、現在のファイル内容からコピーした [FILE:LINE](または行範囲)が含まれていること。そのパスがこのリポジトリ内で解決できること。
  2. 対象範囲の読み込み — 該当する動作を担う単位全体を読み込んでいること。View の本体、WKApplicationDelegate / シーンメソッド、TimelineProvider の実装、WCSessionDelegate のコールバック、またはワークアウト/バックグラウンドタスクのハンドラーが対象です。差分の一部分だけでは不十分です。
  3. watchOS またはペアリングに関する根拠(バックグラウンドモード、コンプリケーション/タイムラインの仕様、WCSession の到達可能性や転送のセマンティクス、ワークアウトまたは拡張ランタイムのルール、デバイス固有の制限に依存する指摘の場合のみ)— 確認した具体的な証跡を 1 つ挙げてください(たとえば、バックグラウンドモードについて確認した Info.plist / ターゲットの機能、ソース内の WK* / WCSession 呼び出し順序、エンタイトルメント、または クイックリファレンス にある該当ドキュメントの節)。または、その項目を レビューの質問 に未解決の質問として記載してください。
  4. プロトコル — review-verification-protocol の報告前手順を、この項目について満たしていること(満たしていない場合は指摘として報告しないこと)。

報告する各指摘には、問題の形式 [FILE:LINE] ISSUE_TITLE を使用してください。ハードゲート 4 は、このスキルのレビュー種別における報告前チェックリスト全体を指します。

レビュー時の確認事項

  1. アプリでは、デリゲートアダプターを使用した最新の SwiftUI ライフサイクルを採用していますか?
  2. バックグラウンドタスクは適切に完了していますか(setTaskCompletedWithSnapshot を呼び出していますか)?
  3. isLuminanceReduced が true の場合、UI の更新頻度は低下しますか?
  4. WatchConnectivity のデリゲートコールバックはメインスレッドにディスパッチされていますか?
  5. TabView は別の TabView の内部にネストされていますか?(watchOS でメモリーリークが発生します)

コメント