prepare-release
Skill240 starsChanged 20 days agoMITView on GitHub
9 パッケージ × 5 レジストリの version bump と関連ファイル更新 (Cargo.lock / package-lock.json / Swift checksum / CHANGELOG 昇格) を 1 コマンドで適用案にする read-mostly skill。`release-prep` (確認用) の続きに呼び、 実 bump 差分の markdown 提案 + 順序付き publish ガイドを生成する。
- Installs packages
49 other projects use a version of this.
Adopted by
Most recently taken up by
- Krzysztof318/MailFathomtheir own version, first seen Nov 15, 2026
- skixmix/AntanItheir own version, first seen Nov 15, 2026
- erraggy/oastoolstheir own version, first seen Nov 15, 2026
- CherryHQ/cherry-studiotheir own version, first seen Nov 15, 2026
- leancodepl/patroltheir own version, first seen Nov 9, 2026
- Azure/azure-sdk-for-rusttheir own version, first seen Nov 8, 2026
Used with
Projects with it also use publish-release, review-change and 4 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
Model Context ProtocolSkillpublish-release
Publish a GitHub release for the C# MCP SDK after a prepare-release PR has been merged. Refreshes release notes to include any PRs merged since preparation, warns about version or breaking change impacts from late-arriving PRs, and creates a draft GitHub release. Use when asked to publish a release, finalize a release, create release notes, or complete a release after the prepare-release PR has been merged.
Also in 3 projects that use this
thlaureSkillreview-change
Use this skill when the user asks for a code review, a correctness pass, a check before PR, or asks whether a Signalist change follows project conventions.
Also in 3 projects that use this
DockerSkillfix-issue
Fix a single GitHub issue end-to-end: triage, research, write the fix, review, and create a PR. Use when asked to fix an issue: "fix issue 1234", "resolve #500", "create a PR for issue 200".
Also in 4 projects that use this
kiminmonacoSkillimplement-feature
Guide for implementing features in ClaudeBar following architecture-first design, TDD, rich domain models, and Swift 6.2 patterns. Use this skill when: (1) Adding new functionality to the app (2) Creating domain models that follow user's mental model (3) Building SwiftUI views that consume domain models directly (4) User asks "how do I implement X" or "add feature Y" (5) Implementing any feature that spans Domain, Infrastructure, and App layers
Also in 3 projects that use this
SentrySkillwrite-docs
Create or update documentation pages for the Abacus docs site. Use when adding new documentation, updating existing pages, or ensuring docs stay in sync with code changes. Ensures pages follow Starlight patterns and build correctly.
Also in 3 projects that use this
DockerSkillreview-pr
Review one or more incoming Docker documentation pull requests as a maintainer. Independently validate technical claims, assess editorial fit and information architecture, choose a verdict, and draft exact inline or PR-wide feedback behind a confirmation gate. Use for requests such as "review PR 123", "is this PR correct?", "does this information belong here?", "validate this PR", or "help review backlog PRs". Do not use to maintain or fix a PR you own; use maintain-pr for that.
Also in 4 projects that use this
Other versions49 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 49
- CherryHQ/cherry-studio★ 54ksame name
- redis/go-redis★ 22ksame name
- netbox-community/netbox★ 22ksame name
- joke2k/faker★ 19ksame name
- pybind/pybind11★ 18ksame name
- telepresenceio/telepresence★ 7.3ksame name
- modelcontextprotocol/csharp-sdk★ 4.6ksame name
- tmoroney/auto-subs★ 4.5ksame name
- CLIUtils/CLI11★ 4.5ksame name
- ethereum/consensus-specs★ 4ksame name
39 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository20 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- bump-depsSkill
- check-cross-runtimeSkill
- check-loanwordSkill
- check-new-runtime-assetSkill
- check-pr-readySkill
- check-puaSkill
- check-review-backlogSkill
- check-runtime-paritySkill
- commitSkill
- create-prSkill
- precheckSkill
- publish-modelSkill
- release-prepSkill
- reply-reviewSkill
- run-testsSkill
- skill-healthSkill
- sync-docsSkill
- watch-ci-patternsSkill
- watch-prSkill
The file
Files
Release Preparation Skill (Bump 適用版)
release-prep (read-mostly な確認) の続きとして、 実際の version bump 差分 を全 manifest にわたり生成する skill。
ユーザは memory feedback_conservative_changes.md / feedback_merge_caution.md に従い、 適用は明示確認を取ってから (デフォルト dry-run、 markdown diff 提示のみ)。
カバー範囲
| 段階 | 対応 |
| Version 散在検出 | 9 manifest を一括 bump 案として markdown 出力 |
| Lockfile 再生成 | uv.lock / Cargo.lock / package-lock.json の更新コマンド提示 |
| Swift checksum | xcframework artifact 取得後の swift package compute-checksum 手順 |
| CHANGELOG 昇格 | [Unreleased] → [X.Y.Z] - YYYY-MM-DD の markdown diff |
| Tag 順序ガイド | 独立パッケージ tag (npm は g2p 先行) → docker-v → v tag → Manual Release dispatch の順序 |
| 公開後検証 | 各 registry で publish 完了確認の手順 |
引数
$ARGUMENTS1 つ目:all/python/rust/csharp/npm/swift/kotlin--target-version X.Y.Z: 次回リリース version (必須)--dry-run(default): markdown 出力のみ、 ファイル変更しない--apply: dry-run の確認後にユーザが追加で渡す flag。 これがある時のみ Edit を実行
現在の状態
- ブランチ: !
git rev-parse --abbrev-ref HEAD - 引数: $ARGUMENTS
- 直近 tag: !
git tag --sort=-v:refname | head -3
フェーズ 1: 現 manifest version 読み出し (9 ファイル)
並列で Read し、 各 manifest の現 version を抽出:
| Runtime | Manifest | 抽出キー |
| Python | VERSION | ファイル全体 |
| Python (g2p) | src/python/g2p/pyproject.toml | [project].version |
| Rust | src/rust/Cargo.toml | [workspace.package].version |
| C# Core | src/csharp/PiperPlus.Core/PiperPlus.Core.csproj | <Version> |
| C# Cli | src/csharp/PiperPlus.Cli/PiperPlus.Cli.csproj | <Version> |
| npm synth | src/wasm/openjtalk-web/package.json | .version |
| npm g2p | src/wasm/g2p/package.json | .version |
| Swift | Package.swift | let version = 行 + let g2pVersion = 行 |
| Kotlin | android/gradle.properties | VERSION_NAME= |
フェーズ 2: 既存 sync gate との交差確認
uv run python scripts/check_voice_catalog_parity.py 2>&1 | tail -3
uv run python scripts/check_ort_versions.py 2>&1 | tail -3
uv run python scripts/check_openjtalk_version_sync.py 2>&1 | tail -3
uv run python scripts/check_ruff_version_sync.py 2>&1 | tail -3
uv run python scripts/check_migration_changelog_parity.py 2>&1 | tail -3drift があれば bump 前に修復するよう警告。
フェーズ 3: Bump diff の markdown 提示
--target-version を基準に、 該当 runtime の manifest 全てに対する diff を markdown 出力:
出力例 (markdown):
- Python (
VERSION):<current>→<target-version> - Rust (
src/rust/Cargo.toml[workspace.package].version):<current>→<target-version> - npm synth (
src/wasm/openjtalk-web/package.json):<current>→<target-version>
all の場合は 9 manifest 全てを順次出力する。
フェーズ 4: Lockfile 再生成手順
# Python
uv lock --upgrade-package piper-plus
# Rust
(cd src/rust && cargo update -p piper-plus)
# npm synth
(cd src/wasm/openjtalk-web && npm install --package-lock-only)
# npm g2p
(cd src/wasm/g2p && npm install --package-lock-only)--apply 時は順次実行、 そうでなければコマンドのみ表示。
フェーズ 5: Swift checksum 計算ガイド
Package.swift の checksum / g2pChecksum は tag commit に存在していなければならない (SwiftPM は tag の git ref の manifest を解決し、checksum 不一致なら artifact has changed checksum で fail。release-shared-lib.yml の release job も tag push 時に placeholder / 不一致を hard-fail させる)。よって tag push 前 に実施する (gh release download は release がまだ無いので使えない):
# 1. release-shared-lib.yml を tag 無しで workflow_dispatch 実行し artifact を生成
gh workflow run release-shared-lib.yml --ref dev
# 完了後、run の workflow artifact を取得 (release ではない)
gh run download <run-id> --name libpiper_plus-ios-xcframework
# g2pChecksum は g2pVersion が今回 tag と一致する時のみ取得・更新
gh run download <run-id> --name libpiper_plus_g2p-apple-xcframework
# 2. swift package compute-checksum (workflow artifact のファイル名は version 無し)
swift package compute-checksum libpiper_plus-ios.xcframework.zip
swift package compute-checksum libpiper_plus_g2p-apple.xcframework.zip # g2pVersion == TARGET のみ
# 3. Package.swift の `let checksum` (synthesis) を更新。
# `let g2pChecksum` は g2pVersion が今回 tag と一致する時のみ更新
# (異なる場合 release-shared-lib.yml が g2p checksum 検証を自動 skip する)。
# 4. PR で dev に入れ、その commit に v<TARGET_VERSION> tag を push (フェーズ 7 の順序)workflow_dispatch build と tag build は deterministic なので checksum は一致する。この手順は tag push の直前 (フェーズ 7)。 dry-run でも手順を出力する。
フェーズ 6: CHANGELOG 昇格 markdown diff
awk '/^## \[Unreleased\]/{flag=1; next} /^## /{flag=0} flag' CHANGELOG.mdを抽出し、 以下を提案:
## [<TARGET_VERSION>] - <YYYY-MM-DD>
(Unreleased から移動した内容)
## [Unreleased]
(空 or next-version 着手項目)--apply で直接 Edit、 そうでなければ diff のみ出力。
フェーズ 7: Publish 順序ガイド
CONTRIBUTING.md の「Release order」「v<X.Y.Z> tag push の注意点」と各 release workflow の on: トリガーを正とする。 推奨順序:
- タグなしで native / Apple 成果物を生成・検証:
release-shared-lib.ymlを workflow_dispatch (フェーズ 5) - Package.swift の版番号・URL・checksum を PR で更新 → merge と CI 確認 (この commit が以降すべてのタグの対象)
- 必要な独立パッケージを公開 (既公開なら skip、 再 tag 不要):
- npm:
wasm-g2p-v<X.Y.Z>(g2p-wasm-ci.yml、@piper-plus/g2p) の公開完了を待ってからnpm-v<X.Y.Z>(npm-publish.yml、piper-plus)。 逆順だとpiper-plusの fresh install がnotargetで失敗する - crates.io:
rust-v<X.Y.Z>tag を push し、 その tag を選んでrelease-rust.ymlを workflow_dispatch (piper-plus-g2p→piper-plus→piper-plus-cliの順に publish) - NuGet:
csharp-v<X.Y.Z>tag を push し、 その tag を選んでrelease-csharp.ymlを workflow_dispatch - PyPI (G2P):
python-g2p-v<X.Y.Z>(g2p-python-ci.yml) - Maven Central:
kotlin-g2p-v<X.Y.Z>(release-kotlin-g2p.yml)
- npm:
- Docker: 同じ検証済み commit に
docker-v<X.Y.Z>を push →docker-build.ymlが build・署名・公開 (<X.Y.Z>/latest)。 consumer 検証まで行う。v<X.Y.Z>だけでは Docker は公開されない v<X.Y.Z>: 同じ commit に push →release-shared-lib.yml(libpiper_plus + iOS/Android xcframework、 Package.swift checksum 検証) とsbom.ymlが発火- PyPI (Python runtime): 同じ
v<X.Y.Z>tag を選んでdev-create-release.yml(Manual Release) を workflow_dispatch (version 入力)。 PyPI へ公開し、 NuGet / crates.io は既存パッケージの検証のみ (ここでは publish しないので手順 3 を先に済ませる)
重要 (フェーズ 5 参照): Swift checksum 更新は
v<X.Y.Z>tag の 前 (手順 2)。 placeholder のまま tag を push すると release-shared-lib.yml の release job が hard-fail し、 post-tag の後追い PR では SwiftPM 解決を救済できない (tag の git ref が解決対象のため)。GitHub Release は
dev-create-release.yml(draft + 自動 note) とrelease-shared-lib.yml(asset 添付) の 2 workflow から作られ、 どちらも CHANGELOG[X.Y.Z]本文を使わない。 draft の本文を CHANGELOG[X.Y.Z]で手動置換してから publish する。
フェーズ 8: 公開後検証コマンド
# 各 registry で publish 完了を確認
curl -s https://pypi.org/pypi/piper-plus/json | jq -r '.info.version'
curl -s https://crates.io/api/v1/crates/piper-plus | jq -r '.crate.max_version'
npm view piper-plus version
npm view @piper-plus/g2p version
curl -s "https://api.nuget.org/v3-flatcontainer/piperplus.core/index.json" | jq -r '.versions[-1]'
curl -s "https://search.maven.org/solrsearch/select?q=g:io.github.ayutaz+AND+a:piper-plus-g2p-android&rows=1&wt=json" | jq -r '.response.docs[0].latestVersion'target version と一致するまで sleep 30 で polling、 30 分以内に揃わなければエラー報告。
注意
- 既存 release-prep skill との関係:
release-prepは「現状の version 散在確認」、 本 skill は「次回 version へ bump する適用案生成」。 先にrelease-prepで drift を解消してから本 skill を使う流れが推奨。 - memory feedback_merge_caution.md: tag push / publish に類する操作は本 skill では実行しない。 手順表示のみ。
- memory feedback_pr_no_milestones.md: マイルストーン番号付与しない。
- memory feedback_data_asset_distribution.md: data asset 追加時の 7 manifest 同時更新も本 skill では確認のみ。
--dry-runがデフォルト で、--applyは明示指定が必要。
使用例
# 全 runtime の次回リリース bump 案を生成 (dry-run)
/prepare-release all --target-version <target-version>
# Python だけ確定、 適用
/prepare-release python --target-version <target-version> --apply
# Rust の次回リリース、 lockfile 再生成手順のみ表示
/prepare-release rust --target-version <target-version>期待効果
- リリース時の 9 manifest 同時 bump を 1 skill に集約 (現状: 手動 Read + Edit + Lock 再生成 + tag 順序記憶)
- npm tag 順序違反 (g2p 先行必須) を強制チェック
- Swift checksum 漏れ の防止 (release-shared-lib.yml で fail する前にガイド)
- CHANGELOG
[Unreleased]昇格 の規定化 (現状: 手動 markdown 編集) - publish 後検証 の自動化 (target version が registry に届くまで polling)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

