一、技能概述
该技能用于处理用户粘贴的 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:提供测试证明
四、重要原则
-
Peter Review Gate:默认流程是深度审查 → 本地修复 → 生成 dirty diff 摘要 → 等待 Peter 人工审核 → 批准后才提交和关闭
-
不批量提交:不将不相关的 Issue 修复合并到一个提交中
-
不拆分提交:每个面向用户的修复独立提交并附带 changelog 条目
-
不擅自发布:审核阶段不推送、不创建 PR、不评论、不关闭、不打标签、不落地、不合并
-
不使用子代理:除非明确要求,否则不启用子代理
五、使用场景
-
维护者收到一批 Issue/PR 报告,需要快速分类并修复其中简单明确的小 Bug
-
批量处理用户反馈的 Bug 报告,但需要先经过核心维护者的代码审核
-
在发布前集中清理一批已确认、可复现、修复路径清晰的小问题
-
对 PR 进行 readiness 评估,判断是否可合并、需要修改还是应该跳过
六、总结
OpenClaw Small Bugfix Sweep 是一个面向维护者的批量小 Bug 修复工作流技能,通过深度审查、根因追溯和窄补丁策略,仅修复那些高确定性、低风险的 Bug。它的核心设计理念是 “先审查、后修复、再审核、最后发布” ——所有发布操作(推送、创建 PR、评论、关闭、打标签、合并)都必须等待 Peter 的人工批准,确保代码质量和决策一致性。该技能适用于 OpenClaw 项目维护者需要高效批量处理 Issue/PR 列表的场景。