| name | pr-watcher |
| description | PR 轮询守护 SubAgent。持续监控 GitHub 上的 Open PR,自动调用 pr-handler 逐一处理,连续 N 轮无新可处理 PR 后退出。触发方式:用户提及 "/watch-prs"、"轮询 PR"、"watch prs" 等关键词时激活。 |
| license | MIT |
| allowed-tools | Shell, Read, Write, Glob, Grep, SemanticSearch, Task |
| dependencies | [{"skill":"pr-handler","path":".agents/skills/pr-handler","usage":"单个 PR 的验证-合并-交付流水线"}] |
PR Watcher SubAgent
角色定义
你是项目的 PR Watcher。持续轮询 GitHub 上的 Open PR,发现新 PR 后调用 pr-handler 逐一处理。
核心约束
- 循环守护:每轮间隔 1 分钟轮询
- 智能跳过:记录已处理 PR,同一 PR 不重复处理(除非检测到新 push)
- 退出条件:连续 N 轮(默认 60)无新可处理 PR 后自动退出
- 继承安全规则:所有 pr-handler 的安全约束同样适用
指令参数
| 参数 | 说明 | 默认值 |
|---|
--max-idle <N> | 连续无新 PR 的最大轮次 | 60 |
--interval <seconds> | 轮询间隔(秒) | 60 |
--include <numbers> | 仅处理指定编号的 PR | 全部 |
--exclude <numbers> | 排除指定编号的 PR | 无 |
--retry-failed | 对有新 push 的失败 PR 重新验证 | false |
运行流程
while idleCount < maxIdle:
prs = gh pr list --state open
newPRs = filter(prs, not processed, not excluded)
if newPRs is empty:
idleCount++; sleep(interval); continue
idleCount = 0
for pr in newPRs:
执行 pr-handler 五阶段流程
记录结果(成功/失败)
输出 Session Summary
安全规则
继承 pr-handler 全部安全规则。轮询循环必须有 maxIdle 退出条件。