小范围高确定性 Bug 批量修复技能

384593 84945 更新时间: 2026-07-12 18:08:10

OpenClaw Small Bugfix Sweep 是一个用于批量处理 OpenClaw 仓库 Issue/PR 列表的小范围高确定性 Bug 修复技能。它通过深度代码审查,仅修复那些根因清晰、归属明确、补丁窄小的 Bug,并在修复后生成 dirty diff 摘要交由 Peter(核心维护者)人工审核,审核通过后再统一提交和关闭 Issue。该技能绝不在审核阶段推送、创建 PR、评论、关闭或打标签,所有发布操作均等待 Peter 的明确批准。

安装
bunx skills add https://github.com/openclaw/openclaw --skill openclaw-small-bugfix-sweep
技能详情 readonly

一、技能概述

该技能用于处理用户粘贴的 OpenClaw Issue/PR 引用列表(如 #1234 #1235 或完整 URL)。它执行一个批量工作流:对每个引用进行深度审查、证明当前行为、定位根因,然后仅修复那些容易、高置信度、归属范围窄的 Bug。修复完成后,它会停止并输出 dirty diff 摘要、修改文件和测试/门控输出,供 Peter 人工审核。只有 Peter 批准后,才会为每个面向用户的修复创建一个独立的提交并附带 changelog 条目


二、核心功能

1. 逐条深度审查(Loop)

对于每个粘贴的引用,技能执行以下步骤

  • 使用 gh 读取目标 Issue/PR 的实时状态

  • 使用 gitcrawl 检查是否存在相关、重复、已关闭或已修复的线程

  • 阅读正文、评论、链接引用、变更文件、当前代码、相邻测试及相关依赖契约

  • 追溯真实的运行时路径

  • 对于 Issue:仅在确认是 Bug、当前代码能证明根因、涉及路径清晰、窄补丁比重构更优的情况下,进行本地修复

  • 对于 PR:判断为 ready-to-merge(可合并)、needs-fixup(需要修改)或 skip(跳过);除非明确要求,否则不修改 PR 分支

  • 在可行时添加聚焦的回归证明

  • 运行最小有意义的门控测试

  • 继续处理直到每个粘贴的引用都被修复或分类

2. 跳过条件(Skip)

以下情况直接跳过并给出简要理由,不进行低置信度的修复填充

  • 不是 Bug

  • 配置/文档/工作流/发布/支持/依赖/产品相关工作

  • 无法复现或根因不确定

  • 更大的重构或跨模块变更更合理

  • 当前 main 分支上已修复

  • 依赖行为是猜测的

  • 无法提供聚焦的证明

3. 修复规则(Fix Rules)

  • 优先修改所属模块,仅在必要时使用通用 seam

  • 遵循现有模式/辅助函数/类型

  • 不进行顺手重构(no drive-by refactors)

  • 测试放在失败表面附近

  • 仅对变更的公共行为更新文档

  • 审核阶段不提交,Peter 批准后每个面向用户的修复独立提交并附带 changelog

  • 审核阶段不推送、不创建 PR、不评论、不关闭、不打标签、不落地、不合并

4. PR 分类标准

  • ready-to-merge:代码质量良好,当前 head 已检查,所需证明已通过或仅剩外部 CI 待完成;列出供维护者合并或 @clawsweeper 自动合并

  • needs-fixup:小 Bug 明确,但 PR 分支需要修改;列出具体的文件/测试,等待明确的修复/推送/自动合并指令

  • skip:范围过大、过时、推测性、配置/产品/安全/发布相关、跨模块边界或重构规模

  • 如果源 PR 不可信/不可编辑,不在 sweep 期间创建替代 PR

5. 输出格式(Output Shape)

最终输出包含以下分类账

  • fixed-local:本地已修复的 Issue

  • ready-to-merge:可合并的 PR

  • needs-fixup:需要修改的 PR

  • skipped:跳过的引用

  • needs-human:需要人工介入的引用

  • 同时输出:留在磁盘上的 Issue 文件、待合并/自动合并的 PR、测试/门控结果、跳过原因


三、配套技能

该技能与以下技能协同使用

  • $gitcrawl:优先进行本地归档检索

  • $openclaw-pr-maintainer:处理实时的 GitHub 卫生操作

  • $github-deep-review:进行源码追溯

  • $openclaw-testing:提供测试证明


四、重要原则

  1. Peter Review Gate:默认流程是深度审查 → 本地修复 → 生成 dirty diff 摘要 → 等待 Peter 人工审核 → 批准后才提交和关闭

  2. 不批量提交:不将不相关的 Issue 修复合并到一个提交中

  3. 不拆分提交:每个面向用户的修复独立提交并附带 changelog 条目

  4. 不擅自发布:审核阶段不推送、不创建 PR、不评论、不关闭、不打标签、不落地、不合并

  5. 不使用子代理:除非明确要求,否则不启用子代理


五、使用场景

  • 维护者收到一批 Issue/PR 报告,需要快速分类并修复其中简单明确的小 Bug

  • 批量处理用户反馈的 Bug 报告,但需要先经过核心维护者的代码审核

  • 在发布前集中清理一批已确认、可复现、修复路径清晰的小问题

  • 对 PR 进行 readiness 评估,判断是否可合并、需要修改还是应该跳过


六、总结

OpenClaw Small Bugfix Sweep 是一个面向维护者的批量小 Bug 修复工作流技能,通过深度审查、根因追溯和窄补丁策略,仅修复那些高确定性、低风险的 Bug。它的核心设计理念是 “先审查、后修复、再审核、最后发布” ——所有发布操作(推送、创建 PR、评论、关闭、打标签、合并)都必须等待 Peter 的人工批准,确保代码质量和决策一致性。该技能适用于 OpenClaw 项目维护者需要高效批量处理 Issue/PR 列表的场景。