apple-platforms
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.
Best use case
apple-platforms is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
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.
Teams using apple-platforms should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/apple-platforms/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How apple-platforms Compares
| Feature / Agent | apple-platforms | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
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.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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: HKWorkoutActivityType) async throws {
let config = HKWorkoutConfiguration()
config.activityType = type
config.locationType = .outdoor
session = try HKWorkoutSession(
healthStore: HKHealthStore(),
configuration: config
)
builder = session?.associatedWorkoutBuilder()
session?.startActivity(with: .now)
try await builder?.beginCollection(at: .now)
}
}
```
## visionOS Spatial Computing
```swift
@main
struct VisionApp: App {
var body: some Scene {
// 2D window
WindowGroup {
ContentView()
}
// 3D volume
WindowGroup(id: "globe") {
Globe3DView()
}
.windowStyle(.volumetric)
.defaultSize(width: 0.5, height: 0.5, depth: 0.5, in: .meters)
// Immersive space
ImmersiveSpace(id: "solar-system") {
SolarSystemView()
}
.immersionStyle(selection: .constant(.mixed), in: .mixed)
}
}
// RealityKit integration
struct ImmersiveView: View {
var body: some View {
RealityView { content in
let sphere = ModelEntity(mesh: .generateSphere(radius: 0.1))
sphere.position = [0, 1.5, -1]
content.add(sphere)
}
.gesture(TapGesture().targetedToAnyEntity())
}
}
```
## Multi-Platform Code
```swift
#if os(iOS)
typealias PlatformColor = UIColor
#elseif os(macOS)
typealias PlatformColor = NSColor
#endif
// Conditional compilation
struct ContentView: View {
var body: some View {
#if os(watchOS)
CompactView()
#elseif os(tvOS)
LargeDisplayView()
#else
StandardView()
#endif
}
}
```Related Skills
agent-platforms
Guide for multi-platform skill compatibility across Claude Code, Codex, Gemini CLI, Cursor, GitHub Copilot, and other AI coding agents.
applescript
Expert in AppleScript and JavaScript for Automation (JXA) for macOS system scripting. Specializes in secure script execution, application automation, and system integration. HIGH-RISK skill due to shell command execution and system-wide control capabilities.
apple-shortcuts
Use when working with Apple Shortcuts on macOS/iOS - discovering actions, extension apps, running shortcuts from CLI, or integrating with automation workflows.
apple-notes
Manage Apple Notes via the `memo` CLI on macOS (create, view, edit, delete, search, move, and export notes). Use when a user asks Clawdbot to add a note, list notes, search notes, or manage note folders.
apple-developer-toolkit
All-in-one Apple developer skill with three integrated tools shipped as a single unified binary. (1) Documentation search across Apple frameworks, symbols, and 1,267 WWDC sessions from 2014-2025. No credentials needed. (2) App Store Connect CLI with 120+ commands covering builds (find/wait/upload), TestFlight, pre-submission validate, submissions, signing, subscriptions (family-sharable), IAP, analytics, Xcode Cloud, metadata workflows, release pipeline dashboard, insights, win-back offers, promoted purchases, product pages, nominations, accessibility declarations, pre-orders, pricing filters, localizations update, diff, webhooks with local receiver, workflow automation, and more. Requires App Store Connect API key. (3) Multi-platform app builder (iOS/watchOS/tvOS/iPad/macOS/visionOS) that generates complete Swift/SwiftUI apps from natural language with auto-fix, simulator launch, interactive chat mode, and open-in-Xcode. Requires an LLM API key and Xcode. Includes 38 iOS development rules and 12 SwiftUI best practice guides for Liquid Glass, navigation, state management, and modern APIs. All three tools ship as one binary (appledev). USE WHEN: Apple API docs, App Store Connect management, WWDC lookup, or building iOS/watchOS/tvOS/macOS/visionOS apps from scratch. DON'T USE WHEN: non-Apple platforms or general coding.
apple-contacts
Search and view Apple Contacts from the command line using apple-contacts CLI. Use when asked to search, list, show, or export contacts, find birthdays, browse contact groups, or look up people by name, email, phone, organization, or address. Read-only access using Apple's native Contacts Framework for fast, reliable lookups.
u01549-constraint-compilation-for-civic-participation-platforms
Operate the "Constraint Compilation for civic participation platforms" capability in production for civic participation platforms workflows. Use when mission execution explicitly requires this capability and outcomes must be reproducible, policy-gated, and handoff-ready.
bgo
Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.
large-data-with-dask
Specific optimization strategies for Python scripts working with larger-than-memory datasets via Dask.
langsmith-fetch
Debug LangChain and LangGraph agents by fetching execution traces from LangSmith Studio. Use when debugging agent behavior, investigating errors, analyzing tool calls, checking memory operations, or examining agent performance. Automatically fetches recent traces and analyzes execution patterns. Requires langsmith-fetch CLI installed.
langchain-tool-calling
How chat models call tools - includes bind_tools, tool choice strategies, parallel tool calling, and tool message handling
langchain-notes
LangChain 框架学习笔记 - 快速查找概念、代码示例和最佳实践。包含 Core components、Middleware、Advanced usage、Multi-agent patterns、RAG retrieval、Long-term memory 等主题。当用户询问 LangChain、Agent、RAG、向量存储、工具使用、记忆系统时使用此 Skill。