babysit-pr
Use when the user asks to monitor, watch or babysit a pull request, keep an eye on CI, handle incoming review comments, or stay on top of failures and…
Skill by Fleron
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/fleron-babysit-pr
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/babysit-pr
What's inside
- Skill name
babysit-pr- Description
- Use when the user asks to monitor, watch or babysit a pull request, keep an eye on CI, handle incoming review comments, or stay on top of failures and feedback on an open PR until it is merged or closed.
- License
- MIT
- Instructions
- 232 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (6)
- SKILL.md
- openai.yaml · agents/
- github-api-notes.md · references/
- heuristics.md · references/
- gh_pr_watch.py · scripts/
- test_gh_pr_watch.py · scripts/
SKILL.md (first lines)
# PR Babysitter
Ported from the Codex `babysit-pr` skill. Vendor-neutral: wherever the original named its agent, read "the agent" as whichever agent runs this skill. Substitute the agent's name where a prefix is called for (`claude:` in Claude Code, `codex:` in Codex).
## Vendor notes
- **Watcher path.** The script lives next to this file at `scripts/gh_pr_watch.py`. In Claude Code the plugin root is `${CLAUDE_PLUGIN_ROOT}`, so the full path is `${CLAUDE_PLUGIN_ROOT}/skills/babysit-pr/scripts/gh_pr_watch.py`. In Codex the equivalent is the skill's own directory under `.codex/skills/`.
- **Long-running `--watch`.** Codex keeps a foreground process streaming in the terminal. In Claude Code a foreground shell command times out after 10 minutes, so run `--watch` as a background Bash task and consume its stream with `Monitor` or `TaskOutput`, or drive `--once` from `/loop 1m`. Either way the rule below stands: one watcher per PR, keep consuming its output, do not end the turn while it runs.
- **Prefixes.** Commit messages, approved review replies and thread-resolution comments carry the agent's name so humans can tell agent activity from the user's. Use `claude:` / `[claude]` / `[from Claude]: ` in Claude Code, `codex:` / `[codex]` / `[from Codex]: ` in Codex.
- **Bots.** The watcher surfaces approved review bots whose login contains `codex` or `claude` (for example `chatgpt-codex-connector[bot]`, `claude[bot]`) alongside trusted humans.
## Objective
Babysit a PR persistently until one of these terminal outcomes occurs:
- The PR is merged or closed.
- A situation requires user help (for example CI infrastructure issues, repeated flaky failures after retry budget is exhausted, permission problems, or ambiguity that cannot be resolved safely).
- Optional handoff milestone: the PR is currently green + mergeable + review-clean. Treat this as a progress state, not a watcher stop, so late-arriving review comments are still surfaced promptly while the PR remains open.
Do not stop merely because a single snapshot returns `idle` while checks are still pending.
## Inputs
Accept any of the following:
- No PR argument: infer the PR from the current branch (`--pr auto`)
- PR number
- PR URL
## Core Workflow
1. When the user asks to "monitor"/"watch"/"babysit" a PR, start with the watcher's continuous mode (`--watch`) unless you are intentionally doing a one-shot diagnostic snapshot.
2. Run the watcher script to snapshot PR/review/CI state (or consume each streamed snapshot from `--watch`).
3. Inspect the `actions` list in the JSON response.
4. If `diagnose_ci_failure` is present, inspect failed run logs and classify the failure.
5. If the failure is likely caused by the current branch, patch code locally, commit, and push. Do not patch random flaky tests, CI infrastructure, dependency outages, runner issues, or other failures that are unrelated to the branch.
6. If `process_review_comment` is present, inspect surfaced published review items and decide whether to address them.
7. If a review item is actionable and correct, patch code locally, commit, push, and then resolve the associated review thread only when allowed by the GitHub state mutation policy below.
8. Do not post replies to human-authored review comments/threads unless the user explicitly confirms the exact response. If a human review item is non-actionable, already addressed, or not valid, surface the item and recommended response to the user instead of replying on GitHub.
9. If the failure is likely flaky/unrelated and `retry_failed_checks` is present, rerun failed jobs with `--retry-failed-now`.
10. If both actionable review feedback and `retry_failed_checks` are present, prioritize review feedback first; a new commit will retrigger CI, so avoid rerunning flaky checks on the old SHA unless you intentionally defer the review change.
11. On every loop, look for newly surfaced review feedback before acting on CI failures or mergeability state, then verify mergeability / merge-conflict status (for example via `gh pr view`) alongside CI.
12. After any push or rerun action, immediately return to step 1 and continue polling on the updated SHA/state.
13. If you had been using `--watch` before pausing to patch/commit/push, relaunch `--watch` yourself in the same turn immediately after the push (do not wait for the user to re-invoke the skill).
14. Repeat polling until `stop_pr_closed` appears or a user-help-required blocker is reached. A green + review-clean + mergeable PR is a progress milestone, not a reason to stop the watcher while the PR is still open.
15. Maintain terminal/session ownership: while babysitting is active, keep consuming watcher output in the same turn; do not leave a detached `--watch` process running and then end the turn as if monitoring were complete.
## Commands
`WATCHER` below stands for the watcher path from the vendor notes.
### One-shot snapshot
```bash
python3 "$WATCHER" --pr auto --once
```
### Continuous watch
```bash
python3 "$WATCHER" --pr auto --watch
```
### Trigger flaky retry cycle (only when watcher indicates)
```bash
python3 "$WATCHER" --pr auto --retry-failed-now
```
### Explicit PR target
```bash
python3 "$WATCHER" --pr <number-or-url> --once
```
## CI Failure Classification
Use `gh` commands to inspect failed runs before deciding to rerun.
- `gh run view <run-id> --json jobs,name,workflowName,conclusion,status,url,headSha`
- `gh api repos/<owner>/<repo>/actions/runs/<run-id>/jobs -X GET -f per_page=100`
- `gh api repos/<owner>/<repo>/actions/jobs/<job-id>/logs > "${TMPDIR:-/tmp}/gh-job-<job-id>-logs.zip"`
- `gh run view <run-id> --log-failed` as a fallback after the overall workflow run is complete
`gh run view --log-failed` is workflow-run scoped and may not expose failed-job logs until the overall run finishes. For faster diagnosis, poll the run's jobs first and, as soon as a specific job has failed, fetch that job's logs directly from the Actions job logs endpoint. The watcher includes a `failed_jobs` list with each failed job's `job_id` and `logs_endpoint` when GitHub exposes one.
Prefer treating failures as branch-related when failed-job logs point to changed code (compile/test/lint/typecheck/snapshots/static analysis in touched areas).
Prefer treating failures as flaky/unrelated when logs show transient infra/external issues (timeouts, runner provisioning failures, registry/network outages, GitHub Actions infra errors).
Do not attempt to fix flaky/unrelated failures by changing tests, build scripts, CI configuration, dependency pins, or infrastructure-adjacent code unless the logs clearly connect the failure to the PR branch. For flaky/unrelated failures, rerun only when the watcher recommends `retry_failed_checks`; otherwise wait or stop for user help.
If classification is ambiguous, perform one manual diagnosis attempt before choosing rerun.
Read [references/heuristics.md](references/heuristics.md) for a concise checklist.
## Review Comment Handling
The watcher surfaces review items from:
- PR issue comments
- Inline review comments
- Review submissions (COMMENT / APPROVED / CHANGES_REQUESTED)
Only act on published feedback. Ignore review submissions in GitHub's `PENDING` state and inline
comments attached to those pending reviews. Do not mark pending review feedback as seen; it should
be eligible to surface after the reviewer submits the review.
It intentionally surfaces approved review bot feedback (see vendor notes) in addition to human reviewer feedback. Most unrelated bot noise should still be ignored.
For safety, the watcher only auto-surfaces trusted human review authors (for example repo OWNER/MEMBER/COLLABORATOR, plus the authenticated operator) and approved review bots.
On a fresh watcher state file, existing unaddressed published review feedback may be surfaced immediately (not only comments that arrive after monitoring starts). This is intentional so already-open review comments are not missed.
When you agree with a comment and it is actionable:
1. Patch code locally.
2. Commit with `<agent>: address PR review feedback (#<n>)`.
3. Push to the PR head branch.
4. After the push succeeds, resolve the associated GitHub review thread only when allowed by the GitHub state mutation policy below.
5. Resume watching on the new SHA immediately (do not stop after reporting the push).
6. If monitoring was running in `--watch` mode, restart `--watch` immediately after the push in the same turn; do not wait for the user to ask again.
Do not post replies to human-authored GitHub review comments/threads automatically. If you disagree with a human comment, believe it is non-actionable/already addressed, or need to answer a question, report the item to the user with a suggested response and wait for explicit confirmation before posting anything on GitHub. If the user approves a response, prefix it with `[<agent>]` so it is clear the response is automated and not from the human user.
If the watcher later surfaces your own approved reply because the authenticated operator is treated as a trusted review author, treat that self-authored item as already handled and do not reply again.From Fleron/Claude-plugins, MIT.
More from Fleron/Claude-plugins
- 0.567score
code-review
Fleron
Use when the user asks for a review of the current diff, branch or pull request, wants a final check before shipping or opening a PR, asks what is wrong with…
SkillAFreshness: A★ 1Claude Code +9 - 0.494score
rebuild-guidelines-index
Fleron
Rebuild navigational index files for coding guidelines.
SkillCFreshness: C★ 1Claude Code +9 - 0.492score
claude-control-goals
Fleron
Minimal /goal integration for Claude and Codex.
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
extensive-build
Fleron
Guided feature development with codebase understanding and architecture focus
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
create-feature
Fleron
Guided feature development with codebase understanding and architecture focus
SkillCFreshness: C★ 1Claude Code +9 - 0.476score
team-build
Fleron
Implement the plan
SkillCFreshness: C★ 1Claude Code +9 - 0.471score
subagent-driven-development
Fleron
Use when executing implementation plans with independent tasks in the current session
SkillCFreshness: C★ 1Claude Code +9 - 0.471score
executing-plans
Fleron
Use when you have a written implementation plan to execute in a separate session with review checkpoints
SkillCFreshness: C★ 1Claude Code +9 - 0.471score
plan-writing
Fleron
Use when you have a spec or requirements for a multi-step task, before touching code
SkillCFreshness: C★ 1Claude Code +9 - 0.471score
subagent-driven-development
Fleron
Use when executing implementation plans with independent tasks in the current session
SkillCFreshness: C★ 1Claude Code +9 - 0.469score
brainstorm
Fleron
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.
SkillCFreshness: C★ 1Claude Code +9 - 0.468score
receiving-code-review
Fleron
Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires…
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Sep 18, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Fleron/Claude-plugins
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Fleron
- 0.567score
code-review
Fleron
Use when the user asks for a review of the current diff, branch or pull request, wants a final check before shipping or opening a PR, asks what is wrong with…
SkillAFreshness: A★ 1Claude Code +9 - 0.494score
rebuild-guidelines-index
Fleron
Rebuild navigational index files for coding guidelines.
SkillCFreshness: C★ 1Claude Code +9 - 0.492score
claude-control-goals
Fleron
Minimal /goal integration for Claude and Codex.
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
extensive-build
Fleron
Guided feature development with codebase understanding and architecture focus
SkillCFreshness: C★ 1Claude Code +9 - 0.491score
create-feature
Fleron
Guided feature development with codebase understanding and architecture focus
SkillCFreshness: C★ 1Claude Code +9 - 0.476score
team-build
Fleron
Implement the plan
SkillCFreshness: C★ 1Claude Code +9
Cite this page
babysit-pr skill. Agent Mart. https://agentmart.dev/skills/fleron-babysit-pr (last updated 2026-10-24)