Babysits an open GitHub PR until merge-ready. Use when asked to watch a PR over time — not for one-shot comment resolution or one CI failure. GitHub (incl. Enterprise) only.
69
85%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
The canonical home for this skill is ce-babysit-pr in EveryInc/compound-engineering-plugin
Keep an open PR moving toward merge by reacting to three streams as each arrives: review comments (handed to ce-resolve-pr-feedback), CI failures (handed to ce-debug), and branch-currency items the snapshot flags.
Outcome: the PR is left at a truthfully reported terminal, looks-ready, blocked, or out-of-budget state under the run's posture. Done: Step 3 (stop conditions) reached a true stop and the Step 4 report is written. Settled ≠ merged.
What each tick looks at and every change it makes come from the bundled pr-snapshot output — never by prose, events you notice, or a coordinator's say-so (readiness also applies the review judgment in references/settle.md, which reads live state this output does not model). Read references/tick.md before the first snapshot; references/envelope.md states the full boundaries.
target — only the named PR; stop at looks-ready; never merges; offer stack-wide once if a confirmed managed stack needs work.stack-ready — once a layer has zero actionable backlog (CI may still run), advance to the next open non-draft upstack layer needing work; lower layers stay probed and the lowest that re-opens pulls the walk back; never merges.stack-land — as stack-ready, and selecting it is land authorization: once the bottom-most open layer is settled, gh stack merge it + gh stack sync.One PR named → target (ask once if a confirmed multi-layer stack exists); asked to carry the whole stack → stack-ready; asked to land it → stack-land. mode:pipeline never asks. Restate posture per transition.
stack-land.branch_currency item the snapshot emitted — BEHIND, DIRTY, a branch-protection requirement, or an explicit always-current policy — after an atomic claim, per references/branch-currency.md (BEHIND = host update-branch with expected_head_sha, never a local merge). Never infer an item from prose, base movement, a sibling PR merging, CLEAN/MERGEABLE, BLOCKED while your own push's checks rerun, or anyone saying "update the branch"; a push that restarts green CI without a claimed item is a defect.manager_status == "confirmed" on a fresh probe; manual chains and probe-error stay target-local). One writer at a time: one mutated target, one watcher.target/stack-ready, needs-human residuals, blocked-external handback.gh repo view must succeed, else say GitHub-only, stop.references/setup.md); none → report, stop.gh pr checkout <ref>; no push access or dirty checkout → stop, say so.references/watch-loop.md): Keep monitoring in the current session until a stop condition is met. Use checkpoint mode only when the user requests it or the harness cannot keep the session active while waiting for the watcher's output. The default self-sustaining in-session watch uses pr-snapshot watch and runs one tick per BABYSIT_WAKE; never collapse the loop into a script. In checkpoint mode, run one tick and report paused monitoring with the resume invocation from references/setup.md. Pipeline (mode:pipeline): bounded synchronous ticks, structured return (references/pipeline.md).Snapshot first, then in this order:
MERGED/CLOSED → stop (a stack-land merge this run landed is a transition).references/stack.md).ce-resolve-pr-feedback mode:pipeline once with the PR ref; persist typed decisions through the shared atomic mark and dispatch every other passed comment; pass trajectory when a trigger is crossed; never declare non-convergence yourself.gh run rerun <run-id> --failed -R <host>/<owner>/<repo>; real failure → ce-debug mode:pipeline once; mark each check acted on; unfixed checks stay red residuals.references/branch-currency.md); no item → nothing. unrequested_base_merge is a defect to report, never undo.references/stack.md).True stops (references/settle.md): Terminal; Looks ready — mergeability_certain, MERGEABLE, CLEAN, no base_ref_blocker, checks terminal, zero backlog, open_needs_human == 0, branch_currency_blocker == null, settle elapsed, review-still-expected guard clear or its bounded stale protocol says stop; blocked-external-drained; Budget (active budget or 3-day backstop). Refresh a drifted PR description via ce-commit-push-pr mode:pipeline before reporting ready. In interactive runs, standing residuals (needs-human, blocked-failing, stack-blocked) block "ready" while independent work continues; stopping the run there is the primary failure mode. mode:pipeline returns the canonical decision set when autonomous work ends. After an interactive tick with no true stop, start the one watcher again and wait on it; its silence tells you nothing about the PR's state.
One fixed status line first (✅ Looks merge-ready — <evidence>. Your call to merge. / 🟡 Cautiously looks ready … / 🎉 🚫 ⛔ ⏱️ ⏸️), then a recap the reader could merge from without scrolling back: feedback themes and outcomes, CI fixes, pushes, run length, parked items, judgment calls made for the user. Never "safe to merge" (references/report.md).
f794948
Canonical home
since Jul 24, 2026
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.