关于 repair-gaps
repair-gaps 是 `/prove` 之后用于修复未满足验收要求的技能,供自主交付流程中的实现者使用。它要求核对合同与候选版本,只处理指定缺口,并将修复后的候选交由独立复审和重新证明。
主要功能
- 01核对合同版本与候选身份
- 02仅修复指定要求的缺口
- 03执行针对性检查并审阅差异
- 04记录修复结果与剩余缺口
- 05要求修复后重新证明
适用场景
- 01修复证明结果中的未通过要求
- 02处理证据不足的验收项
- 03输入过期时阻止不安全修改
- 04为复审和重新证明准备交接
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ grove/ promise-to-proof --skill repair-gaps安装后在 Claude Code 中输入/repair-gaps确认已加载。
附带文件agents/openai.yaml
详细介绍
委派式续接
在外层自主交付流程中,应用一项覆盖范围内的修复建议,并继续交由两个独立验证方处理,无需再次询问。 对于只读诊断派发,检查相关机制,并按控制器要求的诊断模式返回;不要进行任何编辑,也不要声称已 REPAIRED。反复遇到缺口时,应选择一种具体的不同方法,包括收集证据或完成本地前置工作。只有在修复无法执行时,才指出确切的不可用输入。 仅证据修复必须保持产品字节不变。规划决策应交回委派的规划者/审计者;修复不得削弱协议。
/repair-gaps 是 /prove 之后的修复步骤。它会读取源协议、证明结果、匹配的候选项以及具体的未解决需求 ID。它只修复这些缺口,绝不会取代新的证明。仅供审查的发现应交由授权的 /implement-contract 调用处理;它们不能取代此技能要求的匹配 NOT PROVEN 证明。
修复前,请阅读验收协议。 针对指定需求,进行最小且完整的修复:范围要窄,深度要足。
防护措施
- 确认证明中精确的协议修订版本及其捕获文本与当前协议一致,并确认候选项的精确身份仍然匹配。
- 仅编辑指定需求所需的实现或证据。
- 保留源需求和现有有效检查。
- 实现指定结果所需的所有状态、不变量、持久化和故障行为。这些 ID 不授权无关改进或推测性机制。复用约定的衔接点和独立判定依据。
- 绝不削弱协议以适应修复。如果需要更改承诺或增加会产生重大影响的新衔接点,应报告为受阻,并交回以明确解决。经授权的重大更改需要新的修订版本和证明。
- 不得发布、提交、推送或宣称
PROVEN。 - 如果输入已过时、含糊或不可用,应报告
BLOCKED,不得编辑。
工作流
- 接收
.p2p/work/<slug>/contract.md,并在.p2p/work/<slug>/下找到其关联输入、candidate.json和proof.md;也接受可解析到同一工作项的显式证明引用。读取精确的本地协议修订版本和匹配的NOT PROVEN证明结果。重新检查绑定的父级/规格哈希及比较基准;本地.p2p/记录更新会保留候选项身份,且必须排除在 Git 历史之外。 - 确认候选项身份和未解决需求 ID。
- 在获准编辑时,针对指定需求实施最小且完整的实现或证据修复。保留已有授权。
- 运行针对性检查并检查生成的差异。
- 重新检查协议,并报告修复前后的候选项、变更文件、已处理需求、变更的证据和剩余缺口。若仍有缺口,应建议一个最小且具体的后续操作。指出受影响的 ID 以及所需的确切命令、缺失输入或人工决策;仅在没有缺口时,才可填写
None。候选项只能在限定范围的修复中发生变化;验收要求必须保持不变。 - 保存并重新读取
.p2p/work/<slug>/repair.md、保留的证据以及更新后的精简candidate.json身份信息。恢复活动运行所需的有效负载必须保存在被忽略的本地存储中,不得放入持久化候选记录。替换前,按协议的历史记录规则保留先前报告和候选记录。候选项中不得包含.p2p/。产品或绑定输入发生变化后,旧审查/证明均仅作历史记录;二者都不能接受修复后的候选项。 将变更后的候选项交由单独的/review-implementation和新的证明流程处理。 结尾必须写:验收前必须进行新的/prove。
结果
REPAIRED:已完成限定范围内的更改,且针对性检查已通过。NO CHANGE:未进行安全或必要的更改;请说明原因。BLOCKED:输入或所需能力不可用或已过时。
这些结果均不代表工单已验收。必须重新运行 /prove,根据每项要求评估更改后的候选版本。
保留可复用的交付经验
如果本次运行揭示了可能有助于今后交付工作的持久且不显而易见的知识,请将其列为经验候选项。没有输出是有效的,而且优于编造经验。候选项必须说明其适用范围、可复用的经验、提出该经验的具体证据,以及重要的不确定性。
如果外层控制器要求使用结构化 JSON,请将这些内容放入其 learning_candidates 数组。否则,在报告中添加一个简短的 ## 经验候选项 部分。
经验候选项是供 /retrospect 参考的线索,而非已采纳的建议。它们不得更改契约、需求 ID、阶段判定、范围、修复许可或权限。不得将其提升为项目规则或此技能的建议性经验登记内容。
交接格式
# <REPAIRED | NO CHANGE | BLOCKED>: <source>
Contract: <source and exact revision>
Contract snapshot: <same immutable reference or captured text and digest as proof>
Candidate before: <identity>
Candidate after: <identity or unchanged>
Addressed requirements: <IDs or None>
Changed files: <files or None>
Changed evidence: <assertions/artifacts and affected IDs, or None>
Focused checks: <observations and assertions>
Remaining gaps: <IDs and reasons, or None>
Recommended next action: <one concrete action for the remaining IDs, or None>
Fresh `/prove` required before acceptance.
交接内容之后,以 Next steps: 结束,并附上按适用顺序排列的编号操作列表(1.、2.……),以便按编号引用。对于 REPAIRED,请给出确切的下一步调用:
/review-implementation <changed candidate> against <comparison base>
/prove <saved contract>; candidate <changed candidate>
对于 NO CHANGE 或 BLOCKED,请指出需求 ID 以及确切缺少的输入或待定决定;如果可以通过命令解决,请给出配置好的命令和预期结果。在阻塞问题解决之前,不要请求新的验证。