From harness-flow
Aggregates multiple workflow-closeout features into vX.Y.Z engineering release: scope ADR, full regression, CHANGELOG/release notes aggregation. Use when expressing 'cut version/release/tag' intent.
How this skill is triggered — by the user, by Claude, or both
Slash command
/harness-flow:hf-releaseThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
把若干个已 `workflow-closeout` 的 feature 汇总成一次 vX.Y.Z **engineer-level release**。负责锁范围、做版本级回归、聚合发布文档、产出 tag-ready pack。**不**做部署 / staged rollout / 监控 / 回滚——这些不在本 skill 范围,由项目自身的 ops 流程承担。
把若干个已 workflow-closeout 的 feature 汇总成一次 vX.Y.Z engineer-level release。负责锁范围、做版本级回归、聚合发布文档、产出 tag-ready pack。不做部署 / staged rollout / 监控 / 回滚——这些不在本 skill 范围,由项目自身的 ops 流程承担。
适用:
/release [version] 命令)workflow-closeout 的 feature,且需要切版本号不适用:
hf-finalizehf-test-driven-dev / 各 gate;本 skill 不写新代码workflow-closeout → 先回到 hf-finalize 把它们 close 掉using-hf-workflow → 由 entry shell 重新分流边界:本 skill 与 hf-workflow-router 完全解耦——不进 router transition map,不修改主链 FSM,不依赖 hf-finalize / hf-regression-gate / hf-doc-freshness-gate 在同一 session 跑过。它只读磁盘工件(feature 的 closeout.md / progress.md / 既有 review / verification 记录)做版本级判断。
closeout.md 不是 Closeout Type: workflow-closeout → 拒入(task-closeout / blocked 都不算)completion / regression 记录缺失或与 closeout 结论矛盾 → 拒入[vX.Y.Z] 段未落盘 → 拒出interactive 模式下 Final Confirmation 未通过 → 不写 Next Action: nullgit tag / git push --tags——本 skill 只产 readiness pack,tag 操作交给项目维护者docs/principles/soul.md 立场:HF 不替用户验收自己;建议由独立人/会话评审 ADR draft 后再 commitRelease Pack——版本级工件聚合(scope 决策 + evidence matrix + docs sync 记录 + tag readiness)closeout.md(type=workflow-closeout)+ 各 feature 的 verification / reviews 记录 + 项目级版本号约定(若有)features/release-vX.Y.Z/release-pack.md + 仓库根 CHANGELOG.md 的 [vX.Y.Z] 段 + docs/decisions/ADR-NNN-release-scope-vX.Y.Z.md + docs/release-notes/vX.Y.Z.md(按存在)+ ADR 状态批量翻转(proposed → accepted)workflow-closeout 的 closeout pack;输出是 1 份 release pack + 配套发布文档;中间步骤是 scope 决策 + release-wide regression + docs aggregationfeatures/<feature-id>/closeout.md(只读消费);不修改 spec/design/tasks 等已批准工件;不替代 hf-finalize 写单 feature closeouthf-release 执行前后一致;release pack 一旦写入,scope 已定,再要扩范围必须显式回到 §3 重做 scope 决策| 方法 | 来源 | 落到哪一步 |
|---|---|---|
| Release Scope ADR | HF 自身 ADR-001/002/003 实践 | §3 |
| SemVer 2.0.0 + Pre-release Marker | semver.org / ADR-001 D6 / ADR-002 D6 / ADR-003 D5 | §4 |
| Cross-feature Regression(impact-based 的版本级扩展) | Regression Testing Best Practice | §6 |
| Cross-feature Traceability Aggregation | Zigzag Validation(向上延伸到版本范围) | §7 |
| Sync-on-Presence (release tier) | 同 hf-doc-freshness-gate(协议内联,不引用该 skill) | §8 |
| Release Readiness Review | PMBOK release readiness | §9 |
| Handoff Pack Pattern | 同 hf-finalize(结构同源,scope 不同) | §10 |
| Standalone / No-Router Coupling | 本 skill 自包含运行原则(ADR-004 D3) | 全流程 |
| Author / Reviewer Separation (Fagan) | scope ADR 建议由独立人/会话评审 | §3 末尾 advisory |
读 features/release-vX.Y.Z/release-pack.md:
Status: in-progress → 续 release,跳到上次中断的步骤Status: released 或 Final Confirmation: confirmed → 已收口,告知用户后退出(不重做)vX.Y.Z 版本号优先级:用户传入 hint > 项目级版本号约定 > 默认按 SemVer 推断(见 §4)。
features/*/closeout.md,筛 Closeout Type: workflow-closeoutfeatures/ 目录hf-finalize";候选数 ≥ 1 → 继续不要把 task-closeout / blocked 当成候选——这两类未真正完成单 feature workflow。
references/release-scope-adr-template.mddocs/decisions/ADR-NNN-release-scope-vX.Y.Z.md(草稿)+ scope decision 摘要写入 release pack 的 ## Scope SummaryAuthor/Reviewer separation (advisory):建议在 commit ADR draft 前,由独立人/会话评审一遍(HF Fagan 立场)。本 skill 不强制 hard gate——保持 standalone 性质,由项目自己决定评审节奏。
features/<feature-id>/closeout.md 的 Worktree Disposition 字段;对仍是 kept-for-pr 的 feature,确认对应 PR 已合并到 release base branchunion(各候选 feature 的 affected modules)npm test / pytest / make test / 项目 CI 入口)features/release-vX.Y.Z/verification/release-regression.md(含 scope / 执行命令 / 时间戳 / 通过/失败结论 / 失败时的 reroute 指向)如果项目无统一测试入口或测试基础设施缺失,不降级回归——而是停下来抛回"项目缺乏 release-wide regression 入口,建议先建立",让用户决定是延后发版还是临时降级;不替用户拍板降低门禁。
hf-traceability-review 在 closeout 前已经做过的事);只做版本级聚合——把各 feature 的 traceability verdict 汇总reviews/traceability-*.md / closeout.md Evidence Matrix 段features/release-vX.Y.Z/verification/release-traceability.md(含每个 feature 的 traceability verdict + 跨 feature 风险(如有 API 变化跨多个 feature))N/A(按 profile 跳过)按 references/pre-release-engineering-checklist.md,分小节核对(仅工程级 hygiene;显式不含 ops 项):
workflow-closeout 状态[vX.Y.Z] 段已写(任何 tier 必填)README.md 中 active feature / 最近 release 行;档 2 docs/index.mdproposed 翻为 accepted(含本次 release scope ADR 翻转时机:在 Final Confirmation 通过时)docs/release-notes/vX.Y.Z.md(仅档 2 启用时)/ docs/architecture.md 或 docs/arc42/(仅本 release 改了架构图景时)/ docs/runbooks/ / docs/slo/ / docs/diagrams/(仅对应目录已存在或本 release 触发首次启用)Release / Docs Sync 字段与本次 release 的 docs 同步对账一致(不允许 feature 声称已同步但 release 这一层没找到对应路径)## Migration NotesLimits / Open Notes 字段.claude-plugin/plugin.json version 字段(按存在)已同步到 vX.Y.Z.claude-plugin/marketplace.json(按存在)描述同步SECURITY.md Supported Versions 表(按存在)加 X.Y.x 行以上不在本 skill 范围;如项目需要这些能力,由项目自身的 ops 流程承担——不写进本 skill 的 evidence。
每条 release 证据写出:
N/A(按 profile 跳过)写入 release pack 的 ## Evidence Matrix 段。
按 references/release-pack-template.md 写入 features/release-vX.Y.Z/release-pack.md。至少包含:
hf-release 完成后会让 release scope 正式锁定(ADR 状态翻转 / CHANGELOG 段固化 / tag readiness pack 就位);这是项目的对外承诺面变化,不能由 skill 自行决定。
interactive:先展示 Release Summary + Evidence Matrix + Docs Sync 实际路径 + Tag Readiness,等真人确认 "正式锁定 vX.Y.Z 范围";auto:先写完 release pack(Status: ready-for-tag),把 Next Action 写成 null(实际 git tag 由项目维护者执行),不替用户最终拍板。如果用户不同意锁定,回到 §3(scope 改动)或 §6(regression 失败)按需重做对应步骤。
工件目录布局:
features/release-vX.Y.Z/
release-pack.md # 主工件(必出)
scope-decision.md # 反向引用 docs/decisions/ADR-NNN-release-scope-vX.Y.Z.md(按需)
progress.md # 复用 feature progress schema(按需,记录 §1–§11 推进状态)
verification/
release-regression.md # §6(必出)
release-traceability.md # §7(必出)
pre-release-checklist.md # §8(必出,含勾选状态)
docs/decisions/
ADR-NNN-release-scope-vX.Y.Z.md # §3(必出)
CHANGELOG.md # 必出 [vX.Y.Z] 段
docs/release-notes/
vX.Y.Z.md # 仅档 2 启用时
release-pack.md 必备字段见 references/release-pack-template.md。
Next Action 规则:
Next Action Or Recommended Skill: null(tag 操作由项目维护者执行;本 skill 不自动打 tag)Next Action Or Recommended Skill: <具体阻塞点描述>,例如"§6 release-wide regression failed on module X,先回 hf-test-driven-dev 修复对应 feature 的回归"Next Action Or Recommended Skill: hf-release §3(同 skill 内回退)不写回 hf-workflow-router(本 skill 与 router 解耦,没有"交回 router"的语义)。
proposed 就声称 release readyfeatures/<某 feature-id>/closeout.md(应在独立目录 features/release-vX.Y.Z/)git tag 或 git push --tags(本 skill 范围之外)N/A 蒙混过关| 借口 | 反驳 / Hard rule |
|---|---|
| "/release 之后顺便 git tag + push 一下" | Hard Gates: 本 skill 只产 readiness pack;tag 是项目维护者动作,不在 skill 范围 |
| "复用各 feature 的 regression 记录就够了,不用再跑一次" | Hard Gates + §6: release-wide regression scope = union(features),必须 fresh;拼贴 = 不通过 |
| "scope ADR 我自己拍就行了,多评审一轮浪费时间" | Author/Reviewer Separation 是 advisory 不是 hard gate,但 Red Flags 指出"作者一手批准";与 docs/principles/soul.md "HF 不替用户验收自己" 立场冲突 |
| "这次 release 顺便配置一下 staged rollout / 监控 / 回滚" | Hard Gates: 本 skill 不承诺部署 / 监控 / 回滚;这些不在本 skill 范围,由项目自身的 ops 流程承担 |
| "router 应该把我派过来" / "我应该 handoff 回 router" | When to Use 边界 + ADR-004 D3: hf-release 与 router 完全解耦;不进 transition map,不交回 router |
| "项目没有统一的测试入口,§6 就标 N/A 跳过" | Hard Gates + §6 stop rule: 不替用户拍板降低门禁;缺入口要抛回用户决定(延后发版或临时降级),不能自己跳过 |
| "task-closeout 的 feature 也算入版吧,反正快做完了" | Hard Gates: 候选必须是 workflow-closeout;task-closeout 还有剩余任务未完成 |
| "writeonce demo 顺便也 release 一下" | When to Use + ADR-004 D9: writeonce demo 不走 release-tier;强加是空洞同步 |
| 文件 | 用途 |
|---|---|
references/release-scope-adr-template.md | release scope ADR 起草模板(仿 ADR-001/002/003 结构) |
references/pre-release-engineering-checklist.md | §8 详细 checklist(仅工程级 hygiene;不含 ops 项) |
references/release-pack-template.md | release pack 主工件模板(schema 与 hf-finalize closeout pack 同源) |
hf-finalize/SKILL.md | 单 feature closeout(前置依赖:候选 feature 必须先经此 skill 写出 workflow-closeout 的 closeout pack) |
hf-test-driven-dev/references/worktree-isolation.md | worktree disposition 收尾语义(不擅自删除;只记录 kept-for-pr / cleaned-per-project-rule / in-place) |
docs/decisions/ADR-001-release-scope-v0.1.0.md 等 | HF 自身 release scope ADR 实践,可作 scope ADR 起草参考 |
workflow-closeout 状态features/release-vX.Y.Z/release-pack.md[vX.Y.Z] 段已 commitgit tag / git push --tagsnull(已 released)/ 具体阻塞点(未通过)/ hf-release §<step>(同 skill 回退);不写回 hf-workflow-routernpx claudepluginhub hujianbest/harness-flow --plugin harness-flowManages git project releases: creates milestones, generates roadmaps, executes 9-stage pipeline with submodule support, closes releases. Yolo mode enables autonomous runs.
Plans a structured software release cycle with milestones, feature freezes, release candidates, and go/no-go criteria. Supports calendar-based and feature-based strategies for major/minor releases.
Plans and executes software releases: inventories git changes, applies semantic versioning, generates changelog and release notes, updates files, creates tags, and publishes to GitHub. Use before new versions.