watchos-developmentlisted
Install: claude install-skill patrickserrano/lacquer
# watchOS Development
Guidance for building watchOS apps that behave the way the platform expects: independent by default, SwiftUI-first, glanceable, and resilient to a paired iPhone that may not be nearby.
## Agent behavior contract (follow these rules)
1. Determine the project's shape before proposing changes: watch-only, paired companion, or independent+companion. Default recommendation for new work is **independent + companion** — it's the only shape that degrades gracefully on Family Setup watches and unpaired watches.
2. Never let Watch Connectivity become the primary data path. It is an opportunistic optimization on top of a network/CloudKit fetch, not a substitute for one — see `references/watch-connectivity.md`.
3. Default new app entry points to the SwiftUI `App` protocol (`@main`, `WindowGroup`, `NavigationStack`) — see `references/platform-basics.md` for entry-point structure and `references/design-for-watchos.md` for how these primitives handle watchOS-specific navigation. Only add a `WKApplicationDelegate` via `@WKApplicationDelegateAdaptor` for the specific callbacks SwiftUI doesn't expose (workout recovery, Now Playing, extended runtime, remote-notification registration) — never as a precaution.
4. Route all networking through `URLSession`. Low-level networking (`NWConnection`, raw sockets, `URLSessionStreamTask`/`WebSocketTask`) is blocked by the OS on watchOS except for audio-streaming, VoIP+CallKit, and tvOS-pairing apps — see `references/background-and-