← ClaudeAtlas

macos-developmentlisted

Use when building or debugging a macOS app and the request involves — (1) AppKit/SwiftUI interop or modernizing AppKit code, (2) App Sandbox / file-access entitlement errors, especially "works in Xcode, fails in TestFlight", (3) menu bar commands, keyboard shortcuts, or a menu item stuck disabled, (4) multi-window scenes (WindowGroup, Window, MenuBarExtra, openWindow), (5) the Settings/Preferences scene, (6) ScreenCaptureKit screen recording or sharing, (7) SwiftUI-on-macOS behavior that differs from iOS (Table, Inspector, NavigationSplitView, focus), or (8) notarized Developer ID distribution outside the App Store.
patrickserrano/lacquer · ★ 1 · Code & Development · score 67
Install: claude install-skill patrickserrano/lacquer
# macOS Development Platform mechanics for macOS apps — windows, menus, sandboxing, AppKit bridging, ScreenCaptureKit, and where SwiftUI on macOS diverges from iOS. This complements narrower macOS skills already in this profile: `macos-ci-recipes` (CI-only) and `release-macos-spm-packaging` (SwiftPM scaffolding/build/packaging, no Xcode project). For visual/HIG conventions ("does this look like a real Mac app"), see the third-party `mac-assed-mac-app-skill` — that skill covers appearance, this one covers the platform APIs underneath it. ## Agent behavior contract 1. Identify which of macOS's three structural differences from iOS is in play before proposing a fix: **multi-window** (state is per-scene, not global), **focus-driven** (the menu bar routes through the focused window, not a singleton), **keyboard-first** (every action needs a menu-bar path, not just a toolbar button). Most "this doesn't feel like a real Mac app" bugs trace back to one of these three. 2. Before recommending file access code, confirm whether the app is sandboxed (App Store) or Developer-ID direct-distributed — sandbox entitlements and security-scoped bookmarks only apply to the former, but debug builds don't sandbox by default either way, so "works in Xcode" proves nothing. 3. When bridging AppKit and SwiftUI, determine the host/guest direction first (which framework owns the view hierarchy) — the bridging type differs by direction, not just by "which framework's API d