harness-release
SKILL.md
Harness Release (v3)
Harness v3 の統合リリーススキル。 以下の旧スキルを統合:
release-har— 汎用リリース自動化x-release-harness— Harness 専用リリース自動化handoff— PM へのハンドオフ・完了報告
Quick Reference
/release # インタラクティブ(バージョン種別を確認)
/release patch # パッチバージョンバンプ(バグ修正)
/release minor # マイナーバージョンバンプ(新機能)
/release major # メジャーバージョンバンプ(破壊的変更)
/release --dry-run # プレビューのみ(実行しない)
/release --announce # Slack 等への告知も実行
ブランチポリシー
- 単独開発: main への直接 push を許容(CI が品質ゲートとして機能)
- 共同開発: PR 経由のマージが必須
- force push(
--force/--force-with-lease)は常に禁止
実行フロー
Pre-flight チェック(必須)
# 1. gh コマンド確認
command -v gh &>/dev/null || echo "⚠️ gh なし: GitHub Release はスキップ"
# 2. 未コミット変更確認
git diff --quiet && git diff --cached --quiet || {
echo "⚠️ 未コミット変更あり。先にコミットしてください。"
exit 1
}
# 3. CI 状態確認
gh run list --branch main --limit 3 --json status,conclusion
Step 1: 現在バージョン取得
CURRENT=$(cat VERSION 2>/dev/null || jq -r '.version' package.json 2>/dev/null)
Step 2: 新バージョン算出
セマンティックバージョニング(SemVer)に従う:
patch: x.y.Z → x.y.(Z+1)(バグ修正)minor: x.Y.z → x.(Y+1).0(新機能・後方互換)major: X.y.z → (X+1).0.0(破壊的変更)
Step 3: CHANGELOG 更新
Keep a Changelog フォーマット(英語):
## [X.Y.Z] - YYYY-MM-DD
### Added
- **Feature name**: Description
### Changed
- **Change**: Description
### Fixed
- **Fix**: Description
Step 4: バージョンファイル更新
echo "$NEW_VERSION" > VERSION
# package.json がある場合
jq --arg v "$NEW_VERSION" '.version = $v' package.json > tmp && mv tmp package.json
# .claude-plugin/plugin.json がある場合
jq --arg v "$NEW_VERSION" '.version = $v' .claude-plugin/plugin.json > tmp && mv tmp .claude-plugin/plugin.json
Step 5: コミット & タグ
git add CHANGELOG.md VERSION package.json .claude-plugin/plugin.json
git commit -m "chore: release v$NEW_VERSION"
git tag -a "v$NEW_VERSION" -m "Release v$NEW_VERSION"
git push origin main --tags
Step 6: GitHub Release 作成
gh release create "v$NEW_VERSION" \
--title "v$NEW_VERSION - $(head -n 2 CHANGELOG.md | tail -n 1)" \
--notes "$(cat <<'EOF'
## What's Changed
**[変更の概要]**
### Before / After
| Before | After |
|--------|-------|
| 旧状態 | 新状態 |
---
Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
GitHub Release Notes フォーマット
必須要素:
## What's Changedセクション- 太字の1行サマリー
- Before / After テーブル
Generated with [Claude Code](...)フッター- 言語: 英語(日本語禁止)
PM ハンドオフ
リリース後に PM への完了報告:
## リリース完了報告
**バージョン**: v{{NEW_VERSION}}
**リリース日**: {{DATE}}
### 実施内容
{{CHANGELOG の内容}}
### GitHub Release
{{URL}}
### 次のアクション
- PM によるリリースノートの確認
- 本番環境へのデプロイ(該当する場合)
関連スキル
review— リリース前にコードレビューを実施execute— リリース後の次のタスクを実装plan— 次バージョンの計画を作成
Weekly Installs
1
Repository
chachamaru127/c…-harnessGitHub Stars
269
First Seen
7 days ago
Security Audits
Installed on
mcpjam1
github-copilot1
junie1
windsurf1
zencoder1
crush1