Agent Skills
› lnikell/loopndroll
› macos-release-loopndroll
macos-release-loopndroll
GitHub用于构建、签名、公证并发布Loopndroll macOS应用发布包的技能。涵盖版本管理、环境校验、执行发布脚本及验证结果,避免重复实现已有流程。
Trigger Scenarios
请求发布macOS应用
要求提升应用版本号
需要生成已签名和公证的macOS构建包
更新GitHub上的应用发布版本
Install
npx skills add lnikell/loopndroll --skill macos-release-loopndroll -g -y
SKILL.md
Frontmatter
{
"name": "macos-release-loopndroll",
"description": "Build, sign, notarize, and publish the Loopndroll macOS release for this repository. Use when the user asks to bump the app version, produce a signed\/notarized macOS build, or publish\/update a GitHub release for Loopndroll without re-discovering the project-specific release flow."
}
Loopndroll macOS Release
This repository uses Electrobun for desktop packaging, even though the repo name contains tauri.
Repository facts
- The release version lives in
package.json. - The app build config is
electrobun.config.ts. - The macOS release entrypoint is
scripts/release-macos.sh. - The default GitHub remote is
origin -> git@github.com:lnikell/loopndroll.git. - The stable release command is
bash scripts/release-macos.sh v<version>.
Required environment
Before releasing, verify:
.envexists in the repo root or equivalent env vars are exported.ELECTROBUN_DEVELOPER_IDis set.- For notarization, prefer App Store Connect API key variables:
ELECTROBUN_APPLEAPIISSUERELECTROBUN_APPLEAPIKEYELECTROBUN_APPLEAPIKEYPATH
gh auth statussucceeds.security find-identity -v -p codesigningshows the Developer ID Application identity.xcrun notarytool --versionsucceeds.
Standard workflow
- Read
package.jsonand confirm the current version. - If the working tree has uncommitted changes, commit and push those changes before changing the version or starting the release. If those changes are not intended for release, stop and confirm with the user instead of releasing them accidentally.
- If the user asked for a version bump, edit only
package.jsonfirst. If the user asked to release without specifying a version, bump the patch version inpackage.jsonby+0.0.1first. - Commit and push the version bump before releasing.
- Ensure the working tree is clean because
scripts/release-macos.shrefuses dirty releases unlessALLOW_DIRTY_RELEASE=true. - Run:
bash scripts/release-macos.sh v<version>
- After the script finishes, verify:
codesign --verify --deep --strict --verbose=2 build/stable-macos-arm64/Loopndroll.app
spctl -a -vvv --type exec build/stable-macos-arm64/Loopndroll.app
xcrun stapler validate artifacts/stable-macos-arm64-Loopndroll.dmg
gh release view v<version> --repo lnikell/loopndroll
What the release script already does
Do not re-implement this unless the script is broken. scripts/release-macos.sh already:
- loads
.envautomatically if present - resolves the GitHub repo slug from
origin - checks
ghauthentication - validates notarization environment variables
- tags
v<version>if needed and pushes the tag - enables Electrobun code signing and notarization
- runs
pnpm run build:stable - signs and notarizes the app and DMG
- publishes or updates the GitHub release assets
Operational guidance
- Prefer releasing before making unrelated repo edits. The script expects a clean tree.
- If there are uncommitted changes in the repo, commit and push them before the version bump and release. Do not ship unreviewed local work by accident; if the changes should not be part of the release, stop and ask the user.
- If the user does not specify a version, default to the next patch release by bumping
package.jsonfrom the current version to+0.0.1before running the release. - If you need to add repo changes such as documentation or a skill, do that after the release and commit them separately.
- If the release already exists for the requested tag, the script will upload the fresh artifacts with
--clobber. - When reporting completion, include the GitHub release URL and confirm the notarization checks passed.
Version History
- 1546923 Current 2026-07-25 07:08


