Skip to main content
skill CX Codex

macos-auto-update — Claude Code skill: Sparkle updates for macOS

A skill that walks the agent through wiring Sparkle into a native macOS app, from the SPM dependency to the first appcast.xml.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add fayazara/macos-app-skills --skill macos-auto-update -a claude-code
npx skills add fayazara/macos-app-skills --skill auto-update -a claude-code
Open on GitHub

What macos-auto-update does

Reach for this skill when a macOS app has to ship updates outside the Mac App Store. The agent pulls the Sparkle package in with Swift Package Manager, drops UpdaterManager.swift into the project, and fills in SUFeedURL and SUPublicEDKey in Info.plist. Then it hooks a “Check for Updates” control into settings or the menu bar.

The reference file is a singleton built on SPUStandardUpdaterController. It gets created before applicationDidFinishLaunching returns, publishes canCheckForUpdates for SwiftUI binding, and exposes the automatic-check toggle. Update code is guarded out of DEBUG builds, so your dev copy never gets swapped for a release binary. Menu-bar apps get a temporary switch to .regular activation policy before the update window opens.

You need an EdDSA keypair. The skill locates generate_keys in DerivedData; the public half belongs in Info.plist, the private half stays in Keychain and signs each release with sign_update. No valid signature, no working appcast. Apps under Hardened Runtime need no extra entitlements for Sparkle.

What it helps with

  • add the Sparkle package to a macOS project
  • wrap SPUStandardUpdaterController in a singleton
  • set SUFeedURL and the public EdDSA key in Info.plist
  • put a “Check for Updates” item in settings or the menu bar
  • generate a keypair and an initial appcast.xml

Example prompts for the agent

  • Add Sparkle auto-update to my macOS app
  • Set up UpdaterManager.swift and hook update checks into my settings pane
  • Generate the EdDSA keys and build appcast.xml for a release

How to install macos-auto-update

1Skills CLI (Vercel)

npx skills add fayazara/macos-app-skills --skill macos-auto-update -a claude-code
npx skills add fayazara/macos-app-skills --skill auto-update -a claude-code

2Manually: put the files in place

~/.claude/skills/auto-update/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/auto-update/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about macos-auto-update

How do I install macos-auto-update in Claude Code?

Run npx skills add fayazara/macos-app-skills --skill macos-auto-update -a claude-code. Alternatively, install it by its auto-update name: npx skills add fayazara/macos-app-skills --skill auto-update -a claude-code.

What does macos-auto-update do?

It brings Sparkle into a native macOS app: the SPM package, the UpdaterManager singleton, the Info.plist keys, an update-check control and a starter appcast file.

Does it work for menu-bar-only apps?

Yes. Such apps run as .accessory, so the reference manager briefly switches to .regular while the update window is shown, otherwise Sparkle's window never appears.

Similar skills

Everything for Mobile →

From the same set6

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor