Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

babysit-pr保姆公关

Agent Skill

babysit-pr 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

832

周安装

34

GitHub Stars

1

下载量

269
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:babysit-pr(保姆公关)
来源仓库:https://github.com/neekolas/claude-skills
仓库路径:skills/babysit-pr
安装命令:
npx skills add https://github.com/neekolas/claude-skills --skill babysit-pr
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/neekolas/claude-skills --skill babysit-pr

简介

协助监控和管理 Pull Request 状态,提供基础审查建议。

  • 适用于需要跟踪代码变更、协作事项或仓库状态的场景。
  • 通过 GitHub 仓库安装,使用 npx skills add 命令添加,需确认权限与网络访问能力。
  • 注意维护状态和是否触发文件读写或外部 API 调用,避免误操作生产环境。
  • babysit-pr 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Babysit PR

Autonomously monitor a PR (or an entire Graphite stack), fix CI failures, respond to review comments, and push verified fixes. Runs as a long-running session — loops internally with intelligent sleep intervals until all PRs are ready or the user stops the session.

Invocation

/babysit-pr

Session Loop

The skill runs in a continuous loop:

  1. Detect if the current branch is part of a Graphite stack
  2. Check PR status (CI + reviews) across all PRs in the stack
  3. Fix issues starting from the lowest affected branch
  4. If all PRs are ready → print success and exit
  5. Otherwise → sleep for an intelligent interval, then repeat
digraph babysit {
    node [shape=box];

    "Start session" [shape=doublecircle];
    "Detect Graphite stack\n(gt ls)";
    "Collect PRs for\nall stack branches";
    "Any PRs found?" [shape=diamond];
    "Exit: no PRs found" [shape=doubleoctagon];
    "For each PR\n(bottom of stack first):\ncheck CI + reviews";
    "Any issues found\nacross stack?" [shape=diamond];
    "For each branch (bottom-up):\nfix, verify, commit,\nrestack";
    "gt submit --stack\n(single push)";
    "All PRs: checks green +\ncomments addressed?" [shape=diamond];
    "Print: Stack is ready" [shape=doubleoctagon];
    "Print remaining issues\n+ sleep interval";
    "Sleep with\nintelligent interval";

    "Start session" -> "Detect Graphite stack\n(gt ls)";
    "Detect Graphite stack\n(gt ls)" -> "Collect PRs for\nall stack branches";
    "Collect PRs for\nall stack branches" -> "Any PRs found?";
    "Any PRs found?" -> "Exit: no PRs found" [label="no"];
    "Any PRs found?" -> "For each PR\n(bottom of stack first):\ncheck CI + reviews" [label="yes"];
    "For each PR\n(bottom of stack first):\ncheck CI + reviews" -> "Any issues found\nacross stack?";
    "Any issues found\nacross stack?" -> "All PRs: checks green +\ncomments addressed?" [label="no"];
    "Any issues found\nacross stack?" -> "For each branch (bottom-up):\nfix, verify, commit,\nrestack" [label="yes"];
    "For each branch (bottom-up):\nfix, verify, commit,\nrestack" -> "gt submit --stack\n(single push)";
    "gt submit --stack\n(single push)" -> "All PRs: checks green +\ncomments addressed?";
    "All PRs: checks green +\ncomments addressed?" -> "Print: Stack is ready" [label="yes"];
    "All PRs: checks green +\ncomments addressed?" -> "Print remaining issues\n+ sleep interval" [label="no"];
    "Print remaining issues\n+ sleep interval" -> "Sleep with\nintelligent interval";
    "Sleep with\nintelligent interval" -> "Detect Graphite stack\n(gt ls)" [label="loop"];
}

1. Detect Graphite Stack

Determine if the current branch is part of a stack:

gt ls

This shows the full stack structure. Parse the output to get the ordered list of branches from bottom (closest to trunk) to top.

If the branch is standalone (not part of a stack), treat it as a single-branch stack — the rest of the flow works the same way.

2. Collect PRs Across the Stack

For each branch in the stack (bottom to top), find its PR:

gh pr view <branch> --json number,url,headRefOid

Build a list of (branch, pr_number, headRefOid) tuples. Skip branches that don't have PRs yet.

If no PRs exist for any branch, print an error and exit.

3. Check CI and Reviews Across All PRs

Use sub-agents for parallel status collection. Dispatch one sub-agent per PR to fetch CI status, review threads, and general comments concurrently. Each sub-agent runs the checks from steps 3a–3c for its assigned PR and returns a structured summary of issues. This keeps the main context clean and avoids sequential API calls across the stack.

Similarly, when investigating failing checks, dispatch a sub-agent per failing run to fetch logs (gh run view <run-id> --log-failed) and analyze the root cause. CI logs are verbose — isolating them in sub-agents prevents context pollution.

Collect all issues into a list tagged by branch, so you know which branch to fix first. Then fix bottom-up per step 4.

3a. Check Required CI

gh pr checks <pr_number> --json name,state,bucket,link,required
  • Only act on checks for the HEAD commit — verify via headRefOid.
  • Fix failures immediately — don't wait for all checks to finish. If some checks have already failed while others are still pending, fix the failed ones right away. The push will trigger a fresh CI run for everything anyway.
  • For each failing check (required and optional):

1. Get logs: gh run view <run-id> --log-failed 2. Investigate the root cause 3. Fix the code

  • If checks are pending or in_progress, note how long they've been running (use gh run view <run-id> --json createdAt) to inform sleep interval.
  • Optional check failures are best-effort — fix them if possible, but they do not block the exit condition.

3b. Inline Review Threads

