By XueshiQiao
Scaffold interactive production-ready macOS apps (menu bar, windowed, hybrid) using XcodeGen, SwiftUI starter code, GitHub Actions CI/CD, code signing, notarization, and Sparkle auto-updates. Enhance existing Swift macOS apps with CI/CD, logging, SwiftLint, localization, and Launch at Login after auto-detecting project context (Xcode, XcodeGen, SPM).
npx claudepluginhub xueshiqiao/macos-app-scaffoldAdd features to an existing macOS app — CI/CD, auto-update, logging, SwiftLint, localization, Launch at Login, and more
Scaffold a new macOS app with XcodeGen, GitHub Actions CI/CD, code signing, notarization, auto-update, and SwiftUI starter code
Scaffold a new macOS app or add features to an existing one. Auto-detects project context and routes accordingly.
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimElite iOS and macOS development expertise with automatic skill activation for Swift, SwiftUI, UIKit, Xcode, and Apple frameworks plus code formatting tools
Expert Swift 6.2 + SwiftUI for iOS 26, macOS 26, iPadOS 26, watchOS 26, visionOS 26, tvOS 26 with Liquid Glass, @Observable, actors, SwiftData inheritance
Claude Code skills for iOS/macOS app automation with Fastlane
Editorial "Apple Platform Design" bundle for Claude Code from Antigravity Awesome Skills.
Agents and skills for Swift app development on iOS.
Automates macOS apps via Apple Events using AppleScript (discovery) and JXA (production logic). Use when asked about AppleScript, JXA, osascript, or macOS app automation.
AI agent skill for scaffolding and enhancing production-ready macOS apps. Works with Claude Code, Cursor, Codex, Gemini, and 40+ other agents.
Extracted from real-world patterns across multiple shipped macOS apps using XcodeGen, GitHub Actions, SwiftUI, and Apple notarization.
All features are interactive — you pick what you need, skip what you don't.
Project Setup
project.yml) as single source of truth.gitignoreAGENTS.md + CLAUDE.md symlink for multi-agent workflowsBuild & Distribution
v* tagsApp Features
SMAppService.mainApp)SMAppService.agent user-context, or .daemon privileged) — see table below~/Library/Logs/<AppName>.log)Most apps run as a single process. These four options let you opt into more — default is None. Pick the smallest one that fits.
| Option | What you get | Runs as | User approval | Pick when… | Limits |
|---|---|---|---|---|---|
| None (default) | Single-process app. | user | n/a | Everything you can do inside the main app process. | none |
Login Item (SMAppService.mainApp) | Main app auto-launches at login. | user | none | Menu bar tools, chat clients, quick-capture apps you want opened automatically. | Adds zero capability — only convenience. |
User Agent (SMAppService.agent) | Separate helper binary; launchd starts it on demand once the user has logged in. App ↔ helper via XPC. | user | none | Persistent background work without root: clipboard watcher, sync engine, hotkey daemon, on-device AI worker. | Two-process design, must define an XPC protocol, helper signed with same Team ID. |
Privileged Daemon (SMAppService.daemon) | Separate helper binary; launchd starts it on demand at the system level (no login required). App ↔ helper via privileged XPC. | root | required (System Settings → Login Items) | VPN / packet filter, system-wide proxy, kext-adjacent ops, services that must run before any user logs in (set RunAtLoad for that). | High MAS review bar, helper effectively unsandboxable, runtime XPC caller authorization is the helper's responsibility, user-visible approval flow. |
Working templates for User Agent and Privileged Daemon — including the
launchd plist, XPC protocol, app-side controller, and project.yml wiring —
live in skills/macos-app-scaffold-new/templates/.
Code Quality
License & Docs
/macos-app-scaffold
That's it. The skill auto-detects whether you're in an existing project or starting fresh, and routes you to the right workflow.
You can also be explicit:
/macos-app-scaffold new MyApp # Create a new app
/macos-app-scaffold enhance # Add features to current project
/macos-app-scaffold — Entry point (auto-routes)Detects your context and asks:
/macos-app-scaffold-new — Create a new projectInteractive wizard that walks you through app name, archetype, features, and CI/CD options, then generates everything.
/macos-app-scaffold-new MyApp me.xueshi.myapp
/macos-app-scaffold-enhance — Add features to an existing projectAnalyzes your current project, shows what's already in place, and lets you surgically add missing features:
/macos-app-scaffold-enhance # Full analysis + pick features
/macos-app-scaffold-enhance ci-cd # Add CI/CD directly
/macos-app-scaffold-enhance auto-update # Add auto-update directly
/macos-app-scaffold-enhance logging # Add file-based logging