Agent skill

Release Kaze

by fayazara in fayazara/Kaze

Release the Kaze macOS app to GitHub using the kaze-release CLI tool.

MITAuto-check passedMobile

Install Release Kaze

skills CLI
$ npx skills add fayazara/Kaze --skill release-kaze -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install fayazara/Kaze release-kaze --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/fayazara/Kaze.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/release-kaze .claude/skills/release-kaze && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
release-kaze
GitHub stars
179
Token cost
~1.9k tokens
SKILL.md length
786 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Release the Kaze macOS app to GitHub using the kaze-release CLI tool.

  • Works in 2 steps: Tools installed: create-dmg (brew), gh… → The Sparkle sign_update binary in…
  • The user wants to publish a new version
  • SKILL.md covers Prerequisites, The Release CLI, Sparkle Configuration and After releasing, plus 1 more section
  • Calls xcrun, gh and xcodebuild

What it does

Release Kaze is an agent skill from fayazara/Kaze. Release the Kaze macOS app to GitHub using the kaze-release CLI tool. Use this skill whenever the user wants to publish a new version, create a release, ship an update, cut a build, push a release to GitHub, or update the appcast. Also use when they mention archiving, notarization, DMG creation, Sparkle signing, bumping the version/build, or anything related to building and distributing a new Kaze version.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Mobile. It works with GitHub, macOS and Xcode. The repository describes itself as: Local speech to text app - Talk instead of typing. The licence is MIT.

When your agent uses it

  • The user wants to publish a new version
  • Create a release
  • Push a release to GitHub
  • Update the appcast

