Build apps for macOS, iPadOS, watchOS, and visionOS with platform-specific features. Use when creating menu bar apps, iPad split views, Apple Watch complications, Vision Pro immersive experiences, or multi-platform adaptations.
View on GitHubfusengine/agents
fuse-swift-apple-expert
plugins/swift-apple-expert/skills/apple-platforms/SKILL.md
January 22, 2026
Select agents to install to:
npx add-skill https://github.com/fusengine/agents/blob/main/plugins/swift-apple-expert/skills/apple-platforms/SKILL.md -a claude-code --skill apple-platformsInstallation paths:
.claude/skills/apple-platforms/# Apple Platform Development
## macOS Specifics
```swift
@main
struct MacApp: App {
var body: some Scene {
// Main window
WindowGroup {
ContentView()
}
.windowStyle(.hiddenTitleBar)
.windowToolbarStyle(.unified(showsTitle: true))
.defaultSize(width: 900, height: 600)
.commands {
CommandGroup(replacing: .newItem) {
Button("New Document") { }
.keyboardShortcut("n", modifiers: .command)
}
ToolbarCommands()
}
// Menu bar app
MenuBarExtra("Status", systemImage: "star.fill") {
Button("Preferences...") { openSettings() }
Divider()
Button("Quit") { NSApp.terminate(nil) }
}
.menuBarExtraStyle(.window)
// Settings window
Settings {
SettingsView()
}
}
}
```
## iPadOS Adaptive Layouts
```swift
struct AdaptiveView: View {
@Environment(\.horizontalSizeClass) var sizeClass
var body: some View {
if sizeClass == .compact {
// iPhone or iPad slide-over
TabView {
HomeTab()
SearchTab()
}
} else {
// iPad full screen
NavigationSplitView {
Sidebar()
} detail: {
DetailView()
}
}
}
}
// Keyboard shortcuts for iPad
struct ContentView: View {
var body: some View {
List { }
.keyboardShortcut("f", modifiers: .command)
.focusable()
}
}
```
## watchOS
```swift
@main
struct WatchApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
// Workout tracking
class WorkoutManager: NSObject, ObservableObject {
private var session: HKWorkoutSession?
private var builder: HKLiveWorkoutBuilder?
@Published var heartRate: Double = 0
func startWorkout(type: HKW