
macOS Development
FreeEssential guidance for building macOS applications.
Free · Opens the source repo
What macOS Development does
The macOS Development skill is a comprehensive resource designed for developers building applications specifically for macOS. This skill provides detailed instructions and best practices for various aspects of macOS app development, including window management, menu creation, sandboxing, and distribution. It serves as a one-stop reference for understanding the nuances of macOS-specific features and frameworks, ensuring that developers can leverage the full potential of the platform.
With sections dedicated to AppKit bridging and modernization, this skill equips developers with the knowledge needed to integrate traditional AppKit components with SwiftUI, as well as modernize existing AppKit applications. It covers critical topics such as control events, state restoration, and the use of concentric corners in UI design. Additionally, it addresses the specifics of macOS SwiftUI patterns, making it invaluable for those transitioning from iOS development to macOS.
The skill also provides insights into the App Sandbox, file access, and security-scoped bookmarks, which are essential for complying with macOS security requirements. Developers will find guidance on app distribution, notarization, and implementing auto-updates using Sparkle. The inclusion of resources for screen capture and sharing through ScreenCaptureKit further enhances its utility for developers looking to implement advanced features in their applications.
In summary, this skill is tailored for developers who need a reliable reference for any macOS-specific development tasks. Whether you're creating new applications or modernizing existing ones, the macOS Development skill delivers the necessary information to navigate the complexities of macOS programming effectively.
When to use it
Use this skill when working on any macOS application, particularly when dealing with AppKit, SwiftUI, or macOS-specific functionalities.
When not to use it
This skill may not be suitable for general iOS development or non-macOS platforms, as it focuses exclusively on macOS-specific tasks and frameworks.
What you can build with it
Building a macOS App with AppKit
Use this skill to understand how to manage windows and menus effectively in a macOS application.
Modernizing an Existing App
Leverage the guidance on AppKit modernization to update legacy applications for improved user experience.
Implementing Screen Capture Features
Utilize the ScreenCaptureKit section to add screen recording capabilities to your macOS applications.
How to install macOS Development
View source1. Install with the skills CLI
npx skills add charleswiltgen/axiom/axiom-macos --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by charleswiltgenmacOS Development
You MUST use this skill for ANY macOS-specific development including windows, menus, sandboxing, distribution, AppKit bridging, and macOS SwiftUI differences.
Quick Reference
| Symptom / Task | Reference |
|---|---|
| Window management (WindowGroup, Window, MenuBarExtra, DocumentGroup) | See skills/windows.md |
| Menu bar, commands, keyboard shortcuts | See skills/menus-and-commands.md |
| Table, Inspector, NavigationSplitView, focus | See skills/swiftui-differences.md |
| App Sandbox, file access, security-scoped bookmarks | See skills/sandbox-and-file-access.md |
| Developer ID, notarization, Sparkle auto-updates | See skills/direct-distribution.md |
| NSViewRepresentable, NSHostingController, AppKit bridging, @Observable in AppKit, NSHostingMenu, SwiftUI scenes from AppKit | See skills/appkit-interop.md |
Modernizing AppKit: mouseDown replacement, control events, status-item sessions, state restoration, concentric corners, touch (OS27) | See skills/appkit-modernization.md |
| Screen recording, sharing, or capture (ScreenCaptureKit) | See skills/screencapturekit.md |
| SCStream / SCContentFilter / screenshots / file recording API | See skills/screencapturekit-ref.md |
| Bring an iOS app to Mac: Catalyst adoption, Designed for iPad, Mac availability opt-out | See skills/ios-apps-on-mac.md |
| Apple Pay on Mac / Catalyst | See axiom-payments/skills/apple-pay.md (Catalyst section) |
Cross-Suite Routes
These topics overlap with macOS development but live in separate suites:
SwiftUI (shared iOS/macOS)
- View state, data flow, @Observable → See axiom-swiftui
- Navigation (NavigationStack basics) → See axiom-swiftui (skills/nav.md)
- Layout (ViewThatFits, AnyLayout) → See axiom-swiftui (skills/layout.md)
- Animations → See axiom-swiftui (skills/animation-ref.md)
Data & persistence
- SwiftData, Core Data, GRDB → See axiom-data
- CloudKit sync → See axiom-data
Concurrency
- Swift 6 concurrency, actors, Sendable → See axiom-concurrency
Other
- Accessibility (VoiceOver, Dynamic Type) → See axiom-accessibility
- Networking (URLSession, Network.framework) → See axiom-networking
- Security (Keychain, passkeys, encryption) → See axiom-security
Conflict Resolution
axiom-macos vs axiom-swiftui: When working on a macOS SwiftUI app:
- Use axiom-macos for macOS-only concerns: windows, menus, commands, sandboxing, distribution, Table, Inspector, AppKit bridging
- Use axiom-swiftui for cross-platform SwiftUI: navigation, layout, state management, animations
- Both may apply: A macOS app using NavigationSplitView with Table needs axiom-macos for Table specifics and axiom-swiftui for NavigationSplitView basics
axiom-macos vs axiom-security: For sandbox and code signing:
- Use axiom-macos for macOS App Sandbox, security-scoped bookmarks, file access entitlements, Developer ID signing
- Use axiom-security for Keychain storage, encryption, passkeys, certificate management
Decision Tree
digraph macos {
start [label="macOS development task" shape=ellipse];
what [label="What area?" shape=diamond];
start -> what;
what -> "skills/windows.md" [label="windows/scenes"];
what -> "skills/menus-and-commands.md" [label="menus/commands/shortcuts"];
what -> "skills/swiftui-differences.md" [label="Table/Inspector/focus/macOS SwiftUI"];
what -> "skills/sandbox-and-file-access.md" [label="sandbox/file access"];
what -> "skills/direct-distribution.md" [label="distribution/notarization/updates"];
what -> "skills/appkit-interop.md" [label="AppKit bridging"];
what -> "skills/appkit-modernization.md" [label="modernize AppKit\n(input/restoration/27 look)"];
what -> "skills/ios-apps-on-mac.md" [label="iOS app to Mac\n(Catalyst / Designed for iPad)"];
what -> "skills/screencapturekit.md" [label="screen capture/\nrecording/sharing"];
what -> "axiom-swiftui" [label="cross-platform SwiftUI"];
what -> "axiom-security" [label="Keychain/encryption"];
}
iOS screen capture? ScreenCaptureKit is macOS-only. For iOS screen recording, use ReplayKit — see axiom-media.
Resources
WWDC: 2021-10062, 2022-10061, 2022-10075, 2023-10148, 2024-10149, 2026-272, 2026-289
Docs: /security/app-sandbox, /swiftui/windowgroup, /swiftui/table
Skills: axiom-swiftui, axiom-security, axiom-concurrency, axiom-uikit
Frequently asked questions about macOS Development
Similar skills
Android App Development
Comprehensive guide for Android and cross-platform app development.
Add App Clip to Expo App
Integrate lightweight iOS App Clips into your Expo project.
APK Reverse
Streamline your Android APK reverse engineering process.
Swift Expert
Master iOS/macOS development with Swift and SwiftUI.
React Native Expert
Build and optimize mobile apps with React Native and Expo.
Kotlin Specialist
Master idiomatic Kotlin with expert patterns and practices.
