Agent Skillsonevcat/Prowl › release

release

GitHub

指导 Agent 完成 Prowl 应用的发布流程,包括分支校验、文档同步、版本确认、生成并审核发布说明,最终执行构建、签名、公证及 GitHub 发布。

.claude/skills/release/SKILL.md onevcat/Prowl

Trigger Scenarios

需要发布新版本应用 执行软件构建和部署流程

Install

npx skills add onevcat/Prowl --skill release -g -y
More Options

Non-standard path

npx skills add https://github.com/onevcat/Prowl/tree/main/.claude/skills/release -g -y

Use without installing

npx skills use onevcat/Prowl@release

指定 Agent (Claude Code)

npx skills add onevcat/Prowl --skill release -a claude-code -g -y

安装 repo 全部 skill

npx skills add onevcat/Prowl --all -g -y

预览 repo 内 skill

npx skills add onevcat/Prowl --list

SKILL.md

Frontmatter
{
    "name": "release",
    "description": "Build, sign, notarize, and publish a Prowl release."
}

Release

Build, sign, notarize, and publish a Prowl release.

  1. Verify current branch is main: git branch --show-current
    • If not on main, abort and tell the user to switch first
  2. Verify working tree is clean: git status --porcelain
    • If dirty, list the changes and ask whether to proceed or abort
  3. Sync the docs to the code being released — before the version bump and tag:
    • Run the sync-docs skill. It diffs docs/.sync-meta.json's last_synced_commit against the current main HEAD (the code about to ship), updates any docs whose implementation changed, and sets last_synced_commit to the current HEAD — the exact commit being released, recorded before the bump/tag.
    • Commit the result as its own commit (only docs/**, which includes docs/.sync-meta.json; never git add .): e.g. git commit -m "Sync docs for <VERSION>". This is required: release.sh aborts on a dirty tree, and the doc commit must land on main now so it is an ancestor of the tag and ships inside the release.
    • Ordering is load-bearing: docs first, then bump + tag. Never tag first. The baseline points at the released code (the pre-doc-commit HEAD), not at the later doc/bump/CHANGELOG commits — that is correct and intentional (those commits touch no implementation files, so the next sync starts from a tight, accurate diff range).
    • If sync-docs reports "needs human decision" items, resolve or defer them before continuing.
    • Most releases change little or no implementation, so this step is usually a no-op doc-wise (just a baseline bump). Keep it cheap — see the sync-docs skill's cost notes.
  4. Determine the version:
    • If $ARGUMENTS is provided, use it as the version (e.g., 2026.3.18)
    • Otherwise, default to today's date format and confirm with the user before proceeding
  5. Generate release notes: ./scripts/release-notes.sh <VERSION>
    • This script compares HEAD against the previous release tag, gathers commits and PR descriptions, and generates user-facing notes via LLM into build/release-notes.md.
    • Read the generated build/release-notes.md, show the content to the user, and wait for explicit confirmation. If the user wants changes, edit the file directly.
    • Do NOT proceed to the next step until the user confirms the release notes.
  6. Run the release script: ./scripts/release.sh <VERSION>
    • The script reads build/release-notes.md (required — refuses to run without it).
    • It handles: version bump, build, sign, notarize, DMG, appcast, GitHub Release, and Prowl-Site update. If the tag already exists (e.g., from a prior interrupted run), it skips the bump step automatically.
  7. Report the GitHub release URL and remind the user to verify:
    • The DMG downloads and installs correctly
    • Sparkle update check works (launch app → Check for Updates)

Version History

  • af629d3 Current 2026-07-24 16:08

Same Skill Collection

.claude/skills/check-upstream-changes/SKILL.md
.claude/skills/run-benchmark/SKILL.md
.claude/skills/self-verify-prowl/SKILL.md
.claude/skills/sync-docs/SKILL.md
.claude/skills/write-ai-doc/SKILL.md
.claude/skills/prowl-ui/SKILL.md
skills/prowl-cli/SKILL.md

Metadata

Files
0
Version
739e860
Hash
8a85133c
Indexed
2026-07-24 16:08

inicio - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-18 05:40
浙ICP备14020137号-1 $mapa de visitantes$