关于 hrt-backlog-reconcile
hrt-backlog-reconcile 是一项由用户调用的技能,用于根据已交付的 OpenSpec 需求核对延期条目。它标出已覆盖和部分覆盖的条目,并且只删除用户确认的内容。
主要功能
- 01将待办切片与 OpenSpec 规格对照
- 02识别已覆盖和部分覆盖的条目
- 03删除条目前征求确认
- 04保留待办文件及其标题
适用场景
- 01归档 OpenSpec 变更后核对延期工作
- 02查找行为已由已交付规格覆盖的条目
- 03检查部分覆盖情况并确定剩余工作
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hash-id/ openspec-schema --skill hrt-backlog-reconcile安装后在 Claude Code 中输入/hrt-backlog-reconcile确认已加载。
详细介绍
hrt-backlog-reconcile
openspec/BACKLOG.md 存放规划其他变更时暂缓处理的切片(由 hrt-change-size-gate 写入)。只有手动处理后才会移除条目,因此即使有些工作已经交付,它们仍会留在文件中,而 discovery 会继续将其作为过时的访谈上下文读取。此技能会根据实际已交付的内容整理待办列表。
没有 schema.yaml 指令会调用此技能——它只能由用户主动调用(/hrt-backlog-reconcile)。最好在执行 openspec archive <change> 后立即运行,此时 openspec/specs/ 刚吸收了变更的增量规格,但任何时候都可以运行。
流程
- 读取
openspec/BACKLOG.md。如果文件不存在或没有条目,说明情况并停止。 - 对每个条目,提取其
Slice:行,并根据openspec/specs/**/*.md中的要求进行判断:- 已覆盖 — 已交付的要求现在能够实现该可演示行为。建议删除该条目。
- 部分覆盖 — 说明仍有哪些部分尚未实现;不要建议删除。
- 未覆盖 — 保留该条目,不作说明。 应基于语义判断,而不是字符串匹配。能力名称相同并不能证明已覆盖。
- 逐条展示所有建议删除的条目和部分覆盖说明:指出条目名称,引用其
Slice:行,列出覆盖该条目的要求,并请用户确认。遵循plain-language-writing技能的 COMMS 规则。 - 仅删除已获确认的条目。删除条目的完整区块(从
## <slug>标题到最后一行-)。即使文件已空,也要保留# Deferred Slices标题。绝不能删除文件。 - 报告删除了哪些内容,以及保留了哪些内容。
条目格式(与 hrt-change-size-gate 保持同步)
## <slug-kebab>
- Raised by: <change-id> (<YYYY-MM-DD>)
- Slice: <1–2 sentences: what a user can demo when this slice is done>
- Deferred because: <blocking dependency / scope / capacity>
文件存在时的文件头:
# Deferred Slices
> Slices raised while planning another change, deliberately deferred. Not proposals - just enough to start a `discovery` session. Delete an entry when it becomes a change.
hrt-change-size-gate 在 proposal 期间负责写入此文件(拆分时添加条目,删除其自身变更所覆盖的条目);此技能负责由用户手动运行的整理。两者都遵循上述格式。
限制
- 仅依据规格判断。若某条目的
Raised by变更已被放弃,且在openspec/specs/中没有任何相关记录,此技能无法检测到——请手动清理。 - 第 3 步需要与用户交互。在非交互式运行中,报告建议删除的条目,然后停止,不做任何编辑。
评论
支持 Markdown