macos-auto-update — скилл для Claude Code
Скилл, который проводит агента по всей настройке Sparkle в нативном приложении для macOS: от зависимости SPM до первого appcast.xml.
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Что делает macos-auto-update
Скилл нужен, когда в macOS-приложении надо завести автообновление вне Mac App Store. Агент добавляет пакет Sparkle в проект через SPM, кладёт в проект UpdaterManager.swift и настраивает ключи SUFeedURL и SUPublicEDKey в Info.plist. Дальше подключает кнопку «Check for Updates» в настройках или в меню-баре.
Внутри четыре шага и готовый файл-образец: синглтон поверх SPUStandardUpdaterController, запуск из applicationDidFinishLaunching, публикация canCheckForUpdates для привязки в интерфейсе. В DEBUG-сборках логика обновления отключена, чтобы приложение не пыталось заменить отладочную версию релизной. Для приложений без иконки в Dock скилл на время окна обновления переключает политику активации на .regular.
Понадобится пара EdDSA-ключей: утилиту generate_keys скилл находит в DerivedData, публичная часть идёт в Info.plist, приватная остаётся в Keychain и пригодится при подписи релиза через sign_update. Без неё appcast не собрать. Закрытые сборки под Hardened Runtime отдельного разрешения не требуют.
Какие задачи решает
- добавить Sparkle в проект на macOS через Swift Package Manager
- сделать синглтон-обёртку над
SPUStandardUpdaterController - прописать
SUFeedURLи публичный EdDSA-ключ вInfo.plist - вывести пункт «Check for Updates» в настройках или меню-баре
- сгенерировать пару ключей и начальный
appcast.xmlдля репозитория
Примеры запросов агенту
- Добавь автообновление через Sparkle в моё macOS-приложение
- Настрой
UpdaterManager.swiftи подключи проверку обновлений к настройкам - Сгенерируй EdDSA-ключи и собери
appcast.xmlдля релиза
Как установить macos-auto-update
1Через Skills CLI (Vercel)
npx skills add fayazara/macos-app-skills --skill macos-auto-update -a claude-codenpx skills add fayazara/macos-app-skills --skill auto-update -a claude-code2Вручную: положить файлы
~/.claude/skills/auto-update/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/auto-update/
1Через Skills CLI (Vercel)
npx skills add fayazara/macos-app-skills --skill auto-update -a codex2Вручную: положить файлы
.agents/skills/auto-update/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add fayazara/macos-app-skills --skill auto-update -a cursor2Вручную: положить файлы
.cursor/skills/auto-update/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install fayazara/macos-app-skills auto-update2Вручную: положить файлы
.github/skills/auto-update/SKILL.md1Через Skills CLI (Vercel)
npx skills add fayazara/macos-app-skills --skill auto-update -a gemini-cli2Командой платформы
gemini skills install https://github.com/fayazara/macos-app-skills --path auto-updateВручную: положить файлы
.devin/skills/auto-update/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add fayazara/macos-app-skills --skill auto-update -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о macos-auto-update
Как установить macos-auto-update в Claude Code?
Выполните npx skills add fayazara/macos-app-skills --skill macos-auto-update -a claude-code. Второй вариант — поставить по имени auto-update: npx skills add fayazara/macos-app-skills --skill auto-update -a claude-code.
Что делает macos-auto-update?
Подключает к нативному macOS-приложению фреймворк Sparkle: зависимость SPM, синглтон UpdaterManager, ключи в Info.plist, кнопку проверки обновлений и стартовый appcast.xml.
Почему обновления не работают в отладочной сборке?
Скилл намеренно ставит DEBUG-проверки на запуск и проверку обновлений. Иначе Sparkle попытался бы заменить debug-приложение релизной сборкой.