babysit-pr
Skill17 starsChanged 4 months agoMITView on GitHub
Create, monitor, and shepherd a GitHub pull request end-to-end: respect repo PR templates, watch CI and reviews, fix branch-related failures, address valid comments, and validate post-merge deployment when possible.
- Commits and pushes
55 other projects use a version of this.
Adopted by
Most recently taken up by
- scottwater/skillstheir own version, first seen Nov 8, 2026
- JeffreyFerreiras/ai-skillstheir own version, first seen Nov 8, 2026
- niilohlin/skillstheir own version, first seen Nov 8, 2026
- normalled/apijacktheir own version, first seen Nov 8, 2026
- rock3r/headroomtheir own version, first seen Nov 8, 2026
- marcellocurto/skillstheir own version, first seen Nov 8, 2026
Used with
Projects with it also use leaving-pr-comments, sol-loop and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
scottwaterSkillleaving-pr-comments
Format comments an agent posts on GitHub on the user's behalf. Use whenever leaving a PR comment, review comment, or reply.
Also in 9 projects that use this
scottwaterSkillsol-loop
Review a change with GPT Sol in a loop until both agents agree. Use when the user says sol loop, or when another skill asks for a Sol review.
Also in 7 projects that use this
Nexus-Organization-InfosecSkillfull-stop
Shut down the Full Control phone-bridge completely — end Claude's watch loop, stop the bridge server (server.py started via ensure_server.ps1), and mark Claude offline in the app. Use whenever the user invokes /full-stop or says "stop full control", "stop the watch loop", "shut down the bridge/server", or "stop the ps1". Counterpart of [[full-control]], which starts everything.
Also in 9 projects that use this
assisjpSkillfile-pr
Prepare and open or update an authorized pull request with a concise problem-first description and verifiable evidence. Use when the user asks to create, file, open, or update a PR. Do not use merely to review a diff or when publication is not authorized.
Also in 13 projects that use this
shhacSkillfull-send
Complete an explicitly assigned task autonomously through parallel agents, peer-reviewed decisions, and automatic retries of temporary blockers. Use only when the user explicitly invokes Full Send.
Also in 8 projects that use this
assisjpSkilltakeover
Take over an existing branch, pull request, worktree, or agent handoff while preserving the original goal, contributor credit, and concurrent work. Use when the user asks to take over, finish, rescue, or continue someone else's implementation. Do not use to replace a clear request to start new work.
Also in 4 projects that use this
- +1 more from scottwater
Other versions55 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 55
- BuilderIO/agent-native★ 7.6ksame name
- camunda/camunda★ 4.4ksame name
- t3dotgg/tstack★ 2.5ksame name
- UniClipboard/UniClipboard★ 2ksame name
- rome-os/rome★ 894same name
- trailofbits/coop★ 808same name
- Mr-Quin/danmaku-anywhere★ 550same name
- tariknz/irdashies★ 270same name
- owid/etl★ 163same name
- amElnagdy/review-skills★ 135same name
45 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository60 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-browserSkill
- agent-engineeringSkill
- app-marketing-copySkill
- ascii-pixel-artSkill
- autopredictSkill
- autoresearchSkill
- bird-fastSkill
- blockchain-auditorSkill
- brainstormingSkill
- ceo-reviewSkill
- ck-reviewSkill
- cloudflare-managerSkill
- codex-advisorSkill
- content-trend-researcherSkill
- continuous-learningSkill
- coreml-optimizerSkill
- cto-reviewSkill
- direct-mail-strategistSkill
- evangelion-designSkill
- executing-plansSkill
- freshdesk-apiSkill
- gemini-image-generatorSkill
- gemini-visualSkill
- github-actions-templatesSkill
- googleSkill
- gsplat-optimizerSkill
- hyperagentSkill
- idea-mdSkill
- imagegenSkill
- ios-app-testerSkill
- llm-advisorSkill
- llm-evaluationSkill
- macos-appsSkill
- markdown-fetchSkill
- mcp-builderSkill
- mcp-testerSkill
- nano-bananaSkill
- opensea-apiSkill
- paperclipSkill
- playdate-devSkill
- poke-assistantSkill
- poplar-direct-mailSkill
- practical-typographySkill
- prompt-factorySkill
- qmdSkill
- scientific-critical-thinkingSkill
- security-best-practicesSkill
- security-threat-modelSkill
- seo-optimizerSkill
- shadertoySkill
- skill-finderSkill
- skimmableSkill
- subway-infoSkill
- systematic-debuggingSkill
- tui-designerSkill
- ui-designSkill
- video-editorSkill
- writing-plansSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
27 rules. 0 are common, 23 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 54 edited versions we read keep these.
23
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Do not stop at "PR created" or "CI is green once." Keep following the PR until one of the terminal outcomes is true.
- Distinctive: line 41
Use one watcher session per PR.
- Distinctive: line 42
Prefer fixing valid review feedback before retrying flaky CI.
- Distinctive: line 43
Treat reviewer scores as real requirements when explicitly stated.
- Distinctive: line 44
Use repo-native templates and signals before falling back to bundled defaults.
- Distinctive: line 50
Check for unrelated uncommitted changes before editing.
- Distinctive: line 55
Use the resolver script first:
- Distinctive: line 65
If the repo has a pull request template, preserve its section structure and fill it thoughtfully.
- Very specific: line 66
If no repo template exists, use the bundled fallback at assets/default_pr_template.md.
- Very specific: line 67
Prefer gh pr create --body-file or gh pr edit --body-file with a prepared body that mirrors the resolved template.
- Distinctive: line 68
Do not discard checklist items unless they are clearly irrelevant and leaving them blank would be misleading.
- Distinctive: line 73
Write a tight PR title.
- Distinctive: line 76
Create or update the PR.
- Distinctive: line 77
Start the watcher immediately after the push succeeds.
- Very specific: line 109
Use references/heuristics.md for the classification checklist.
- Distinctive: line 131
When new feedback appears:
- Distinctive: line 134
If action is required, implement the smallest correct fix.
- Distinctive: line 155
If a reviewer gives an explicit score below the maximum, treat that as unfinished work even if the PR is technically mergeable.
- Distinctive: line 157
After making improvements, wait for updated reviewer feedback rather than assuming the score increased.
- Distinctive: line 162
Avoid destructive git actions.
- Distinctive: line 163
Do not run multiple watcher processes for the same PR.
- Distinctive: line 164
If you find unrelated uncommitted worktree changes, stop and ask the user before editing.
- Distinctive: line 168
After merge, start the deployment watcher:
- Very specific: line 183
Use references/deployment-monitoring.md for provider-specific follow-up, smoke tests, logs, and metrics guidance.
- Distinctive: line 187
Keep progress updates concise during steady-state watching.
- Distinctive: line 188
When you push a fix, summarize the root cause and what changed.
- Distinctive: line 189
When you stop, report the terminal condition and the evidence behind it.
“Common” is measured: kept by at least 6 in 10 of the 54 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
PR Lifecycle Operator
Objective
Own the pull request from creation through post-merge validation with as little manual babysitting as possible.
Terminal outcomes:
- The PR is merged and the deployment looks healthy.
- The PR is merge-safe and waiting on humans.
- A blocker requires user help: ambiguous product intent, permissions, unrelated dirty worktree, external-only outage, or missing deployment visibility.
Do not stop at "PR created" or "CI is green once." Keep following the PR until one of the terminal outcomes is true.
Common Failure Modes
These gotchas appear during real PR automation and require proactive handling:
Watcher Script Exits Silently (Template Resolution)
The watcher can exit unexpectedly if PR template resolution fails during preflight. Root cause: resolve_pr_template.py may fail to parse custom template syntax, or template file is unreadable. Mitigation: always run the resolver in --json mode first to validate template before starting the watcher. If resolution fails, fall back to the bundled default template at assets/default_pr_template.md.
Multiple Watchers on Same PR (Duplicate Comments)
Running multiple gh_pr_watch.py instances for the same PR causes duplicate comment processing and can result in duplicate bot comments or conflicting retry actions. This typically happens when the watcher is restarted without properly stopping the previous session. Mitigation: use one watcher session per PR. Verify no orphaned watcher processes exist before starting: ps aux | grep gh_pr_watch. Kill any stale sessions before resuming.
CI Retry Logic Triggers on Non-Flaky Failures (Quota Waste)
The retry logic may consume the CI retry budget on failures that are not actually transient (e.g., legitimate test failures from branch-specific issues). This wastes quota and can block progress on legitimate issues. Mitigation: always inspect CI logs with gh run view <run-id> --log-failed before retrying. Confirm the failure is truly flaky or unrelated to branch changes. Apply the heuristics in references/heuristics.md strictly before calling --retry-failed-now.
Review Score Extraction Fails with Markdown Formatting
When reviewers use markdown formatting in their score phrases (e.g., **4/5** stars or `4 out of 5`), the review score extraction regex may fail to match. This results in the watcher missing explicit scores and potentially merging PRs prematurely despite unfinished reviewer feedback. Mitigation: the score extractor looks for patterns like 5/5 and 5 out of 5. If a reviewer uses markdown around the score, manually extract the numeric rating and document it in the PR thread before proceeding.
See references in each workflow section below for prevention strategies.
Defaults
- Poll open PR state every 60 seconds.
- Use one watcher session per PR.
- Prefer fixing valid review feedback before retrying flaky CI.
- Treat reviewer scores as real requirements when explicitly stated.
- Use repo-native templates and signals before falling back to bundled defaults.
Preflight
- Confirm you are on the PR branch, not the default branch.
- Confirm
gh auth statusworks. - Check for unrelated uncommitted changes before editing.
- Resolve the PR template before opening or rewriting the PR body.
PR Template Handling
Use the resolver script first:
python3 skills/babysit-pr/scripts/resolve_pr_template.py --json⚠️ Related gotcha: See "Watcher Script Exits Silently (Template Resolution)" under Common Failure Modes. Always validate template resolution before starting the watcher.
Rules:
- If the repo has a pull request template, preserve its section structure and fill it thoughtfully.
- If no repo template exists, use the bundled fallback at
assets/default_pr_template.md. - Prefer
gh pr create --body-fileorgh pr edit --body-filewith a prepared body that mirrors the resolved template. - Do not discard checklist items unless they are clearly irrelevant and leaving them blank would be misleading.
Creation Workflow
- Resolve the template.
- Write a tight PR title.
- Build a PR body that includes summary, testing, and rollout notes.
- Push the branch.
- Create or update the PR.
- Start the watcher immediately after the push succeeds.
Helpful commands:
gh pr create --base <default-branch> --title "<title>" --body-file <body-file>
gh pr edit <pr-number> --title "<title>" --body-file <body-file>
python3 skills/babysit-pr/scripts/gh_pr_watch.py --pr auto --watchWatcher Workflow
The watcher emits snapshots and recommended actions. Start with:
python3 skills/babysit-pr/scripts/gh_pr_watch.py --pr auto --watch⚠️ Related gotchas: See Common Failure Modes for "Multiple Watchers on Same PR" and "Watcher Script Exits Silently." Ensure no stale watcher processes are running before starting, and verify template resolution completes cleanly.
Key actions:
process_review_comment: inspect the new comment or review and decide whether it is valid, relevant, and actionable on the current branch.improve_review_score: a trusted reviewer gave an explicit score below the maximum; do not treat the work as complete yet.diagnose_ci_failure: inspect failed logs and decide whether the failure is branch-related.retry_failed_checks: rerun failed checks only when the failure looks flaky or unrelated.stop_ready_to_merge: CI is green, no outstanding trusted review items remain, and mergeability is clean.stop_pr_closed: the PR merged or closed; if merged, transition to deployment monitoring.stop_exhausted_retries: flaky retry budget is exhausted; ask the user for help with evidence.
CI Failure Policy
Use references/heuristics.md for the classification checklist.
⚠️ Related gotcha: See "CI Retry Logic Triggers on Non-Flaky Failures" under Common Failure Modes. Always inspect logs before retrying to avoid wasting quota on legitimate failures.
Default commands:
gh run view <run-id> --json jobs,name,workflowName,conclusion,status,url,headSha
gh run view <run-id> --log-failed
python3 skills/babysit-pr/scripts/gh_pr_watch.py --pr auto --retry-failed-nowRules:
- Branch-related failure: fix it, run the narrowest useful validation, commit, push, and restart the watcher.
- Flaky or unrelated failure: rerun only after one log inspection confirms it is probably transient.
- Infra-only failures, auth problems, or missing permissions: surface the blocker and stop.
Comment And Review Handling
Apply feedback from trusted humans and approved bots when it is technically correct, actionable, and consistent with user intent.
When new feedback appears:
- Validate that the feedback is relevant to the current PR.
- If action is required, implement the smallest correct fix.
- Run focused validation.
- Commit and push.
- Restart the watcher immediately.
Ignore or escalate feedback when it is:
- already resolved
- clearly noisy
- ambiguous
- contradictory with explicit user direction
- blocked by unrelated dirty changes or a wider product decision
Review Scores
The watcher now extracts explicit score phrases such as 5/5 and 5 out of 5 from trusted comments and reviews.
⚠️ Related gotcha: See "Review Score Extraction Fails with Markdown Formatting" under Common Failure Modes. If reviewers use markdown around scores, manually extract ratings before proceeding.
Rules:
- If a reviewer gives an explicit score below the maximum, treat that as unfinished work even if the PR is technically mergeable.
- Aim for the highest score before calling the PR done.
- After making improvements, wait for updated reviewer feedback rather than assuming the score increased.
Git Safety
- Work only on the PR head branch.
- Avoid destructive git actions.
- Do not run multiple watcher processes for the same PR. (See Common Failure Modes: "Multiple Watchers on Same PR")
- If you find unrelated uncommitted worktree changes, stop and ask the user before editing.
Post-Merge Deployment Monitoring
After merge, start the deployment watcher:
python3 skills/babysit-pr/scripts/gh_deploy_watch.py --pr auto --watchThe deployment watcher uses GitHub deployment records and deployment-like workflow runs tied to the merge commit. It stops with one of these actions:
wait_deployment: a deployment signal exists and is still running.wait_for_deployment_signal: the PR merged recently and the grace window has not expired yet.alert_deployment_failure: a deployment signal failed; inspect logs and decide whether to ship a fix.validate_production: deployment signals look successful; run the narrowest useful production validation.no_deployment_signal: no machine-readable deployment signal was found after the grace window.stop_pr_not_merged: the PR is not merged yet.
Use references/deployment-monitoring.md for provider-specific follow-up, smoke tests, logs, and metrics guidance.
Output Expectations
- Keep progress updates concise during steady-state watching.
- When you push a fix, summarize the root cause and what changed.
- When you stop, report the terminal condition and the evidence behind it.
References
references/heuristics.mdreferences/github-api-notes.mdreferences/deployment-monitoring.md
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