Example prompts

  • “/release-kaze”

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Tools installed: create-dmg (brew), gh (GitHub CLI, authenticated), git, plutil, go.
  2. The Sparkle sign_update binary in DerivedData (created when the project is

What it can do on your machine

Read from SKILL.md and the folder at commit ee8fb5c. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • xcrun
    • gh
    • xcodebuild
    • go
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Release Kaze loads about 1.9k tokens when it runs. Until then it costs about 106 tokens; SKILL.md has 786 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~106
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from fayazara/Kaze at commit ee8fb5c, republished under its MIT licence (© fayazara). 786 words, ~1,860 tokens.

Download SKILL.mdSave it as .claude/skills/release-kaze/SKILL.md (or your agent's skills folder).
name
release-kaze
description
Release the Kaze macOS app to GitHub using the kaze-release CLI tool. Use this skill whenever the user wants to publish a new version, create a release, ship an update, cut a build, push a release to GitHub, or update the appcast. Also use when they mention archiving, notarization, DMG creation, Sparkle signing, bumping the version/build, or anything related to building and distributing a new Kaze version.

Release Kaze

This skill releases new versions of Kaze using a Go CLI in this repo (cmd/kaze-release). The CLI can run fully automated and non-interactively, so a release can be triggered directly from a chat session.

There are two modes:

  • Full auto (-build) - archive, export (Developer ID), notarize, staple, package, sign, and publish. Nothing in Xcode's GUI is required.
  • Package-only (no -build) - assumes the user already exported a notarized ~/Downloads/Kaze.app from Xcode, then packages & publishes.

Prefer full auto unless the user says they've already exported the app.

Publishing is outward-facing (GitHub release, appcast that existing users' Sparkle reads). Confirm the version, build number and notes with the user before running it.

Prerequisites

Always required:

  1. Tools installed: create-dmg (brew), gh (GitHub CLI, authenticated), git, plutil, go.
  2. The Sparkle sign_update binary in DerivedData (created when the project is built/archived - the -build flow produces it automatically).

For full auto (-build) additionally:

  1. xcodebuild, xcrun, ditto (all part of Xcode).
  2. A notarytool keychain profile. The CLI defaults to kaze-notary. Notary credentials belong to the Apple developer account, not the app, so the profile already used for Screendrop works too: -notary-profile screendrop-notary. To create a dedicated one:
    bash
    xcrun notarytool store-credentials "kaze-notary" \
      --key /path/to/AuthKey_XXXXXXXXXX.p8 --key-id XXXXXXXXXX --issuer <issuer-uuid>

The Release CLI

Source: /Users/fayazahmed/Developer/fayazara/mac/Kaze/cmd/kaze-release/

Flags
  • -build - run the archive → export → notarize → staple phase first.
  • -set-version <x.y.z> - set MARKETING_VERSION before archiving (and commit it). Used with -build.
  • -set-build <n> - set CURRENT_PROJECT_VERSION before archiving (and commit it). Used with -build.
  • -scheme <name> - Xcode scheme to archive (default Kaze; never Kaze Dev).
  • -notes "<text>" - release notes, one bullet per line (markdown - prefixes are stripped). Skips the interactive prompt.
  • -notes-file <path> - read release notes from a file instead.
  • -notary-profile <name> - notarytool keychain profile (default kaze-notary).
  • -homebrew - also publish/update Casks/kaze.rb in fayazara/homebrew-tap. Off by default because the tap has no Kaze cask yet; only pass it when the user wants Kaze on Homebrew.
  • -yes / -y - assume "yes" for all confirmation prompts (non-interactive).
  1. Decide the version and build number. The build number (CURRENT_PROJECT_VERSION) must increase every release or Sparkle won't offer the update. Check the current values:
    bash
    grep -E "MARKETING_VERSION|CURRENT_PROJECT_VERSION" \
      Kaze.xcodeproj/project.pbxproj | sort -u
    Pick the next MARKETING_VERSION (dotted semver, never regress) and CURRENT_PROJECT_VERSION = current + 1.
  2. Make sure code changes are committed and pushed to main first, so the release tag points at the released source. (The CLI commits the version bump and pushes the appcast, but it does not push your other unrelated commits.)
  3. Run it (non-interactive, safe to run from a tool call):
    bash
    cd /Users/fayazahmed/Developer/fayazara/mac/Kaze && \
    go run ./cmd/kaze-release -build -yes \
      -set-version <x.y.z> -set-build <n> \
      -notes "First note
    Second note"
    Notarization blocks for a few minutes - this is expected, not a hang. Use a generous tool timeout (~10 min; the archive also compiles MLX).
Package-only (app already exported by the user)
bash
cd /Users/fayazahmed/Developer/fayazara/mac/Kaze && \
go run ./cmd/kaze-release -yes -notes "Your notes here"
Show full SKILL.md (347 more words)Show less
What it does (in order)

With -build:

  1. Set version/build (if -set-version/-set-build given) - edits pbxproj and commits.
  2. Archive - xcodebuild archive (scheme Kaze, Release, generic/platform=macOS).
  3. Export - xcodebuild -exportArchive with a generated Developer ID ExportOptions.plist.
  4. Notarize - zips the app and runs xcrun notarytool submit --wait, verifying status: Accepted.
  5. Staple - xcrun stapler staple, then places the app at ~/Downloads/Kaze.app.

Then always: 6. Preflight checks + validate the app's version/build and Sparkle keys. 7. Collect release notes (from -notes/-notes-file, else stdin). 8. Create DMG with create-dmg → ~/Downloads/Kaze.dmg. 9. Sign DMG with Sparkle sign_update (EdDSA). 10. Push commits - push any local commits (e.g. the version bump) to main. 11. GitHub release - gh release create vX.Y.Z with the DMG attached. 12. Update + push appcast.xml - prepend the new <item> (de-duping any entry for the same build), commit & push to main. 13. Homebrew cask - only with -homebrew.

The release is created before the appcast is pushed, so a published appcast never points at a missing release. Network operations are retried with backoff, and re-running is safe: an existing release gets the DMG re-uploaded (--clobber) and the appcast entry for that build is replaced.

Environment / constants
  • Repo auto-detected at ~/Developer/fayazara/mac/Kaze (override with KAZE_REPO).
  • GitHub repo: fayazara/Kaze · branch: main · team: TB2S44TFQS · bundle: com.fayazahmed.Kaze.
  • DMG volume: Kaze · minimum macOS: 26.0.

Sparkle Configuration

  • SUFeedURL: https://raw.githubusercontent.com/fayazara/Kaze/main/appcast.xml (in Kaze/Info.plist)
  • SUPublicEDKey: MA/6n0fqT0T2updDlkXr8BjhJKoHWik9uf6Lh5pUG7U=
  • UpdaterManager.swift: starts at launch in Release builds only; "Check for Updates" lives in the menu bar and Settings > About.

After releasing

bash
gh release view v<x.y.z> --repo fayazara/Kaze --json tagName,assets -q '{tag: .tagName, assets: [.assets[].name]}'
git pull --ff-only origin main

Troubleshooting

  • Partial failure / network error mid-release - re-run the exact same command; the pipeline is idempotent.
  • notarytool credentials error - the keychain profile is missing/invalid; pass -notary-profile screendrop-notary or create kaze-notary (see Prerequisites).
  • Notarization "Invalid" - inspect with xcrun notarytool log <submission-id> --keychain-profile <profile> (usually signing/entitlements).
  • xcodebuild archive fails - the CLI prints the last ~40 lines; confirm the scheme is Kaze (not Kaze Dev).
  • Kaze.app not found (package-only mode) - export from Xcode first, or use -build.
  • sign_update not found - build/archive the project once so DerivedData has the Sparkle artifacts.
  • gh auth - run gh auth login.
  • Build already in appcast - a new release needs a higher build number; bump -set-build.

© fayazara, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/release-kaze of fayazara/Kaze.

Open the folder on GitHubat commit ee8fb5c

Compare with similar skills

Release Kaze next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Release Kaze compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release Kaze this skillfayazara/Kaze179—~1.9kAutomated safety check: PassMIT
Release Screendropfayazara/Screendrop2.1k—~2.1kAutomated safety check: PassCC0-1.0
macOS Releasefayazara/macos-app-skills676—~1.8kAutomated safety check: PassNone
Tusk ReleaseShape-Machine/tusk-macos126—~822Automated safety check: PassCustom licence
Swift Developmentaiskillstore/marketplace430—~1.8kAutomated safety check: PassNone
macOS Spm App PackagingDimillian/Skills4k5 repos~1.2kAutomated safety check: PassMIT

Similar skills

  • Release Screendrop

    fayazara/Screendrop

    Release the Screendrop macOS app to GitHub using the screendrop-release CLI tool.

    2.1k GitHub stars~2.1k tokensUpdated 8 days ago
    MobileAuto-check passed
  • macOS Release

    fayazara/macos-app-skills

    Release a native macOS app to GitHub with DMG packaging and Sparkle appcast updates.

    676 GitHub stars~1.8k tokensUpdated 4 mo ago
    MobileAuto-check passed
  • Tusk Release

    Shape-Machine/tusk-macos

    A skill your agent uses when preparing a full Tusk macOS release: bump the app version, regenerate the Xcode project, build and package the DMG, publish the GitHub release, and update README links.

    126 GitHub stars~822 tokensUpdated 4 mo ago
    MobileAuto-check passed
  • Swift Development

    aiskillstore/marketplace

    Comprehensive Swift development for building, testing, and deploying iOS/macOS applications.

    430 GitHub stars~1.8k tokensUpdated today
    MobileAuto-check passed
  • macOS Spm App Packaging

    Dimillian/Skills

    Scaffold, build, and package SwiftPM-based macOS apps without an Xcode project.

    4k GitHub starsUsed in 5 repos~1.2k tokens
    MobileAuto-check passed
  • iOS Simulator control from inside Orca, with the live device view in Orca's emulator pane. Use when driving a booted Apple Simulator on macOS: taps, gestures…

    88k GitHub starsUsed in 1 repo~584 tokens
    MobileAuto-check passed

More from fayazara/Kaze

  • Build And Run Kaze

    fayazara/Kaze

    Build the Kaze macOS app with xcodebuild, kill any running instance (of any scheme), and launch the fresh build.

    179 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Build Kaze

    fayazara/Kaze

    Build the Kaze macOS app using xcodebuild. An agent skill from fayazara/Kaze.

    179 GitHub stars~446 tokensUpdated today
    Auto-check passed

Categories

Questions about Release Kaze

What does Release Kaze do?

Release the Kaze macOS app to GitHub using the kaze-release CLI tool. Release Kaze is an agent skill from fayazara/Kaze. Release the Kaze macOS app to GitHub using the kaze-release CLI tool.

When should I use Release Kaze?

Release Kaze fits situations like: the user wants to publish a new version; create a release; push a release to GitHub; update the appcast.

How do I install Release Kaze in Claude Code?

Run `npx skills add fayazara/Kaze --skill release-kaze -a claude-code`. Or copy the skill folder (.agents/skills/release-kaze in fayazara/Kaze) into .claude/skills/release-kaze in your project. Claude Code loads it when a task matches its description.

How do I install Release Kaze in Codex?

Run `npx skills add fayazara/Kaze --skill release-kaze -a codex`. Or copy the skill folder (.agents/skills/release-kaze in fayazara/Kaze) into .agents/skills/release-kaze in your project. Codex loads it when a task matches its description.

Can I use Release Kaze in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add fayazara/Kaze --skill release-kaze -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release-kaze, .gemini/skills/release-kaze, .github/skills/release-kaze and .opencode/skills/release-kaze in your project.

What does Release Kaze need to run?

Going by SKILL.md and its folder, Release Kaze needs the command-line tools its instructions call (xcrun, gh, xcodebuild, go and git).

Does Release Kaze access the network?

SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Release Kaze safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Release Kaze use?

Release Kaze is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Release Kaze use?

About 1.9k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Release Kaze?

Skills that share tags, products or a category with Release Kaze: Release Screendrop (fayazara/Screendrop, 2.1k stars), macOS Release (fayazara/macos-app-skills, 676 stars), Tusk Release (Shape-Machine/tusk-macos, 126 stars) and Swift Development (aiskillstore/marketplace, 430 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release Kaze?

fayazara (a GitHub user) maintains it in fayazara/Kaze, which has 179 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 8, 2026.

Source: fayazara/Kaze on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.