swiftui-macos

Expert SwiftUI guidance for macOS apps — covers writing and reviewing code with runtime-level understanding of observation, concurrency, performance, and platform integration. Use when user asks to "build a SwiftUI view", "review my SwiftUI code", "fix observation issues", "bridge AppKit", "architect state management", "debug view updates", or works on any macOS SwiftUI project — building features, reviewing existing code, debugging view updates or performance, fixing concurrency issues, architecting state management, bridging AppKit, or making design decisions. Do NOT use for iOS/iPadOS-only SwiftUI, UIKit bridging, or basic Swift language questions. Focuses on non-obvious traps and deep patterns, not basics.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "swiftui-macos" with this command: npx skills add kageroumado/swiftui-macos

Guide SwiftUI development for macOS apps. Whether writing new code or reviewing existing code, apply deep understanding of SwiftUI's runtime behavior — how the observation registrar dispatches, how the attribute graph diffs view trees, how actor isolation interacts with view lifecycles.

How to Use

Writing code: Load relevant references before implementation. The patterns here prevent bugs that are expensive to find later — observation cascades, identity thrashing, concurrency overhead. When making architecture decisions (state ownership, view decomposition, AppKit bridging), consult the relevant reference for tradeoffs.

Reviewing code: Check each reference area systematically. Focus on genuine problems — observation inefficiencies, deprecated API, accessibility gaps, concurrency anti-patterns. Don't flag obvious issues or invent problems.

Partial scope: Load only what the task needs. Not every change requires all eight references.

References

ReferenceLoad when
references/observation.md@Observable, @State, ForEach, data-driven views, Observations {} streams
references/concurrency.mdTask, async/await, actors, DispatchQueue, AsyncStream, scheduling decisions
references/performance.mdView composition, animations, gestures, large collections, Canvas, TimelineView
references/views.mdView decomposition, navigation, .task(id:), preference keys, custom Layout
references/data.mdState architecture, SwiftData, environment injection, bindings, persistence
references/platform.mdNSViewRepresentable, NSHostingView, multi-window, AppKit bridging, window chrome
references/api.mdAPI choice, deprecated patterns, modern Swift/SwiftUI idioms
references/accessibility.mdVoiceOver, keyboard navigation, Dynamic Type, Reduce Motion

Principles

  • Target macOS 26+, Swift 6.2 with strict concurrency and @MainActor default isolation.
  • Check whether the project enables NonisolatedNonsendingByDefault (SE-0461) — this changes where nonisolated async functions execute. See references/concurrency.md.
  • Prefer SwiftUI-native solutions. Use AppKit (NSViewRepresentable, NSHostingView, NSWindow) only when SwiftUI has no equivalent.
  • Understand the mechanism. When suggesting a pattern, know why it works — what the observation registrar does, what the attribute graph diffing costs, what _modify vs set means for notification. Rules without understanding produce cargo-culted code.
  • Do not introduce third-party frameworks without asking. Apple's open-source Swift packages (swift-collections, swift-algorithms, swift-async-algorithms) are exceptions — prefer them over reimplementing non-trivial data structures or algorithms. See references/api.md.

Examples

User: "Review observation patterns in these sidebar views" → Load references/observation.md. Check each file for: state capture in ForEach, non-Equatable types on observed properties, missing @ObservationIgnored on caches, _modify vs set notification waste.

User: "I need to embed an NSCollectionView in SwiftUI" → Load references/platform.md. Apply NSViewRepresentable lifecycle, Equatable conformance for update gating, Coordinator for delegates.

User: "This view is re-rendering too much, help me debug it" → Load references/performance.md and references/observation.md. Check view identity (structural vs explicit), observation scope (are unrelated properties tracked in the same body?), @State vs @Observable for gesture-driven values.

Review Output

Organize findings by file. For each issue:

  1. File and relevant line(s).
  2. The pattern being violated and why it matters at the runtime level.
  3. Brief before/after code fix.

Skip clean files. End with a prioritized summary of the most impactful changes.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Swiftlint

Swift linting and style enforcement via CLI

Registry SourceRecently Updated
3080Profile unavailable
Coding

Xcode Build Analyzer

Analyze Xcode build logs — timing, warnings, errors, slow compiles, and build history from DerivedData.

Registry SourceRecently Updated
4910Profile unavailable
Automation

SYSU Anything Apple

Use when the user wants the macOS 12+ Apple-enhanced SYSU workflow layer, especially natural-language requests such as 把课表同步到日历、把雨课堂 ddl 加到提醒事项、把宣讲会或招聘会写进日历、...

Registry SourceRecently Updated
1750Profile unavailable
General

MLX TTS

Text-To-Speech with MLX (Apple Silicon) and opensource models (default QWen3-TTS) locally.

Registry SourceRecently Updated
1.3K0Profile unavailable