New to Claude Skills? Learn how to install them →

charleswiltgen on GitHub

macOS Development

Free

Essential guidance for building macOS applications.

Get this skill

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 source

1. Install with the skills CLI

npx skills add charleswiltgen/axiom/axiom-macos --agent claude-code

2. 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 charleswiltgen

macOS 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 / TaskReference
Window management (WindowGroup, Window, MenuBarExtra, DocumentGroup)See skills/windows.md
Menu bar, commands, keyboard shortcutsSee skills/menus-and-commands.md
Table, Inspector, NavigationSplitView, focusSee skills/swiftui-differences.md
App Sandbox, file access, security-scoped bookmarksSee skills/sandbox-and-file-access.md
Developer ID, notarization, Sparkle auto-updatesSee skills/direct-distribution.md
NSViewRepresentable, NSHostingController, AppKit bridging, @Observable in AppKit, NSHostingMenu, SwiftUI scenes from AppKitSee 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 APISee skills/screencapturekit-ref.md
Bring an iOS app to Mac: Catalyst adoption, Designed for iPad, Mac availability opt-outSee skills/ios-apps-on-mac.md
Apple Pay on Mac / CatalystSee 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:

  1. Use axiom-macos for macOS-only concerns: windows, menus, commands, sandboxing, distribution, Table, Inspector, AppKit bridging
  2. Use axiom-swiftui for cross-platform SwiftUI: navigation, layout, state management, animations
  3. 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:

  1. Use axiom-macos for macOS App Sandbox, security-scoped bookmarks, file access entitlements, Developer ID signing
  2. 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