Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add existential-birds/beagle --skill "watchos-code-review"
Install specific skill from multi-skill repository
# Description
Reviews watchOS code for app lifecycle, complications (ClockKit/WidgetKit), WatchConnectivity, and performance constraints. Use when reviewing code with import WatchKit, WKExtension, WKApplicationDelegate, WCSession, or watchOS-specific patterns.
# SKILL.md
name: watchos-code-review
description: Reviews watchOS code for app lifecycle, complications (ClockKit/WidgetKit), WatchConnectivity, and performance constraints. Use when reviewing code with import WatchKit, WKExtension, WKApplicationDelegate, WCSession, or watchOS-specific patterns.
watchOS Code Review
Quick Reference
| Issue Type | Reference |
|---|---|
| App lifecycle, scenes, background modes, extended runtime | references/lifecycle.md |
| ClockKit, WidgetKit, timeline providers, Smart Stack | references/complications.md |
| WCSession, message passing, file transfer, reachability | references/connectivity.md |
| Memory limits, background refresh, battery optimization | references/performance.md |
Review Checklist
- [ ] SwiftUI App protocol used with
@WKApplicationDelegateAdaptorfor lifecycle events - [ ]
scenePhaseread from root view (not sheets/modals where it's always.active) - [ ]
WKExtendedRuntimeSessionstarted only while app is active (not from background) - [ ] Workout sessions recovered in
applicationDidFinishLaunching(not just delegate) - [ ] Background tasks scheduled at least 5 minutes apart; next scheduled before completing current
- [ ]
URLSessionDownloadTask(notDataTask) used for background network requests - [ ] WidgetKit used instead of ClockKit for watchOS 9+ complications
- [ ] Timeline includes future entries (not just current state); gaps avoided
- [ ]
TimelineEntryRelevanceimplemented for Smart Stack prioritization - [ ] WCSession delegate set before
activate(); singleton pattern used - [ ]
isReachablechecked beforesendMessage;transferUserInfofor critical data - [ ] Received files moved synchronously before delegate callback returns
When to Load References
- Reviewing app lifecycle, background modes, or extended sessions -> lifecycle.md
- Reviewing complications, widgets, or timeline providers -> complications.md
- Reviewing WCSession, iPhone-Watch communication -> connectivity.md
- Reviewing memory, battery, or performance issues -> performance.md
Review Questions
- Is the app using modern SwiftUI lifecycle with delegate adaptor?
- Are background tasks completing properly (calling
setTaskCompletedWithSnapshot)? - Is UI update frequency reduced when
isLuminanceReducedis true? - Are WatchConnectivity delegate callbacks dispatching to main thread?
- Is
TabViewnested within anotherTabView? (Memory leak on watchOS)
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.