Skip to main content Startseite Ersteller chachamaru127 claude-code-harness harness-release
harness-release Generic release automation for projects using Keep a Changelog + GitHub. Single confirmation gate then end-to-end automation: bump detection, CHANGELOG promotion, PR/main merge, tag, GitHub Release. Trigger: release, version bump, publish. Do NOT load for: implementation, review, planning, setup.
Zur Installation springen Skills Marktplatz Entdecken und erkunden Sie KI-Skills, die von der Community erstellt wurden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fÃŒgen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prÃŒfen und installieren.
Prompt kopierenPrompt-Details anzeigen Ein direkter Befehl ÃŒberspringt den PrÃŒf-Prompt. PrÃŒfen Sie die Quelle, bevor Sie ihn ausfÃŒhren.
npx skills add https://github.com/Chachamaru127/claude-code-harness --skill harness-releaseDer Befehl bleibt in einer Zeile. Scrollen Sie horizontal, um ihn vor dem Kopieren vollstÀndig zu prÌfen.
Sie bevorzugen eine lokale Kopie? Laden Sie die Dateien herunter, die SkillsMP derzeit vorliegen.
ZIP herunterladen Herunterladen... Mehr aus diesem Repository Generic release automation for projects using Keep a Changelog + GitHub. Single confirmation gate then end-to-end automation: bump detection, CHANGELOG promotion, PR/main merge, tag, GitHub Release. Trigger: release, version bump, publish. Do NOT load for: implementation, review, planning, setup.
Generate an Acceptance Demo HTML for non-engineer vibecoders right before ship/wait/reject decision. Reads back the acceptance_criteria that were stored as personal-preference.v1 by harness-plan-brief (joined by user_request_hash), then renders a single-file HTML showing each criterion as verified or unverified along with a ship/wait/reject recommendation. Use when the user asks for an acceptance review, wants to decide whether to ship a delivered task, or says: acceptance demo, accept demo, åãå
¥ã倿, åå
¥ã¬ãã¥ãŒ, ship/wait/reject å€å®, æ€åã¬ãã¥ãŒ. Do NOT load for: implementation, code review, release work.
Generate a Plan Brief HTML for non-engineer vibecoders before implementation starts. Searches harness-mem (project-only) for relevant past decisions, patterns, and Plans archive entries, then renders a single-file HTML artifact summarizing understanding, options, risks, acceptance criteria, and confidence. Use when the user requests a planning preview, a non-engineer-friendly summary before approval, or says: plan brief, planning preview, èšç»æŠèŠ, èšç»ã¬ãã¥ãŒ. Do NOT load for: actual implementation, code review, release work.
name harness-release description Generic release automation for projects using Keep a Changelog + GitHub. Single confirmation gate then end-to-end automation: bump detection, CHANGELOG promotion, PR/main merge, tag, GitHub Release. Trigger: release, version bump, publish. Do NOT load for: implementation, review, planning, setup. description-en Generic release automation for projects using Keep a Changelog + GitHub. Single confirmation gate then end-to-end automation: bump detection, CHANGELOG promotion, PR/main merge, tag, GitHub Release. Trigger: release, version bump, publish. Do NOT load for: implementation, review, planning, setup. description-ja æ±çšãªãªãŒã¹èªååã¹ãã«ãKeep a Changelog ãš GitHub ã䜿ããããããããžã§ã¯ãã§åäœãåäžç¢ºèªã²ãŒãã§ bump å€å®ã»CHANGELOG ææ Œã»PR/main åæ ã»ã¿ã°ã»GitHub Release ãŸã§å
šèªåå®è¡ããããªãªãŒã¹ãããŒãžã§ã³ãã³ããã¿ã°äœæãå
¬éã§èµ·åãå®è£
ã»ã³ãŒãã¬ãã¥ãŒã»ãã©ã³ãã³ã°ã»ã»ããã¢ããã«ã¯äœ¿ããªãã kind workflow purpose Release projects through changelog, version, PR/main merge, tag, and GitHub Release gates trigger release, version bump, publish shape workflow role orchestrator pair harness-review owner harness-core since 2026-05-05 allowed-tools ["Read","Write","Edit","Bash","AskUserQuestion","Skill"] argument-hint [patch|minor|major|--dry-run] context fork effort high user-invocable true
Harness Release (æ±çš)
Keep a Changelog + GitHub ã䜿ããããããããžã§ã¯ãåã ã®æ±çšãªãªãŒã¹èªååã¹ãã«ã
èšèšåå : åäžç¢ºèªã²ãŒãããŠãŒã¶ãŒã¯ 1 åã ãå
šäœèšç»ãèŠãŠæ¿èªãããæ¿èªåŸã¯ãã¡ã€ã«æžãæã â commit â branch push â PR äœæ/æŽæ° â default branch ãž merge â default branch äžã§ tag â GitHub Release ãŸã§ãäžæãªãå®è¡ããã
Release complete ã®å®çŸ© : release ã¯ãtag ãš GitHub Release ãäœã£ããã ãã§ã¯å®äºã§ã¯ãªãã察象 work ãš release bump ã default branchïŒéåžž mainïŒã« merge æžã¿ã§ãrelease tag ã default branch å°éå¯èœ commit ãæããGitHub Release ããã® tag ãå
¬éããŠããç¶æ
ãå®äºãšããã
PR ready vs release ready
Harness V2 ã§ã¯ PR closeout ãš release closeout ãæ··åããªãã
Gate æå³ å¿
é æ¡ä»¶ 忢 lane PR ready ãã©ã³ãã review å¯èœã§ merge 倿ã§ãã harness-review APPROVEãfocused tests PASSãevidence pack å®åïŒaccepted/rejected findingsãtestsãrelease-preflight warnings åŠçãresidual riskïŒ[lane:fast] / [lane:gate] ã¯ããã§åæ¢å¯release ready å
¬éé
åž path ã preflight ãéé PR ready æ¡ä»¶ + version surface sync + tag + GitHub Release + CI/public artifact æ€èšŒ [lane:release] ã®ã¿
PR ready 㯠harness-review APPROVE + evidence pack ã§å€å®ãããharness-review ãã push / PR / merge ã¯ããªãã
release ready 㯠harness-release ã® Preflight / Post-Gate ã ããå€å®ãããversion bump / tag / GitHub Release 㯠release lane å°çšã
local tests passed ã ãã§ã¯ PR ready ã§ã release ready ã§ããªãïŒnot_observed != absentïŒã
Literal invocation note : ãã® skill ã®å
¥å£ã¯ harness-release, /release, /release patch, /release --dry-run ã®ãã㪠literal command ããã®ãŸãŸäœ¿ãã
CC runtime hard floor ãšã®é¢ä¿
Claude Code 2.1.183+ ã® runtime hard floor 㯠GitHub CLI release publish ç³»ã³ãã³ããæ§é çã« deny ãã (Anthropic 補å仿§ãsettings.json ã® permissions.ask ã§èŠããªã)ãæ¬ skill 㯠publish èªäœãå®è¡ããã.github/workflows/release.yml (tag push trigger) ã«å§è²ãããskill 㯠tag push ãŸã§ã§è²¬åãå®äºãããã®åŸ scripts/release-verify-publish.sh ã§ workflow ã«ããå
¬éã verify ããã
Revert æ¡ä»¶ : CC ã runtime hard floor ã« user explicit approval path ãæäŸããããPost-Gate ã«çŽæ¥ publish step ãæ»ãããšãæ€èšããã
Bare invocation contract if $ARGUMENTS == "":
â ãä»ãŸã§ã®äœæ¥ãã³ãããããPR/main åæ ãŸã§å®äºããŠãªãªãŒã¹ãããããšè§£éããReview Gate æ€åºãå®è¡ãã
â 察象 work ã 1 ã€ã«ç¢ºå®ã§ããå Žåã ã Step 0 (Review Gate) ãžèªåé²è¡ãã
â 察象ãäžæãŸã㯠review state ãç¡ãå Žå㯠AskUserQuestion ã§éžæè¢ãåºããŠããé²ãã
åŒæ°ãªãåŒã³åºãæã®æåã®å¿çã§å¿
ãæ¬¡ã® literal marker ãåºåãã:
RELEASE_AUTOSTART: target=<work-summary>, base_ref=<ref>, mode=<patch|minor|major|auto>
ãã¿ã¹ã¯ãäžæç¢ºããæç€ºãåŸ
ã¡ãŸãããã¿ã¹ã¯ããããŸãããã远å ã®æç€ºããåŸ
ã¡ããŸããã¯çŠæ¢è¡åã
Output Contract (P35: ãæ¢ãŸã£ãããã«èŠãããUX 察ç) skill çµè«æã® output ã® æåŸã® 1 è¡ ã¯å¿
ãæ¬¡ã® literal ãå«ãã:
âãã®çµæã¯ Claude ãèŠçŽããŸããEnter ããŒã§æ¬¡ãžé²ãããæ°èŠ prompt ã§å¥ã®æç€ºãåºããŠãã ããã
ãã㯠<local-command-stdout> çµç±ã§ text response ãšããŠè¡šç€ºããããš user ããæ¢ãŸã£ãããšæãã UX åé¡ãžã®æç€ºç㪠instruction (patterns.md P35)ã
harness-release / /release ã ããå
¥åãããå Žåãããã¯
ãä»ãŸã§ã®äœæ¥ãã³ãããããPR/main åæ ãŸã§å®äºããŠãªãªãŒã¹ãããã ãšããæå³ãšããŠæ±ãã
æ§è¡šçŸã® ãä»ãŸã§ã®äœæ¥ãã³ãããããŠãªãªãŒã¹ãããã ãåãæå³ã ããå®äºæ¡ä»¶ã«ã¯ PR/main åæ ãå¿
ãå«ããã
ãã¿ã¹ã¯ããããŸããããæç€ºãåŸ
ã¡ãŸããã§æ¢ãŸã£ãŠã¯ãããªãã
bare release ã§ã¯ãéåžžã® release preflight ã®åã« Review Gate ãš Work Commit Gate ãå®è¡ããã
Review Gate 㯠release ready åãã[lane:fast] / [lane:gate] ã® PR ready ã ããå¿
èŠãª work ã«ã¯ããŠãŒã¶ãŒã release ãæç€ºããªãéã harness-release ãèµ·åããªãã
git status --porcelain ãš git log @{upstream}..HEAD / main..HEAD ã確èªãããä»ãŸã§ã®äœæ¥ãã®å¯Ÿè±¡ãç¹å®ãã
.claude/state/review-result.json ãš .claude/state/review-approved.json ã確èªãã察象 work ã« APPROVE æžã¿ review ãš evidence pack ãããã確èªãã
APPROVE æžã¿ review ãç¡ãå Žå㯠AskUserQuestion ã§ç¢ºèªãã
ãŠãŒã¶ãŒããã¬ãã¥ãŒããéå§ããéžãã ããharness-review ãèµ·åããAPPROVE ã«ãªããŸã§ release ãžé²ãŸãªã
harness-review ã REQUEST_CHANGES ãè¿ããå Žå㯠release ãä¿çããharness-work ã§ä¿®æ£ããŠãã harness-review ãåå®è¡ãããããã APPROVE ãŸã§ã«ãŒããã
harness-review ã APPROVE ãè¿ããåŸãworking tree ã®äœæ¥ commit ãäœã
working tree clean ã«ãªã£ãŠããéåžžã® release preflight / confirmation gate / PR merge / tag / GitHub Release ãžé²ã
Review Gate AskUserQuestion harness-release å®è¡æã« review approval ã確èªã§ããªãå Žåã¯ãæšæž¬ã§ release ããªãã
次㮠Ask ãåºãã
question: "harness-release ã¯ä»ãŸã§ã®äœæ¥ãã³ãããããŠãªãªãŒã¹ããŸããããã®äœæ¥ã® APPROVE review ãèŠã€ãããŸãããã©ãé²ããŸããïŒ"
options:
- label: "ã¬ãã¥ãŒããéå§ (Recommended)"
description: "harness-review ãå®è¡ããAPPROVE ã«ãªã£ãå Žåã ã commit/release ãžé²ã¿ãŸãã"
- label: "release dry-run"
description: "ãã¡ã€ã«ãæžãæãããrelease èšç»ãšäžè¶³ gate ã ã確èªããŸãã"
- label: "äžæ¢"
description: "review ã release ãè¡ããæ¢ããŸãã"
ãŠãŒã¶ãŒããã¬ãã¥ãŒããéå§ããéžãã å Žåã¯ãåãã»ãã·ã§ã³å
ã§ harness-review ããå§ããã
harness-review ã®å¯Ÿè±¡æ±ºå®ã¯ harness-review åŽã® bare review contract ã«åŸãã
review ã APPROVE ãªãããã®ãŸãŸ harness-release ã® Work Commit Gate ãžæ»ãã
review ã REQUEST_CHANGES ãªã release ã¯ä¿çããharness-work ã§ä¿®æ£ããŠãã harness-review ãåå®è¡ããã
ãã®ä¿®æ£åŸåã¬ãã¥ãŒ loop 㯠APPROVE ãŸã§ç¶ç¶ããã
ãŠãŒã¶ãŒã«æ»ããŠããã®ã¯æ¬¡ã®å Žåã ãã
ä¿®æ£ã«ä»æ§æ£æ¬ / Plans.md / API / permission / migration / billing ãªã©ã®æææ±ºå®ãå¿
èŠã§ãAskUserQuestion ãå¿
èŠ
ä¿®æ£æ¹éãè€æ°ãããã©ããæ¡ããã§ãŠãŒã¶ãŒäŸ¡å€ãäºææ§ãå€ãã
ãŠãŒã¶ãŒã Ask ã§ release dry-run ãŸãã¯ äžæ¢ ãéžãã
REQUEST_CHANGES åäœãæçµåæ¢çç±ã«ããŠã¯ãããªãã
Work Commit Gate bare release ã§ working tree ã«æªã³ããã倿Žãããå Žåãrelease version bump commit ãšã¯å¥ã«ã
review æžã¿ work commit ãå
ã«äœãã
git status --short
git diff --stat
git add <reviewed files>
git commit -m "<type>: <summary>"
commit message 㯠review summary / Plans.md task / branch name ããçãçæããã
倿ã§ããªãå Žå㯠AskUserQuestion ã§ 2ã3 åã® commit message åè£ãåºãã
work commit äœæåŸã« .claude/state/review-result.json ã® commit_hash ã確èªãŸãã¯æŽæ°ãã
release preflight ãžé²ãã
éåžžã® release preflight ã«å
¥ã£ãåŸã¯ããããŸã§éã working tree dirty ã fail ãšããã
dirty tree ã®ãŸãŸ version bump / tag / GitHub Release ã«é²ãŸãªãã
Quick Reference /release
/release patch
/release minor
/release major
/release --dry-run
åææ¡ä»¶ ãã®ã¹ãã«ãåããããžã§ã¯ãã¯ä»¥äžãæºããå¿
èŠããããŸã:
CHANGELOG.md ã Keep a Changelog 圢åŒ
[Unreleased] ã»ã¯ã·ã§ã³ãååšãã
以äžã®ããããã® version file ãæã€:
VERSION (åç¬ãã¡ã€ã«)
package.json (npm)
pyproject.toml (Python, [project] ãŸã㯠[tool.poetry])
Cargo.toml (Rust, [package])
gh CLI ãã€ã³ã¹ããŒã«æžã¿ã§ãèªèšŒæžã¿
git ãªã¢ãŒã origin ã GitHub ãæã
Claude Code plugin project ã®å Žåã¯ãclaude CLI ã plugin validate ããµããŒãããŠãã
ããããæºããããªãå ŽåãPreflight ã§ detect ã㊠abort ããŸãã
prUrlTemplate ã«ãã multi-host review URL ã¯å°æ¥åè£ãšããŠèªèãããã
ãã®ã¹ãã«ã® release automation ã¯ä»ã gh CLI ãš GitHub remote ã primary path ãšããã
owner / branch / release asset / CI metadata ã®èªåååŸã¯ host ããšã®å·®ã倧ãããããPhase 56.2.3 ã§ã¯ docs-only ã«çããã
åäžã²ãŒããã㌠Bare releaseïŒ0. Review Gate â 0.5 Work Commit GateïŒâ
Pre-GateïŒ1. Preflight â 2. Version file æ€åº â 3. ããŒãžã§ã³èªã¿åã â 4. plugin version sync preflight â 5. bump æšå® â 6. æ°ããŒãžã§ã³ç®åº â 7. CHANGELOG ãã©ãã â 8. Release notes ãã©ããïŒâ
åäžç¢ºèªã²ãŒã ïŒäžèšãConfirmation Gateãåç
§ãyes / <ä¿®æ£æç€º> / cancel ã® 3 æïŒâ
Post-GateïŒ9. Version file æžãæã â 10. CHANGELOG ææ Œ â 11. commit â 12. branch push â 13. PR äœæ/æŽæ° â 14. default branch merge â 15. å°éå¯èœæ§ç¢ºèª â 16. semver tag â 17. tag push â 18. workflow publish verify â 19. å®äºå ±åïŒ
ã® 3 段éã§é²ããåæ®µã®è©³çްã¯ãPre-Gate 詳现ããConfirmation GateããPost-Gate 詳现ããåç
§ã
Pre-Gate 詳现
1. Preflight release ready gate: PR ready æ¡ä»¶ã«å ããversion / tag / GitHub Release / CI artifact path ã確èªããã
command -v gh >/dev/null || { echo "gh CLI ããããŸãã" ; exit 1; }
command -v python3 >/dev/null || { echo "python3 ãå¿
èŠã§ã" ; exit 1; }
if [ -n "$(git status --porcelain) " ]; then
echo "working tree ã«æªã³ããã倿ŽããããŸã" ; exit 1;
fi
[ -f CHANGELOG.md ] || { echo "CHANGELOG.md ããããŸãã" ; exit 1; }
grep -q "^## \[Unreleased\]" CHANGELOG.md || { echo "[Unreleased] ã»ã¯ã·ã§ã³ããããŸãã" ; exit 1; }
scripts/release-preflight.sh
ãã® working tree clean check ã¯éåžž release preflight ã® gate ã§ããã
bare release ã§ãä»ãŸã§ã®äœæ¥ãã commit ãããå Žåã¯ããã® check ã®åã« Review Gate ãš Work Commit Gate ãå®äºãããã
æªã¬ãã¥ãŒã® dirty tree ããã® check ã ãã§ abort ããŠçµããããŠã¯ãããªãã
scripts/release-preflight.sh 㯠tag äœæåã« opencode/, skills-codex/, codex/.codex/skills/ ã® mirror drift ãæ€åºãããnode scripts/build-opencode.js ãå·®åãçæããå Žå㯠release ãæ¢ãããã®å·®åã commit ããŠãã tag ã«é²ãã
release preflight 㯠host workflow smoke ã REQUIRED=1ïŒfail-closedïŒã§å
š dist host ã«å¯ŸããŠå®è¡ããã1 host ã§ã FAIL ãªã release ãæ¢ããããã㯠multi-host bar H7ïŒrelease-preflight consumes host gates fail-closedïŒã®å
è¶³é
ç·ã§ãããscripts/release-preflight-host-smoke.sh åç
§ãfail-closed ã®æ£æ¬ã¯ operator ãã·ã³ã® preflight ã§ãããGitHub runnerïŒGITHUB_ACTIONS=trueïŒã§ã¯ CLI æª provision ã® host ãæç€º SKIP è¡ã€ãã§é£ã°ãïŒtag-triggered workflow ã®åå®è¡ãå
š release ãå¡ããªããããv5.3.0 run 29679591686 ã® regression 察å¿ïŒã
2. Version File èªåæ€åº VERSION â package.json â pyproject.tomlïŒ[project] / [tool.poetry]ïŒâ Cargo.toml ã®åªå
é ã§æ¢çŽ¢ããæåã«èŠã€ãã£ããã®ãæ£æ¬ãšããã
æ€åºã¹ããããã»èªã¿åãããžãã¯ã®è©³çް: version-files.md
3. Claude Plugin Version Sync Preflight .claude-plugin/plugin.json ãååšãã project ã§ã¯ãsemver tag ãåãåã« plugin manifest ã® validation ãšå
š version surface ã®åæã確èªããã
plugin tag ({plugin-name}--v{version}) 㯠2026-08-17 ã«å»æ¢ ãmarketplace.json ã® source ãçžå¯Ÿãã¹ ("./") ã§ install 㯠tag ãåç
§ããªããããå®å¹æ§ãç¡ããŸãŸ v5.6.0 以é 3 ãªãªãŒã¹é£ç¶ã§æ¬ çªã«ãªã£ãŠãããGitHub Release çš semver tag vX.Y.Z ã«äžæ¬åãã (decisions.md D69)ã
Pre-Gate ã§ã¯ãã¡ã€ã«ãæžãæããã以äžã確èªããã
version sync 㯠grep / sed ã§æŸãããJSON 㯠structured parser ã§èªã:
command -v claude >/dev/null || { echo "claude CLI ããããŸãã" ; exit 1; }
claude plugin validate .claude-plugin/plugin.json
HARNESS_PLUGIN_ROOT="${CLAUDE_PLUGIN_ROOT:-.} "
python3 "${HARNESS_PLUGIN_ROOT} /scripts/check-release-version-sync.py" --root .
${HARNESS_PLUGIN_ROOT}/scripts/check-release-version-sync.py ã¯ãååšãã release surface ããã¹ãŠèªã¿åããcanonical ã VERSION > package.json > .claude-plugin/plugin.json > .codex-plugin/plugin.json ã®é ã§æ±ºããã
ãã®ããã§ã以äžã®äžäžèŽã»æ¬ èœã 1 ã€ã§ãããã° tag / release ã«é²ãŸãªã:
VERSION
package.json ã® .version
.claude-plugin/plugin.json ã® .version
.codex-plugin/plugin.json ã® .version
.claude-plugin/marketplace.json ã® .metadata.version
.claude-plugin/marketplace.json ã® .plugins[].versionïŒé
åå
ã®å plugin entryïŒ
äžäžèŽæã¯ãã©ã® surface ã canonical ãšéããããŸãã¯ã©ã® field ã missing / invalid ãã衚瀺ããã
æ©æ¢°åŠçã CI ã§èªãå Žå㯠--json ã䜿ã:
python3 "${HARNESS_PLUGIN_ROOT} /scripts/check-release-version-sync.py" --root . --json
ãã® check 㯠3 ã€ã®äºæ
ãé²ãããã«ãã:
VERSION ãš .claude-plugin/plugin.json ã® version ãããããŸãŸ tag ãåãäºæ
package.json / marketplace entry ã® version ãå€ããŸãŸ release workflow ã«é²ãäºæ
plugin manifest / marketplace entry ã® validation ãéãããããšã§ plugin install / update åŽã§è©°ãŸãäºæ
ãã® check ã®çµæ (canonical version ãšå surface ã®äžèŽ) ã Confirmation Gate ã® plan ã«å«ããã
4. Bump èªåæšå® [Unreleased] çŽäžã®èŠåºãïŒ### Breaking Changes/### Removed â majorã### Added â minorã### Fixed/### Changed/### Security ã®ã¿ â patchã空ã»ã¯ã·ã§ã³ â errorïŒãè§£æã㊠bump level ãæ±ºå®ããã
ãŠãŒã¶ãŒã /release patch|minor|major ã§æç€ºæå®ããå Žåã¯ãã¡ããåªå
ã
詳现: bump-detection.md
5. CHANGELOG ãã©ããäœæ (ã¡ã¢ãªäž) [Unreleased] ã®å
容ãåãåºãã[<new>] - YYYY-MM-DD ã»ã¯ã·ã§ã³ãš compare link ãçµã¿ç«ãŠãïŒãŸã æžã蟌ãŸãªãïŒã
詳现: release-notes.md
6. Release Notes ãã©ããäœæ (ã¡ã¢ãªäž) ## [<new>] ã»ã¯ã·ã§ã³ã®å
容ãå
ã«ãGitHub Release çšã®ããŒã¯ããŠã³ïŒWhat's Changed / Before-After / Added-Changed-Fixed / ããã¿ãŒïŒãçæããã
å¿
é èŠçŽ ã»çææ¹æ³ã»æ€èšŒãã§ãã¯ã®è©³çް: release-notes.md
Confirmation Gate ãã¹ãŠã®ãã©ãããæã£ããããŠãŒã¶ãŒã« 1 åã ãæç€º:
âââââââââââââââââââââââââââââââ
Release Plan: v<old> â v<new> (<bump>)
âââââââââââââââââââââââââââââââ
Version file: <detected file>
Bump reason: <why this level was chosen>
CHANGELOG changes:
[Unreleased] ã« <N> é
ç®ã®å€æŽãæ€åº
[<new>] - YYYY-MM-DD ãšããŠç¢ºå®
Compare link ã远å
GitHub Release notes preview:
<æåã® 10 è¡>
...
Files to modify:
- <version file>
- CHANGELOG.md
Final actions:
- git commit -m "chore: release v<new>"
- git push origin <release-branch>
- gh pr create/update + gh pr merge into <default-branch>
- git fetch origin <default-branch> && git checkout <default-branch>
- git tag -a v<new> # GitHub Release çš semver tagãdefault branch äžã§äœæ
- git push origin <default-branch> --tags
- (tag push åŸã¯ GitHub Actions release workflow ãèªåã§ release å
Ž)
Proceed? [yes / cancel / <ä¿®æ£æç€º>]
Post-Gate 詳现 æ¿èªåŸã¯äžæãªãã§å®è¡ã倱ææã¯ä»¥äžã®æ¹é:
倱æç®æ åŸ©æ§ ãã¡ã€ã«æžãæã倱æ ããã§ abortãããŒã«ã«ã¯ dirty ãªãŸãŸäººéã倿 commit 倱æ hook æåŠçããŠãŒã¶ãŒã«åå ãæç€ºããŠä¿®æ£ãä¿ã PR äœæ/merge 倱æ release ãæªå®äºãšããŠåæ¢ãtag / GitHub Release ã«ã¯é²ãŸãªã plugin version sync 倱æ VERSION / .claude-plugin/plugin.json / marketplace entry ã®äžäžèŽãä¿®æ£ããtag äœæã«ã¯é²ãŸãªãpush 倱æ ãªã¢ãŒãåŽã®åé¡ãããŒã«ã« commit/tag ã¯æ®ã
PR / Main Merge Gateãsemver tagãVerify Publish Post-Gate ã® release commit åŸãtag ãäœãåã« GitHub PR ã default branch ãž merge ããïŒgh pr create â gh pr merge --merge â default branch fetch/checkout ã§ release commit ã®å°éå¯èœæ§ã確èªïŒãrelease branch äžã ãã«ååšãã commit ãæã tag ã§ GitHub Release ãäœã£ãŠã¯ãããªãã
.claude-plugin/plugin.json ããã project ã§ã¯ãmerge åŸã« default branch äžã§ version sync ãå確èªããŠãã semver tag vX.Y.Z ãäœã (plugin tag 㯠2026-08-17 廿¢ãD69)ã
tag push åŸã¯ bash scripts/release-verify-publish.sh ã§ .github/workflows/release.yml ã®å
¬éçµæã verify ããïŒ5 ç§éé à 60 å pollingãexit 0=PASS / 2=WARN(timeout) / 3=ERRORïŒã
ã³ãã³ãå
šæã»å€±ææã®å€æåºæºã¯ post-gate-detail.md ãåç
§ã
--dry-run ã¢ãŒãPre-Gate å
šãŠãå®è¡ããConfirmation Gate ãŸã§ã®å
容ã衚瀺ããããgate ã§æ¢ãŸã Post-Gate ã«é²ãŸãªã ã
Claude plugin project ã®å Žåãdry-run ã§ã python3 "${HARNESS_PLUGIN_ROOT}/scripts/check-release-version-sync.py" --root . ãå®è¡ããcanonical version ãšå surface ã®äžèŽã衚瀺ãããããã§ VERSION / package.json / .claude-plugin/plugin.json / .codex-plugin/plugin.json / .claude-plugin/marketplace.json ã® version surface ãäžäžèŽãŸãã¯æ¬ èœããŠããã°ãdry-run ã®æç¹ã§æ¢ããã
ç°å¢å€æ° ãããžã§ã¯ãããšã®èª¿æŽã«äœ¿çš:
倿° 説æ HARNESS_RELEASE_PROJECT_ROOTãªããžããªã«ãŒã (ããã©ã«ã: $(pwd)) HARNESS_RELEASE_BRANCHpush 察象ãã©ã³ã (ããã©ã«ã: çŸåšã®ãã©ã³ã) HARNESS_RELEASE_DEFAULT_BRANCHPR merge å
default branch (ããã©ã«ã: main) HARNESS_RELEASE_HEALTHCHECK_CMDPreflight ã§è¿œå å®è¡ããã³ãã³ã HARNESS_RELEASE_SKIP_GH1 ã§ GitHub Release äœæãã¹ããã
CHANGELOG æžãæ¹ã«ãŒã« [Unreleased] ã»ã¯ã·ã§ã³ã¯ KaCL æšæºãµãã»ã¯ã·ã§ã³ïŒ### Added=minor / ### Changedã»### Fixedã»### Security=patch / ### Deprecated=minor / ### Removedã»### Breaking Changes=majorïŒã®ãããããæã€å¿
èŠãããã
ãã®ã¹ãã«ã¯ãããã®èŠåºããæ©æ¢°çã«è§£æãããããè¡šèšæºãïŒ### Fix / ### Bug Fixes çïŒã¯èªèã§ããªãã
GitHub Release notes ã®å¿
é ãã©ãŒãããã»CHANGELOG ã®ãä»ãŸã§/ä»åŸãèšæ³ã»merge æ¹åŒïŒsquash äžæ¡çšïŒã®è©³çްã¯
github-release.md ãåç
§ã
SemVer å€å®åºæºã»ããããªãªãŒã¹æ¹éã»Release Train Proposal ã®è©³çްã¯
versioning.md ãåç
§ã
åºè·åã®åãå
¥ã倿ïŒéãšã³ãžãã¢åãïŒ ãªãªãŒã¹ç¢ºå®ã®åã« harness-accept ãææ¡ãããååæ Œæ¡ä»¶ãæºããããããš ship/wait/reject ã®
æšå¥šã 1 æã® HTML ã«ãŸãšãããåãå
¥ã倿ãç»é¢ã§ãçºæ³šè
ãå°éç¥èãªãã§åºè·å¯åŠã倿ã§ããã
é¢é£ã¹ãã«
harness-release-internal - æ¬äœ claude-code-harness ã®ãªãªãŒã¹æã«è¿œå ã§èµ°ããã harness åºæ preflight/finalizationïŒé
åžå¯Ÿè±¡å€ïŒ
harness-plan - Plans.md 管ç
harness-review - ãªãªãŒã¹åã®ã³ãŒãã¬ãã¥ãŒ
harness-accept - åãå
¥ã倿 HTMLïŒéãšã³ãžãã¢åãããªãªãŒã¹åã«ææ¡ïŒ
èšèšææ³
PR ready / release ready åé¢ : PR ready 㯠review + evidence packãrelease ready 㯠version/tag/GitHub Release/CI ãŸã§ãlane:fast / lane:gate 㯠PR ready ã§æ¢ããŠãã
åäžã²ãŒã : ãŠãŒã¶ãŒã®å€æã¿ã€ãã³ã°ã¯ 1 åã ããmini-confirmation ãæããšã©ããŒã¹ã¿ã³ãåããŠæå³ã倱ã
äºåã«å
šãŠæã : Post-Gate ã«å
¥ã£ãŠããã®ãèãçŽãããçŠãããGate åã«å
š draft ãæãã
main åæ ãå®äºæ¡ä»¶ : release tag / GitHub Release 㯠default branch åæ åŸã«ã ãäœããbranch-only release ã¯æªå®äºãšããŠæ±ã
倱æã¯ transparent : éäžã§å€±æãããèªåããŒã«ããã¯ã¯è©Šã¿ãããŠãŒã¶ãŒã«çŸç¶ãæç€ºããŠå€æããã
ãããžã§ã¯ãéäŸå : VERSION file 圢åŒãmirrorãresidue check ãªã©ç¹å®ç°å¢ã®åæãæããªããæ¬äœ harness åºæã®åŠç㯠harness-release-internal ã«åé¢