gh api graphql -f query='
  query($owner: String!, $repo: String!, $pr: Int!) {
    repository(owner: $owner, name: $repo) {
      pullRequest(number: $pr) {
        reviewThreads(first: 100) {
          nodes {
            id
            isResolved
            comments(first: 10) {
              nodes { body author { login } path line }
            }
          }
        }
      }
    }
  }
'

3c. General Review Comments

These are top-level review comments — the body text of a review submission, not tied to any specific file or line. They often contain important high-level feedback, architectural concerns, or summary requests.

gh api repos/{owner}/{repo}/pulls/{pr}/reviews --jq '.[] | select(.body != "" and .body != null) | {id, body, state, user: .user.login}'

Also fetch standalone PR comments (conversation tab, not part of a review):

gh api repos/{owner}/{repo}/issues/{pr}/comments --jq '.[] | {id, body, user: .user.login}'

Processing Rules

Skip any thread/comment that:

  • Is resolved (for threads)
  • Has already been addressed by the babysitter (last reply is from the bot / starts with 🤖)

Classify and act on each remaining thread or comment.

All replies MUST start with 🤖 to identify as AI-assisted.

TypeSignalsAction
Real issueBug, correctness problem, missing edge case, security concernFix code. Reply: "🤖 Fixed — [description of change]". Resolve thread (if applicable).
Scope changeFeature request, style preference, behavioral changeReply: "🤖 This is outside the scope of this PR. [brief explanation]". Leave open.
Non-issueMisunderstanding, already handled, factually incorrectReply: "🤖 [explanation of why this isn't an issue]". Leave open.

For general review comments, reply using the appropriate API:

  • Review comments: gh api repos/{owner}/{repo}/pulls/{pr}/reviews/{review_id}/comments or reply to the review
  • Issue comments: gh api repos/{owner}/{repo}/issues/{pr}/comments -f body="..."

4. Fix Issues Bottom-Up

When issues are found across multiple PRs in the stack, always fix the lowest branch first. A fix in a lower branch may resolve issues in higher branches after restacking.

Important: only push once per loop iteration. Apply all fixes locally, then push the entire stack at the end.

For each branch with issues (bottom to top):

  1. Checkout the branch: gt checkout <branch>
  2. Fix all CI failures and review comments for that branch (per step 3 rules)
  3. Run targeted local verification — lint and typecheck the changed files, and run only the tests that exercise the changed code (not the full suite). Use the project's CLAUDE.md/AGENTS.md to determine how to run scoped tests (e.g., passing specific test files, directories, or filter patterns). If verification fails, fix the issue and re-verify until it passes.
  4. Commit locally: gt modify --commit
  5. Restack so higher branches pick up the changes: gt restack
  6. Continue to the next branch with issues

After all branches have been fixed:

  1. Push the entire stack once: gt submit --stack

5. Sleep Interval Logic

After each iteration, choose a sleep duration based on current state:

SituationSleep DurationRationale
Just pushed new code, CI not started yet2 minutesCI needs time to pick up the new commit
Some checks failed (already fixed & pushed), others still running3 minutesFresh push will re-run everything, check back soon
All checks still running, started < 5 min ago3 minutesChecks are fresh, check back soon
All checks still running, started 5-15 min ago5 minutesGive checks time to complete
All checks still running, started > 15 min ago5 minutesLong-running checks, keep polling steadily
All CI green, waiting on reviewer10 minutesHuman response times are slower
No actionable items but PR not fully ready5 minutesDefault polling interval

When babysitting a stack, base the interval on the most urgent situation across all PRs (i.e., use the shortest applicable sleep).

Print the chosen interval and reason before sleeping: "Sleeping {N} minutes — {reason}"

Use shell sleep for the wait (e.g., sleep 300 for 5 minutes).

6. Exit Condition

All PRs in the stack are ready when:

  • All required CI checks are passing on HEAD for every PR
  • All review threads across all PRs are either resolved OR have a babysitter reply as the last comment
  • All general review comments across all PRs have been addressed (babysitter reply exists)

Optional check failures do not block this exit condition. If optional checks are still failing when the exit condition is met, note them in the output but still declare the stack ready.

Print: "All required checks passing and all review comments addressed across the stack. PRs are ready."

Common Mistakes

  • Acting on stale CI results — Always verify checks are for the HEAD commit before investigating failures. If checks are pending, wait.
  • Replying to the same comment twice — Check if the last reply in a thread is already from the babysitter before responding.
  • Pushing without local verification — Always run the project's verification commands before gt modify --commit.
  • Resolving threads you shouldn't — Only resolve threads where you fixed a real issue. Leave scope-change and non-issue threads open for the reviewer.
  • Missing general review comments — Don't only check inline threads. Always also fetch top-level review bodies and issue comments — reviewers often put their most important feedback there.
  • Sleeping too long after pushing — After pushing a fix, use a short interval so you catch CI results quickly.
  • Fixing the wrong branch in a stack — Always fix the lowest branch that has the issue. Fixing higher up can cause merge conflicts or get overwritten by a restack.
  • Pushing multiple times per loop — Fix all branches locally first (gt modify --commit + gt restack for each), then push once with gt submit --stack. Multiple pushes waste CI cycles and create race conditions.
  • Forgetting to restack after fixing — After modifying a branch in the middle of a stack, always gt restack before moving to the next branch so higher branches pick up the changes.
  • Assuming higher branches are unaffected — After fixing and restacking, re-check all PRs from scratch. The restack may introduce new CI failures in higher branches.
  • Fetching PR status and logs sequentially in the main context — Use sub-agents to check each PR's CI/reviews in parallel and to fetch verbose CI logs. This speeds up each loop iteration and keeps the main context window clean for decision-making and code fixes.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

39.17%
按下载量换算105

Claude

29.36%
按下载量换算79

Cursor

18.89%
按下载量换算51

Gemini CLI

9.17%
按下载量换算25

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills