macos-developer-skill/SKILL.md
Expert in macOS app development using AppKit, SwiftUI for Mac, and XPC. Specializes in system extensions, menu bar apps, and deep OS integration.
npx skillsauth add 404kidwiz/claude-supercode-skills macos-developerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Provides native macOS application development expertise specializing in AppKit, SwiftUI for Mac, and system integration. Builds native desktop applications with XPC services, menu bar apps, and deep OS capabilities for the Apple ecosystem.
| Framework | Best For | Pros | Cons | |-----------|----------|------|------| | SwiftUI | Modern Apps | Declarative, simple code. | Limited AppKit feature parity. | | AppKit | System Tools | Full control (NSWindow, NSView). | Imperative, verbose. | | Catalyst | iPad Ports | Free Mac app from iPad code. | Looks like an iPad app. |
Red Flags → Escalate to security-engineer:
Goal: Create an app that lives in the menu bar.
Steps:
App Setup
@main
struct MenuBarApp: App {
var body: some Scene {
MenuBarExtra("Utility", systemImage: "hammer") {
Button("Action") { doWork() }
Divider()
Button("Quit") { NSApplication.shared.terminate(nil) }
}
}
}
Hide Dock Icon
LSUIElement = YES.Goal: Monitor file events.
Steps:
Entitlements
com.apple.developer.endpoint-security.client = YES.Implementation (C API)
es_client_t *client;
es_new_client(&client, ^(es_client_t *c, const es_message_t *msg) {
if (msg->event_type == ES_EVENT_TYPE_NOTIFY_EXEC) {
// Log process execution
}
});
What it looks like:
NavigationView (split view) when a simple Window is needed.Cmd+Q, Cmd+S).Why it fails:
Correct approach:
What it looks like:
Why it fails:
Correct approach:
DispatchQueue.global() or Swift Task.Scenario: Build a system utility that lives in the macOS menu bar for quick access.
Development Approach:
Implementation:
@main
struct SystemUtilityApp: App {
var body: some Scene {
MenuBarExtra("System Utility", systemImage: "gear") {
VStack(spacing: 12) {
Button("Open Preferences") { openPreferences() }
Button("Check Updates") { checkForUpdates() }
Divider()
Button("Quit") { NSApplication.shared.terminate(nil) }
}
.padding()
.frame(width: 200)
}
}
}
Key Features:
Results:
Scenario: Build a professional document editor with background processing.
Architecture:
XPC Service Implementation:
// Service Protocol
@objc protocol ProcessingServiceProtocol {
func processDocument(at url: URL, reply: @escaping (URL?) -> Void)
}
// Service Implementation
class ProcessingService: NSObject, ProcessingServiceProtocol {
func processDocument(at url: URL, reply: @escaping (URL?) -> Void) {
// Heavy processing in separate process
let result = heavyProcessing(url: url)
reply(result)
}
}
Benefits:
Scenario: Create a network monitoring tool using System Extension.
Development Process:
Implementation:
// Network extension handler
class NetworkExtensionHandler: NEProvider {
override func startProtocol(options: [String: Any]?, completionHandler: @escaping (Error?) -> Void) {
// Start network monitoring
setupNetworkMonitoring()
completionHandler(nil)
}
override func stopProtocol(with reason: NEProviderStopReason, completionHandler: @escaping () -> Void) {
// Clean up resources
stopNetworkMonitoring()
completionHandler()
}
}
Requirements:
UX:
System:
Performance:
development
Expert in automating Excel workflows using Node.js (ExcelJS, SheetJS) and Python (pandas, openpyxl).
content-media
Expert in designing durable, scalable workflow systems using Temporal, Camunda, and Event-Driven Architectures.
tools
Use when user needs WordPress development, theme or plugin creation, site optimization, security hardening, multisite management, or scaling WordPress from small sites to enterprise platforms.
tools
Expert in Windows Server, Active Directory (AD DS), Hybrid Identity (Entra ID), and PowerShell automation.