mcpField
B
babysit

babysit

github.com/ericlitman开发53223 次安装6 天前更新
代码仓库

关于 babysit

babysit 是一项独立的 pstack 技能,供 Claude Code 用户跟进已打开的拉取请求。它使用 gh CLI 检查冲突、检查项和评审意见,指导修复并重新检查,直到 PR 就绪或需要决策。

主要功能

  1. 01通过 gh 获取拉取请求状态
  2. 02按优先级处理冲突、失败检查和评审
  3. 03指导修复并安排复查
  4. 04设定停止或升级处理的条件
  5. 05汇报改动和 PR 状态

适用场景

  1. 01跟进已打开的 PR 并保持检查通过
  2. 02处理失败检查和评审意见
  3. 03监控 PR 直至就绪或需要用户决定

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ericlitman/open-pstack --skill babysit

安装后在 Claude Code 中输入/babysit确认已加载。

详细介绍

照看 PR

Cursor 内置 /babysit 的 Claude Code 类似功能。其实现是通过 gh CLI 配合 Claude Code 的 loop 技能来控制节奏的循环。

平台说明。 在 Codex 或其他非 Claude 运行环境中,下文提到的 Claude 工具名称和 Claude 内置技能(loop、AskUserQuestion)均为 Claude 默认项。请通过 codex-tools.md 解析它们。

在 poteto-mode 中,Babysit 操作手册(../poteto-mode/playbooks/babysit.md)优先于此技能:它负责声明模式、合并边界、堆栈安全以及 watch-pr 监视器。此技能仍是 poteto-mode 运行之外针对单个 PR 的独立 /babysit 入口。

适用场景

  • 存在一个未关闭的 PR,且用户明确希望确保其保持通过状态;同时你当前不在 poteto-mode 运行中(该情况由操作手册负责)。
  • 用户直接调用 /babysit。
  • 打开 PR 的子 Agent 不会负责照看 PR——应返回父 Agent,由父 Agent 决定。

步骤

  1. 获取 PR 状态。

    gh pr view <number> --json number,title,state,mergeable,reviewDecision,statusCheckRollup,mergeStateStatus,comments,reviews
    
  2. 按优先级进行分类处理。

    • 合并冲突(mergeStateStatus == DIRTY):变基或合并 main;解决冲突;仅当分支属于你且未被共享时才强制推送。
    • 检查失败(statusCheckRollup 中 conclusion: FAILURE 的条目):使用 gh run view <run-id> --log-failed 拉取日志。找出失败根因;修复底层代码或测试;提交;推送。
    • 人工审查者的审查评论(gh pr view --json comments,reviews):只处理你确实认同的反馈。如果一条评论有单一、机械的处理方式——例如重命名、添加保护子句或修正格式——就进行修改,并在提交信息中引用该评论。如果涉及判断,或你无法确定对方的要求,不要猜测:保留原样,并回复你原本会如何处理。
    • 审查机器人评论(Bugbot 等自动化工具):根据 ../poteto-mode/references/bugbot-triage.md 将其分类为修复、忽略或先询问再处理。遵循该规则中默认应询问的类别,包括安全、数据和高严重性问题。
  3. 循环。 使用 Claude Code 的 loop 技能控制重新检查的节奏。根据监视内容选择间隔:

    • CI 正在运行:轮询 gh pr checks --watch(它会阻塞直到检查完成,因此无需另设循环间隔)。
    • 等待审查者:每隔 20–30 分钟检查一次。
    • 当前无事,但希望及时发现新评论:每小时检查一次。
  4. 停止时机。

    • 构建通过、所有评论均已解决、分支可干净合并 → 标记为已就绪。
    • 已完成三轮“修复 → 推送 → 重新检查”,但仍未全部通过 → 停止,总结仍未解决的问题,并交还控制权。
    • 下一项修复会迫使你做出设计选择 → 暂停,并通过 AskUserQuestion 询问用户。
  5. 汇报。 总结已应用的修复、已处理的评论、暂缓处理的评论(附原因)以及当前 PR 状态。注明每个提交的 SHA。

硬性规则

  • 不要改写其他人可能已拉取的分支历史。如果看起来需要变基或强制推送,请先征得用户同意。
  • 不要为了让测试通过而随意修改测试的预期值。只有当行为确实发生变化,且断言仍针对旧行为时,才修改断言。
  • 绝不跳过钩子(--no-verify)。
  • 绝不通过将失败的检查标记为非必需来规避它。
  • 仅当所有检查均通过且没有未解决的审查评论时,才执行 gh pr ready。

交叉引用

  • 打开 PR 后,poteto-mode 会转到此处。
  • 如果差异存在争议,在打开 PR 前使用 interrogate;打开后由 babysit 接手。
  • 对你在此处撰写的任何文本(PR 评论、提交信息、状态报告)使用 unslop。

来源

这是 Cursor /babysit 的 Claude Code 类似实现,而非移植版本——Cursor 的实现是闭源的。此技能由作者独立编写,拥有自己的文案和结构;其工作流参考了 Cursor 公开的 /babysit 行为。它与其他 PR 工具唯一的重合之处,是运行的 gh CLI 命令;这些命令是功能性调用,并非复制的文本。

评论

支持 Markdown