From harness-flow
Finalizes task or workflow closeout by updating states, docs, release notes, and handoffs after hf-completion-gate approval when no new work remains.
npx claudepluginhub hujianbest/harness-flow --plugin harness-flowThis skill uses the workspace's default tool permissions.
正式做 closeout。这个 skill 有两个合法分支:
Judges task completion after regression gate by verifying evidence bundles, upstream reviews/gates, and running validation commands. Use for 'is task done?' queries or progress declarations.
Verifies session work against agreed plan, creates issues for gaps and carryover tasks, runs quality gates, commits changes, mirrors to GitHub, and generates summary. Triggered by /close.
Archives completed milestones to milestones/, updates ROADMAP.md, REQUIREMENTS.md, PROJECT.md; creates git tags, release branches, changelog for PR workflows.
Share bugs, ideas, or general feedback.
正式做 closeout。这个 skill 有两个合法分支:
task closeout:当前任务已经完成并通过 completion gate,但 workflow 里仍有剩余 approved tasks,需要把状态收口后交回 hf-workflow-routerworkflow closeout:当前任务完成后,已无剩余 approved tasks,需要把整个工作周期正式关闭它不做:新实现、不替代 completion gate、不替代 router 决定下一任务。
本 skill 融合以下已验证方法:
适用:
hf-completion-gate 已给出支持 closeout 的结论不适用:
hf-completion-gatehf-test-driven-dev / 上游 gatehf-workflow-routertask closeout 或 workflow closeouthf-workflow-routerworkflow closeout 在 interactive 模式下必须先给出 closeout summary,再等真人确认后才把 next action 写成 null先只回答一件事:本次是哪个 closeout 分支?
| 条件 | Closeout Type | Next Action |
|---|---|---|
| 当前任务完成,但仍有剩余 approved tasks | task closeout | hf-workflow-router |
| 当前任务完成,且已无剩余 approved tasks | workflow closeout | null / 项目 null 约定 |
| 剩余任务是否存在不清、或 queue 证据冲突 | blocked | hf-workflow-router |
读:
features/<active>/verification/)features/<active>/reviews/、features/<active>/approvals/)features/<active>/tasks.md、features/<active>/task-board.md)progress.md(默认 features/<active>/progress.md,含 worktree 字段)README.md(默认 features/<active>/README.md)docs/release-notes/vX.Y.Z.md + 仓库根 CHANGELOG.md)docs/arc42/、docs/runbooks/、docs/slo/、docs/adr/、docs/index.md)Profile-aware 证据矩阵:
full / standard:需要 closeout 所依赖的 reviews + gates 已落盘lightweight:至少 regression + completion 已落盘在判断 closeout type 前,先确认:
completion / regression 记录已落盘,且与当前 stage / active task / worktree 语义一致N/A(按 profile 跳过)若不满足,不进入 task closeout 或 workflow closeout,而是明确写成 blocked,并把唯一下一步交回 hf-workflow-router。
显式写出:
task closeout / workflow closeout / blocked若无法稳定判断,就停止 finalize,交回 hf-workflow-router。
无论哪种 closeout,都要同步:
分支规则:
task closeout:Current Stage 写回 hf-workflow-router;Next Action 写 hf-workflow-routerworkflow closeout:Current Stage 标记为 closed / completed;Next Action 写 null 或项目 null 约定task closeout 不要求额外人工确认;它只是把当前任务收口后交回 router。
workflow closeout 则不同:它会把整个工作周期收口为 closed / completed,并把 Next Action Or Recommended Skill 写成 null。因此:
interactive:先展示 closeout summary + evidence matrix + worktree disposition,等待真人确认“正式结束本轮 workflow”auto:先写 closeout pack,再按项目 auto 规则把 workflow 视为已关闭如果用户不同意结束 workflow,或希望保留后续动作,则不要写 null,应回到 hf-workflow-router。
docs/,更新 release notes / CHANGELOG遵循 sync-on-presence 原则:同步范围按 docs/ 实际存在的子目录 + 本 feature 触发了升级条件的子目录决定,不要求项目同步未启用的资产。docs/ 各档载体(docs/architecture.md 单文件 vs docs/arc42/ 拆分;docs/runbooks/ / docs/slo/ / docs/postmortems/ / docs/release-notes/ / docs/diagrams/ / docs/bug-patterns/ / docs/insights/ / docs/index.md 等可选子目录;仓库根 CHANGELOG.md / README.md)按存在判断;具体载体清单见下方"必须 / 条件 / N/A"三类列表。
必须同步项(任何 tier):
docs/adr/NNNN-...md:把状态 proposed 翻为 accepted(设计阶段已落地,此处仅状态翻转 + 必要 supersedes / superseded-by 双向链接)CHANGELOG.md:写入 vX.Y.Z 入口(Keep a Changelog 风格)README.md 中的 active feature / 最近 closeout / ADR 索引行;档 2 更新 docs/index.md按存在同步项(仅当对应载体已启用或本 closeout 触发升级条件):
docs/architecture.md(档 1)或 docs/arc42/(档 2)—— 同步本 feature 改变的架构图景;二者只能同时存在一份docs/architecture.md 的术语表节;档 2 时落到 docs/arc42/12_glossary.mddocs/runbooks/...:仅当目录已存在或本 feature 引入第一个生产部署运维点docs/slo/...:仅当目录已存在或本 feature 引入第一个 SLOdocs/diagrams/...:仅当目录已存在或本 feature 引入需要源码化的图docs/release-notes/vX.Y.Z.md:仅当目录已启用(档 2);档 0/1 时仅 CHANGELOG.md 即可并检查规格/设计/任务/状态文档(features/<active>/ 内)是否与 closeout 结论一致。
判 blocked 的条件收紧为:
未启用的可选资产(如档 0/1 项目尚未启用的 docs/runbooks/ / docs/slo/)不构成 blocked 依据,应在 closeout pack 中显式标 N/A(项目当前未启用此资产) 或 N/A(本 feature 未触发该资产变化)。
每条 closeout 证据都写出:
N/A(按 profile 跳过)写入 features/<active>/closeout.md(基于 references/finalize-closeout-pack-template.md)。至少写出:
默认 closeout pack 结构:
## Closeout Summary
- Closeout Type: `task-closeout` | `workflow-closeout` | `blocked`
- Scope:
- Conclusion:
- Based On Completion Record:
- Based On Regression Record:
## Evidence Matrix
- Artifact:
- Record Path:
- Status:
## State Sync
- Current Stage:
- Current Active Task:
- Workspace Isolation:
- Worktree Path:
- Worktree Branch:
- Worktree Disposition:
## Release / Docs Sync
- Release Notes Path: # 档 0/1:CHANGELOG.md(vX.Y.Z 入口);档 2:docs/release-notes/vX.Y.Z.md
- CHANGELOG Path: # 例:CHANGELOG.md(v1.5.0 入口)—— 任何 tier 必填
- Updated Long-Term Assets: # 按存在同步:列出本次同步路径,未启用项写 N/A
- docs/adr/NNNN-...md(status: proposed → accepted)
- 架构概述:docs/architecture.md(档 1)或 docs/arc42/...(档 2);本 feature 未触发架构变化时写 N/A
- docs/runbooks/...:N/A(项目当前未启用此资产)/ N/A(本 feature 未触发)/ 实际路径
- docs/slo/...:同上
- docs/diagrams/...:同上
- Index Updated: # 档 0/1:仓库根 README.md 中 active feature 行;档 2:docs/index.md
## Handoff
- Remaining Approved Tasks:
- Next Action Or Recommended Skill:
- PR / Branch Status:
- Limits / Open Notes:
Closeout type-specific 约束:
task closeout:Next Action Or Recommended Skill 必须是 hf-workflow-routerworkflow closeout:Next Action Or Recommended Skill 必须是 null 或项目 null 约定blocked:Next Action Or Recommended Skill 必须是 hf-workflow-router,且不得声称 closeout 已完成workflow closeout 在 interactive 模式下追加:
## Final Confirmation
- Question: 是否确认正式结束本轮 workflow?
- If confirmed: write `Next Action Or Recommended Skill: null`
- If not confirmed: return to `hf-workflow-router`
| Skill | 区别 |
|---|---|
hf-completion-gate | 判断当前任务能否宣告完成;本 skill 消费该结论并做状态 / 文档 / closeout 收口 |
hf-workflow-router | 决定下一任务或下一节点;本 skill 只在 closeout 之后把结果写回 router 或 null |
hf-test-driven-dev | 写实现与 fresh evidence;本 skill 不做新实现 |
| 文件 | 用途 |
|---|---|
references/finalize-closeout-pack-template.md | closeout pack 模板 |
hf-test-driven-dev/references/worktree-isolation.md | worktree disposition 的收尾语义(不擅自删除;只记录 kept-for-pr / cleaned-per-project-rule / in-place) |
task closeout 和 workflow closeouthf-workflow-routerdocs/runbooks/ / docs/slo/)误判 blockeddocs/architecture.md 与 docs/arc42/(架构概述应二选一)features/archived/,破坏其它工件的反向引用blocked + hf-workflow-routerprogress.md / release notes / CHANGELOG / docs/ 长期资产已按存在同步,closeout pack Release / Docs Sync 区块显式列出实际同步路径与 N/A 项proposed 翻为 accepted(如适用)README.md;档 2 更新 docs/index.mdREADME.md 中 Closed / Closeout Type / Linked Long-Term Assets 等区块已更新docs/slo/ / docs/postmortems/)误判 blockedfeatures/<active>/closeout.mdtask closeout 时 next action = hf-workflow-routerworkflow closeout 时 next action = null 或项目 null 约定workflow closeout 在 interactive 模式下已显式经过最终确认features/,未被移动到 features/archived/