关于 openclaw-pr-maintainer
OpenClaw PR Maintainer 是依据仓库政策处理指定 GitHub Issue 和 Pull Request 的技能。它指导分诊、调查、修复、审查、发布和验证,并区分获准范围与需要审批的操作。
主要功能
- 01分诊 Issue 和 Pull Request
- 02调查缺陷并验证修复
- 03指导审查与合并流程
- 04公开变更前核实授权
- 05验证合并或关闭结果
适用场景
- 01评估仓库中报告的缺陷
- 02修复并验证已获授权的变更
- 03落地经过审查的 Pull Request
- 04汇总证据和最终状态
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ openclaw/ openclaw --skill openclaw-pr-maintainer安装后在 Claude Code 中输入/openclaw-pr-maintainer确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/attribution.mdlanding-recovery.mdlanding.mdtriage.mdmedia.mdscripts/github-activity.sh详细介绍
OpenClaw PR 维护者
- 仅执行用户要求的问题/PR 操作。根目录的
AGENTS.md:修复、产品、来源可信度和审批政策。本技能:GitHub 工作流和维护者权限。 - 提供的引用 ≠ 发布许可或扩展范围。
维护者权限
main变红是紧急情况,不是无关改动合并的前置条件。 在修复范围内,直接将已证实的main红灯修复推送到main。对于范围明确的维护者指示,即使存在无关或先前已有的 CI 问题也要合并时,选择继承失败例外;不要要求特别措辞、重新审批,或先修复/重跑无关的mainCI。人工授权、失败证据和受保护写入者的执行能力是彼此独立的检查项。- 修复并合并权限涵盖内部排期、数据库准入、生命周期设计、风险和验证。任务内的错误修复(包括兼容性 SDK 修复),以及有备份且仅移除无效或不可达数据的修复,无需重新审批。
- 批量关闭/重新打开超过 50 项时,需要明确数量和范围。
- 咨询性工作流需要明确的安全请求。
- Peter 指示的 Team 更新使用发布部署器;切勿在状态所有者之外编辑实时状态。每次部署/重启都通知 Night Watch;其负责协调重启时间,而非审批更新。
选择范围
- 审查/分流/列出: 只读;说明变更/发现/证据/不确定性。编辑、指派、添加标签、评论和关闭都需要授权。
- 仅修复: 调查/修复/本地验证;发布需要合并/发布或范围相当的授权。
- 合并/发布/自主修复: 来源证据 → 审查 → 原生提交 → 验证合并。跟进待处理请求;在相同授权下修复由 PR 导致的 CI 问题/冲突,通过上述例外处理可归因于继承的 CI 问题。接受自动合并 ≠ 完成。保留署名和无关工作;根级门槛仍然有效,无需重复申请常规权限。
- 队列/发现: 阅读分流指南。批量读取实时数据/共享发现;指定 PR ≠ 扫描整个队列。
- 作者/回归归因: 参阅作者和来源调查;是否调查账号年龄/历史视情况而定。
- 亲自带头处理;安排有明确范围且有用的工作者任务;串行处理工作区/引用和 GitHub 写入。不要把内部子任务伪装成用户自己的应用任务。接管/重新指派前,保留停滞工作者的补丁/声明/证据。
检查实际事项
- 从
git status -sb开始;保留无关工作。本地gitcrawl→ PATHghx,使用范围明确的实时 JSON。归档过期/缺失时 → 使用ghx,不要广泛同步。PR 来源:使用ghx pr view/diff+ 检出,不要搜索网页。
ghx pr view <pr> --repo openclaw/openclaw \
--json number,title,state,body,author,assignees,baseRefName,headRefName,headRefOid,files,comments,reviews
ghx issue view <issue> --repo openclaw/openclaw \
--json number,title,state,body,author,assignees,comments
- 指派:深入处理前参阅分流指南。提及其他受指派者;保留任务归属。是否调查账号/活动记录视情况而定。
明确结果
- 阅读所有者、入口点、调用方、同级项、测试、文档、历史记录和当前 main;检查起决定作用的依赖契约。Codex:从根目录开始个人检查源码。出现相反证据 → 先调查,再作辩护。不得编造矩阵或替代方案。
- **已修复:**证明当前 main 上的修复;提供规范提交/PR 以及匹配的源码/可运行证明。具有关闭权限 → 留下证据评论并关闭;否则报告情况。
- **真实缺陷:**复现 → 修复所属不变量 → 证明该路径/同级项。简化优于症状防护;规模/LOC ≠ 正确性门槛。
- **有价值的 PR:**改进可编辑分支;若不安全 → 在关闭前以获授权且注明贡献者的替代方案取代。若替换其历史 → 由维护者持有替代 PR,绝不 squash 贡献者的 PR。
- **不确定/产品决策:**说明缺口;不得猜测合并/自动关闭范围外事项。
- 证明 + 源码信任/主机路径:
$openclaw-testing、入口说明。针对性证明 → 可提交 PR;PR CI = 广泛证明。在符合要求且可用的主机上,优先进行范围明确的本地证明。审慎的远程证明可覆盖昂贵检查或环境缺口;遇到排队 → 停止由任务分配资源,改用 PR CI 或安全的本地范围,并保留尚未覆盖的要求。绝不在本地执行不可信源码。可选的实时缺口 → 提供有意义的边界证明 + 说明限制;明确要求的实时、外部 API、认证风险证明为必需项。模拟、跳过项/旧 head ≠ 实时证明。 - 行为变更:遵循边界证明契约 +
$test-audit。分别检查所请求的行为与仓库标准。
CODEOWNERS 审查
CODEOWNERS负责审查路由;检查当前实际执行的规则。受限/安全路径,以及重要的产品/行为/安全/所有权变更,需要列出的所有者参与。- 所有权/审查治理:经核实的活跃组织管理员指示也符合要求;仅有仓库管理员/绕过权限则不符合。无论采用哪种途径,都不能免除强制执行的审查。
审查与发布
-
提交或合入非平凡代码前:通过允许的工作流进行新一轮审查;解决可执行的发现,除非用户选择不处理。可执行 = 可能发生或影响重大;对于不太可能发生、可恢复且修复会带来不成比例复杂度的边缘情况,可拒绝处理,并用一句话说明理由。
-
提交/合入非平凡代码:使用
$autoreview;解决经核实的可执行发现。仅审查:只有在用户要求时才进行独立审查,无需额外强制 CLI 审查。 -
有实质性变更/未解决的疑虑时重新审查;仅有补丁完全相同的 rebase/机械性 head 变更时无需重新审查。处理真实的人类/机器人发现;说明拒绝处理的理由。机器人评分/Rank-up 列表不会产生额外义务。ClawSweeper 仅供参考;绝不等待评论后再合入。
-
使用当前 PR 模板:简述问题/影响;在差异/详情中列出清单。确保风险、迁移、操作、证明、缺口、署名均为最新;说明重要权衡。不得编造仅面向内部的用户收益,也不要撰写普遍适用的 LOC/来源/替代修复方案长篇说明。
-
CHANGELOG.md由发布流程维护;在 PR/提交中提供发布说明的背景。仅在明确要求时提供 Agent 对话记录。 -
公开变更:核实作者/提交者 + 写入者。使用
ghx并提供真实的--body-file <path>负载;绝不使用 stdin(--body-file -、--input -或/dev/stdin);代理不会转发 stdin。使用ghx --no-cache读回已更改的正文,并核实字节内容完全一致且非空。仅限获授权范围;更新现有评论/正文,不要重复创建。 -
发布/合并:阅读入口说明(媒体、精确 head 的 CI、原生工作流)。
-
核实远程合并/关闭及源码。以文字报告问题、所属变更、证明/缺口、署名以及关联的最终状态;仅列出有价值的后续事项。
最终确认并清理
- 切勿移除持有实时会话 cwd 的工作树,包括你自己的工作树或子目录。子进程的
cd/cwd 覆盖不会更改父进程。保留该工作树,直到所有者退出/释放 cwd;并报告路径。 - 验证结果 → 通过 原生收尾流程 移除任务日志、收据、证明归档、
.crabbox、临时文件以及已完成的工作树。移除时无需保留/归档/导出/移交。 - 工作或 PR 合并后,移除创建的工作树,除非马上还要用到;切勿移除持有实时 cwd 的工作树。
- 每项任务:在聊天/stdout 中报告发现;仅在交付物/工具/证明/恢复需要时创建文件,并说明用途/复用方式。合并前必须提供证明;可选的后续工作不得阻碍任务完成。
- 保留用户要求的交付物/留存内容、未完成的源文件及必要的恢复状态、活跃/实时/所有者未知的内容、凭据、Agent 状态以及共享依赖项。