Agent skill

Release

by vaayne in vaayne/mori

Release workflow for Mori macOS workspace terminal and MoriRemote iOS app.

MITAuto-check passedMobile

Install Release

skills CLI
$ npx skills add vaayne/mori --skill release -a claude-code

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

GitHub CLI
$ gh skill install vaayne/mori release --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/vaayne/mori.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/release .claude/skills/release && 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
GitHub stars
303
Token cost
~1.2k tokens
SKILL.md length
438 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Release workflow for Mori macOS workspace terminal and MoriRemote iOS app.

  • Works in 6 steps: Update CHANGELOG.md (see below) → Commit: 📝 docs: update CHANGELOG for… → Tag: git tag vX.Y.Z → …
  • Automated CI/CD builds
  • SKILL.md covers macOS Release, iOS Release (MoriRemote →… and Update Changelog
  • Calls git, gh and xcrun; needs APPLE_APP_PASSWORD and APPLE_CERTIFICATE_PASSWORD

What it does

Release is an agent skill from vaayne/mori. Release workflow for Mori macOS workspace terminal and MoriRemote iOS app. Create releases with semantic versioned tags, update changelog, and trigger automated CI/CD builds. Use when the user asks to "release", "create a release", "tag a version", "update changelog", "prepare release", "cut a release", "publish to TestFlight", or discusses versioning and release artifacts.

Its SKILL.md is about 1.2k 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, covering App store release, iOS development and Changelog and release notes. It works with App Store Connect, macOS, iOS and Homebrew. The repository describes itself as: A native macOS workspace terminal organized around Projects and Worktrees, powered by tmux and libghostty. The licence is MIT.

When your agent uses it

  • Automated CI/CD builds
  • The user asks to release
  • Create a release
  • Update changelog

Example prompts

  • “release”
  • “create a release”
  • “tag a version”
  • “/release”

Requirements

  • A credential in HOMEBREW_TAP_TOKEN
  • A credential in SPARKLE_PRIVATE_KEY

Workflow steps

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

  1. Update CHANGELOG.md (see below)
  2. Commit: 📝 docs: update CHANGELOG for vX.Y.Z
  3. Tag: git tag vX.Y.Z
  4. Push: git push origin main --tags
  5. CI triggers .github/workflows/release.yml → builds, signs, notarizes, and publishes the GitHub Release
  6. CI updates vaayne/homebrew-tap with the new mori cask version and SHA-256

What it can do on your machine

Read from SKILL.md and the folder at commit ff206ee. 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:

    • git
    • gh
    • xcrun

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

  • Network

    Links to these hosts (documentation or services it may open):

    • appstoreconnect.apple.com
    • keepachangelog.com

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • APPLE_APP_PASSWORD
    • APPLE_CERTIFICATE_PASSWORD
    • HOMEBREW_TAP_TOKEN
    • SPARKLE_PRIVATE_KEY
    • IOS_CERTIFICATE_PASSWORD

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

Context cost

Release loads about 1.2k tokens when it runs. Until then it costs about 96 tokens; SKILL.md has 438 words of instructions outside code blocks.

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

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 vaayne/mori at commit ff206ee, republished under its MIT licence (© vaayne). 438 words, ~1,166 tokens.

Download SKILL.mdSave it as .claude/skills/release/SKILL.md (or your agent's skills folder).
name
release
description
Release workflow for Mori macOS workspace terminal and MoriRemote iOS app. Create releases with semantic versioned tags, update changelog, and trigger automated CI/CD builds. Use when the user asks to "release", "create a release", "tag a version", "update changelog", "prepare release", "cut a release", "publish to TestFlight", or discusses versioning and release artifacts.

Release

macOS Release

Tag Format

Use semantic versioning with v prefix: v0.1.0, v1.0.0, v1.2.3-rc.1.

Release Flow
  1. Update CHANGELOG.md (see below)
  2. Commit: 📝 docs: update CHANGELOG for vX.Y.Z
  3. Tag: git tag vX.Y.Z
  4. Push: git push origin main --tags
  5. CI triggers .github/workflows/release.yml → builds, signs, notarizes, and publishes the GitHub Release
  6. CI updates vaayne/homebrew-tap with the new mori cask version and SHA-256
Required Secrets
  • APPLE_CERTIFICATE_P12
  • APPLE_CERTIFICATE_PASSWORD
  • APPLE_ID
  • APPLE_TEAM_ID
  • APPLE_APP_PASSWORD
  • APPLE_DEVELOPER_NAME
  • HOMEBREW_TAP_TOKEN — personal access token with write access to vaayne/homebrew-tap
  • SPARKLE_PRIVATE_KEY — EdDSA key for Sparkle appcast signing
Homebrew Tap

Homebrew does not automatically update a third-party tap from GitHub Releases. Mori's release workflow is responsible for updating vaayne/homebrew-tap.

The tap update flow:

  1. Read the uploaded ZIP asset digest from the just-created GitHub Release
  2. Rewrite Casks/mori.rb in vaayne/homebrew-tap
  3. Commit and push the cask update to the tap's default branch

The generated cask installs Mori.app, depends on tmux, and exposes the embedded mori CLI via a binary stanza.

Artifacts
  • macOS app ZIP: Mori-X.Y.Z-macos-arm64.zip (signed and notarized)
  • macOS app DMG: Mori-X.Y.Z-macos-arm64.dmg (signed and notarized)
  • GitHub Release: Auto-created by release.yml workflow on tag push
  • Homebrew tap: vaayne/homebrew-tap updated automatically after a successful release

iOS Release (MoriRemote → TestFlight)

Version Rule

For MoriRemote TestFlight uploads, keep the App Store Connect marketing version fixed at 0.3.5 unless the user explicitly asks to change it. New TestFlight uploads must reuse version 0.3.5 and only increment the build number.

Tag Format

Use semantic versioning with ios-v prefix: ios-v0.1.0, ios-v1.0.0.

Show full SKILL.md (194 more words)Show less
Release Flow

Option A: Manual dispatch (recommended for testing)

bash
gh workflow run release-ios.yml -R vaayne/mori \
  --ref <branch> \
  -f version=0.3.5 \
  -f build_number=N

Option B: Tag-based

  1. Keep the TestFlight marketing version at 0.3.5 unless explicitly told otherwise
  2. Tag: git tag ios-vX.Y.Z
  3. Push: git push origin ios-vX.Y.Z
  4. CI triggers .github/workflows/release-ios.yml → archives, exports IPA, uploads to TestFlight
Required Secrets
  • IOS_CERTIFICATE_P12 — Apple Distribution certificate (base64-encoded .p12)
  • IOS_CERTIFICATE_PASSWORD — password for the .p12
  • APPLE_ID — Apple ID email (shared with macOS)
  • APPLE_APP_PASSWORD — app-specific password (shared with macOS)
  • APPLE_TEAM_ID — team ID (shared with macOS)
App Store Connect
  • App Name: MoriRemote
  • Bundle ID: com.vaayne.mori-remote
  • Apple ID: 6761400903
  • SKU: mori-remote
After Upload
  1. Go to App Store Connect → MoriRemote → TestFlight
  2. Wait for Apple's processing (5–15 minutes)
  3. Add testers under Internal Testing group
  4. Testers receive a TestFlight invite on their device
Artifacts
  • IPA: uploaded to GitHub Actions as artifact (90-day retention)
  • TestFlight: uploaded automatically via xcrun altool

Update Changelog

The changelog lives at CHANGELOG.md in the repo root. It follows Keep a Changelog format.

Gather changes since last tag:

bash
git log $(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD)..HEAD --oneline
gh pr list --state merged --base main --search "merged:>=$(git log -1 --format=%aI $(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD))"

Apply to CHANGELOG.md:

  1. Rename [Unreleased] to [X.Y.Z] - YYYY-MM-DD
  2. Add fresh [Unreleased] section above
  3. Categorize: ✨ Features, 🐛 Bug Fixes, ♻️ Refactoring, 📝 Documentation, 📦 Dependencies
  4. Link PRs: ([#123](https://github.com/vaayne/mori/pull/123))
  5. Append: **Full Changelog**: [vPREV...vX.Y.Z](https://github.com/vaayne/mori/compare/vPREV...vX.Y.Z)

© vaayne, 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 of vaayne/mori.

Open the folder on GitHubat commit ff206ee

Compare with similar skills

Release 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 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release this skillvaayne/mori303—~1.2kAutomated safety check: PassMIT
CI CD Setuprshankras/claude-code-apple-skills781—~1.5kAutomated safety check: NotesMIT
Publish App Store VersionKeeForge/KeeForge111—~3.5kAutomated safety check: PassGPL-3.0
Prepare ReleaseKeeForge/KeeForge111—~493Automated safety check: PassGPL-3.0
OdevioOdevio/Odevio-CLI423—~7.6kAutomated safety check: PassMIT
Asc Xcode Buildrorkai/app-store-connect-cli-skills1.1k2 repos~2.1kAutomated safety check: PassMIT

Similar skills

  • CI CD Setup

    rshankras/claude-code-apple-skills

    Generate CI/CD configuration for automated builds, tests, and distribution of iOS/macOS apps.

    781 GitHub stars~1.5k tokensUpdated 2 mo ago
    DevOps & CloudAuto-check: notes
  • Publish App Store Version

    KeeForge/KeeForge

    Prepare and publish an already-built KeeForge iOS or macOS version through the App Store Connect API using an API key.

    111 GitHub stars~3.5k tokensUpdated yesterday
    MobileAuto-check passed
  • Prepare Release

    KeeForge/KeeForge

    Prepare the first KeeForge candidate for a new marketing version, including minor/major releases and patches or hotfixes to shipped versions.

    111 GitHub stars~493 tokensUpdated yesterday
    MobileAuto-check passed
  • Odevio

    Odevio/Odevio-CLI

    Take a Flutter project to an iPhone or the App Store with Odevio - build, sign and publish iOS apps from Windows, Linux or macOS with no Mac and no Xcode.

    423 GitHub stars~7.6k tokensUpdated 13 days ago
    MobileAuto-check passed
  • Asc Xcode Build

    rorkai/app-store-connect-cli-skills

    Build, archive, generate export options, export, upload, and manage Xcode version/build numbers with the current asc xcode helpers.

    1.1k GitHub starsUsed in 2 repos~2.1k tokens
    MobileAuto-check passed
  • Release

    movieclaw/MovieClaw

    发布 movieclaw 新版本。当用户要求发版、发布新版本、打 tag、发布 NER 模型、发布 Docker 镜像,或打包上传 iOS App 到 TestFlight / App Store、补传发版附件(IPA、Mac 转码器、Mac 版 App)时使用。涵盖版本号三处同步、应用/模型/镜像/iOS 的完整流程、可选附件失败补救与检查清单。

    132 GitHub stars~2.3k tokensUpdated today
    MobileAuto-check passed

More from vaayne/mori

  • Use Mori CLI to enable agent-to-agent communication and coordination across Mori-managed panes.

    303 GitHub stars~1.7k tokensUpdated 2 mo ago
    Auto-check passed
  • macOS App Design

    vaayne/mori

    A skill your agent uses when designing or building native macOS applications with SwiftUI or AppKit.

    303 GitHub stars~789 tokensUpdated 2 mo ago
    Auto-check passed

Questions about Release

What does Release do?

Release workflow for Mori macOS workspace terminal and MoriRemote iOS app. Release is an agent skill from vaayne/mori. Release workflow for Mori macOS workspace terminal and MoriRemote iOS app.

When should I use Release?

Release fits situations like: automated CI/CD builds; the user asks to release; create a release; update changelog.

How do I install Release in Claude Code?

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

How do I install Release in Codex?

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

Can I use Release 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 vaayne/mori --skill release -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, .gemini/skills/release, .github/skills/release and .opencode/skills/release in your project.

What does Release need to run?

Going by SKILL.md and its folder, Release needs the command-line tools its instructions call (git, gh and xcrun) and credentials named APPLE_APP_PASSWORD, APPLE_CERTIFICATE_PASSWORD, HOMEBREW_TAP_TOKEN and SPARKLE_PRIVATE_KEY. Our summary lists: A credential in HOMEBREW_TAP_TOKEN; A credential in SPARKLE_PRIVATE_KEY.

Does Release access the network?

SKILL.md names 2 domains. As links in the text: appstoreconnect.apple.com and keepachangelog.com. This is read from the text; nothing was executed.

Is Release 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 use?

Release 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 use?

About 1.2k tokens (SKILL.md is roughly 4.7k 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?

Skills that share tags, products or a category with Release: CI CD Setup (rshankras/claude-code-apple-skills, 781 stars), Publish App Store Version (KeeForge/KeeForge, 111 stars), Prepare Release (KeeForge/KeeForge, 111 stars) and Odevio (Odevio/Odevio-CLI, 423 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release?

vaayne (a GitHub user) maintains it in vaayne/mori, which has 303 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on August 5, 2026.

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