/ce-babysit-pr
Babysits or watches an open GitHub PR until merge-ready, continuously reacting to review comments, CI failures, and routine base movement throughout the PR's life. Use when asked to 'babysit the PR', 'watch the PR', monitor, or keep an eye on a PR over time — not a one-shot
$ npx -y skills add everyinc/compound-engineering-plugin --skill ce-babysit-pr --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/ce-babysit-pr
Context preview
The summary Claude sees to decide when to auto-load this skill.
Babysits or watches an open GitHub PR until merge-ready, continuously reacting to review comments, CI failures, and routine base movement throughout the PR's life. Use when asked to 'babysit the PR', 'watch the PR', monitor, or keep an eye on a PR over time — not a one-shot
SKILL.md
ce-babysit-pr.SKILL.mdname: ce-babysit-pr
description: "Babysits or watches an open GitHub PR until merge-ready, continuously reacting to review comments, CI failures, and routine base movement throughout the PR's life. Use when asked to 'babysit the PR', 'watch the PR', monitor, or keep an eye on a PR over time — not a one-shot request to resolve review comments or debug one CI failure (those are separate skills). GitHub only, including GitHub Enterprise."
argument-hint: "[PR number, URL, or blank for current branch's PR] [watch|checkpoint] [duration] [posture:target|stack-ready|stack-land]"
Babysit a PR
Keep an open PR **continuously moving toward merge** by reacting to three independent event streams — **incoming review comments**, **CI status changes**, and **branch currency** — as each arrives, for as long as the PR stays open. Comment fixes are delegated to `ce-resolve-pr-feedback`; CI failures are delegated to `ce-debug`; routine target-local base movement follows the bounded protocol below. This skill owns the watch loop: snapshot, order, dedup, act, and decide when to **keep watching**, move to the next authorized managed-stack layer, or stop.
**Outcome:** leave the requested PR at an honest terminal, looks-ready, blocked, or budget state under the run's **posture** (`target` | `stack-ready` | `stack-land`). For an independent PR or manual dependency chain, the target-local result is done. For a confirmed managed stack, a settled layer is a transition checkpoint governed by posture (below). Never infer stack-wide semantic scope from branch topology alone. **Settled ≠ merged:** a layer can look merge-ready while still OPEN; you do not need to merge to babysit the next layer.
Posture (one value for the invocation/run)
Hold exactly one posture for the run. Carrier: `posture:target|stack-ready|stack-land` — distinct from `watch` / `checkpoint` / `mode:pipeline` / duration. Re-state the same posture on every managed-stack layer `--continue-invocation` transition alongside the existing budget flags.
| Posture | Behavior | | --- | --- | | `target` | Only the named PR. Stop at looks-ready. May offer stack-wide once when a confirmed multi-layer managed stack needs work; decline keeps the target-local stop. Never merges. | | `stack-ready` | After the active layer settles, automatically continue to the next open non-draft upstack layer that needs work. Never merges. Persist for the run; do not re-ask each layer. | | `stack-land` | Like `stack-ready` for traversal. Selecting or handing off `posture:stack-land` **is** run-level land authorization. After settle, merge the **bottom-most open settled** PR via `gh stack merge` + `gh stack sync`, then continue. |
**Selection:** named one PR / no stack language → default `target`, but if confirmed multi-layer managed stack ask once (only this PR vs whole stack to ready). Intent to own/finish the stack → `stack-ready`. Intent to land/merge when green → `stack-land`. Prefer intent over keyword regex. An explicit "babysit the managed stack" request selects `stack-ready` (or `stack-land` when land intent is also clear). In `mode:pipeline`, use only the posture/scope already supplied on the invocation — never ask.
When a confirmed managed stack is in play and you need CLI recipes, load `references/stack-commands.md`.
Non-negotiable boundaries
- **Merge-readiness is never merge authorization — except `posture:stack-land`.** Under `target` and `stack-ready`, this skill never merges as part of babysitting; only selecting/handing off `posture:stack-land` (or a later explicit user request that selects it) authorizes `gh stack merge` for the bottom-most open settled prefix endpoint.
- **Draft PRs are opt-in.** Never review or babysit a draft merely because managed-stack traversal reaches it; a draft is eligible only when a human explicitly named that draft (a direct user invocation resolving to it counts) or explicitly included drafts in scope. A calling skill's automatic handoff is neither — when an auto-invocation resolves to a draft, report the draft status and stop instead of arming a watch, unless the invocation carries an explicit user watch-mode token.
- **Managed means positively confirmed membership.** A managed stack exists for this workflow only when a fresh probe proves the target belongs to it and emits `manager_status == "confirmed"`. Repository-level stack availability, a manual base/head dependency, or a failed/uncertain probe is not a managed stack.
- **One semantic writer lane.** Keep one active PR target and one watcher. Manager-owned mechanical propagation may update confirmed dependents, but review/CI fixes on another layer require explicit stack-wide semantic scope and proceed downstack-to-upstack, never concurrently.
**The watch runs until the PR is terminal (merged/closed), settled, its bounded external-approval review drain finishes, a budget cap is hit, or the user stops it — not until the first thing the loop cannot do itself.** An item that needs a human decision (a `needs-human` residual), a check left terminally red, or an unresolvable semantic conflict is **parked and surfaced as a standing residual**: it blocks *declaring* merge-ready, but it does **not** end the watch. You keep driving every other stream around it — a parked review thread never stops you from fixing a new CI failure or handling a fresh review round. **Ending the whole loop the moment one item needs a human is the primary failure mode of this skill**: the PR keeps moving (new reviews land, CI re-runs), so the watch must too. The loop only *ends* on a true terminal/budget/drained stop (Step 3); a residual only *pauses that item*.
**Honest contract:** you drive the PR toward merge-ready and report when it *looks* ready — you cannot guarantee merge-readiness (a reviewer can always add feedback later, required checks can change). Under `target` and `stack-ready`, the final merge stays the user's. Under `stack-land`, selecting that posture authorizes the pref
Read more
name: ce-babysit-pr description: "Babysits or watches an open GitHub PR until merge-ready, continuously reacting to review comments, CI failures, and routine base movement throughout the PR's life. Use when asked to 'babysit the PR', 'watch the PR', monitor, or keep an eye on a PR over time — not a one-shot request to resolve review comments or debug one CI failure (those are separate skills). GitHub only, including GitHub Enterprise." argument-hint: "[PR number, URL, or blank for current branch's PR] [watch|checkpoint] [duration] [posture:target|stack-ready|stack-land]"
Babysit a PR
Keep an open PR **continuously moving toward merge** by reacting to three independent event streams — **incoming review comments**, **CI status changes**, and **branch currency** — as each arrives, for as long as the PR stays open. Comment fixes are delegated to `ce-resolve-pr-feedback`; CI failures are delegated to `ce-debug`; routine target-local base movement follows the bounded protocol below. This skill owns the watch loop: snapshot, order, dedup, act, and decide when to **keep watching**, move to the next authorized managed-stack layer, or stop.
**Outcome:** leave the requested PR at an honest terminal, looks-ready, blocked, or budget state under the run's **posture** (`target` | `stack-ready` | `stack-land`). For an independent PR or manual dependency chain, the target-local result is done. For a confirmed managed stack, a settled layer is a transition checkpoint governed by posture (below). Never infer stack-wide semantic scope from branch topology alone. **Settled ≠ merged:** a layer can look merge-ready while still OPEN; you do not need to merge to babysit the next layer.
Posture (one value for the invocation/run)
Hold exactly one posture for the run. Carrier: `posture:target|stack-ready|stack-land` — distinct from `watch` / `checkpoint` / `mode:pipeline` / duration. Re-state the same posture on every managed-stack layer `--continue-invocation` transition alongside the existing budget flags.
| Posture | Behavior | | --- | --- | | `target` | Only the named PR. Stop at looks-ready. May offer stack-wide once when a confirmed multi-layer managed stack needs work; decline keeps the target-local stop. Never merges. | | `stack-ready` | After the active layer settles, automatically continue to the next open non-draft upstack layer that needs work. Never merges. Persist for the run; do not re-ask each layer. | | `stack-land` | Like `stack-ready` for traversal. Selecting or handing off `posture:stack-land` **is** run-level land authorization. After settle, merge the **bottom-most open settled** PR via `gh stack merge` + `gh stack sync`, then continue. |
**Selection:** named one PR / no stack language → default `target`, but if confirmed multi-layer managed stack ask once (only this PR vs whole stack to ready). Intent to own/finish the stack → `stack-ready`. Intent to land/merge when green → `stack-land`. Prefer intent over keyword regex. An explicit "babysit the managed stack" request selects `stack-ready` (or `stack-land` when land intent is also clear). In `mode:pipeline`, use only the posture/scope already supplied on the invocation — never ask.
When a confirmed managed stack is in play and you need CLI recipes, load `references/stack-commands.md`.
Non-negotiable boundaries
- **Merge-readiness is never merge authorization — except `posture:stack-land`.** Under `target` and `stack-ready`, this skill never merges as part of babysitting; only selecting/handing off `posture:stack-land` (or a later explicit user request that selects it) authorizes `gh stack merge` for the bottom-most open settled prefix endpoint.
- **Draft PRs are opt-in.** Never review or babysit a draft merely because managed-stack traversal reaches it; a draft is eligible only when a human explicitly named that draft (a direct user invocation resolving to it counts) or explicitly included drafts in scope. A calling skill's automatic handoff is neither — when an auto-invocation resolves to a draft, report the draft status and stop instead of arming a watch, unless the invocation carries an explicit user watch-mode token.
- **Managed means positively confirmed membership.** A managed stack exists for this workflow only when a fresh probe proves the target belongs to it and emits `manager_status == "confirmed"`. Repository-level stack availability, a manual base/head dependency, or a failed/uncertain probe is not a managed stack.
- **One semantic writer lane.** Keep one active PR target and one watcher. Manager-owned mechanical propagation may update confirmed dependents, but review/CI fixes on another layer require explicit stack-wide semantic scope and proceed downstack-to-upstack, never concurrently.
**The watch runs until the PR is terminal (merged/closed), settled, its bounded external-approval review drain finishes, a budget cap is hit, or the user stops it — not until the first thing the loop cannot do itself.** An item that needs a human decision (a `needs-human` residual), a check left terminally red, or an unresolvable semantic conflict is **parked and surfaced as a standing residual**: it blocks *declaring* merge-ready, but it does **not** end the watch. You keep driving every other stream around it — a parked review thread never stops you from fixing a new CI failure or handling a fresh review round. **Ending the whole loop the moment one item needs a human is the primary failure mode of this skill**: the PR keeps moving (new reviews land, CI re-runs), so the watch must too. The loop only *ends* on a true terminal/budget/drained stop (Step 3); a residual only *pauses that item*.
**Honest contract:** you drive the PR toward merge-ready and report when it *looks* ready — you cannot guarantee merge-readiness (a reviewer can always add feedback later, required checks can change). Under `target` and `stack-ready`, the final merge stays the user's. Under `stack-land`, selecting that posture authorizes the pref
AI skills that make each unit of engineering work easier than the last.
Repo: everyinc/compound-engineering-plugin
Other skills on compound-engineering.
- /ce-brainstorm
Explore vague or ambitious ideas into a right-sized requirements-only unified plan. Use when the user wants to brainstorm, think through scope, decide what to build, or needs collaborative product framing before planning. Also use when the user must scope work in territory they
Open skill - /ce-code-review
Structured code review for bugs, regressions, tests, and standards. Use before PRs or when asked for review; report-only by default, with explicit local apply available for user-directed fix workflows.
Open skill - /ce-commit-push-pr
Commit, push, and open a PR. Use when asked to ship/open a PR, or for PR-description-only flows like writing, rewriting, or describing a PR body.
Open skill - /ce-commit
Create a git commit with a clear, value-communicating message. Use when the user asks to commit/save staged or unstaged changes with a repo-appropriate message.
Open skill - /ce-compound-refresh
Refresh the repo's captured learnings against the current codebase. Use when auditing stale, overlapping, superseded, or drifted learnings; avoid general refactor, debugging, or code review unless the learnings store is explicit.
Open skill - /ce-compound
Document a recently solved problem as a durable repo learning, or capture project vocabulary in CONCEPTS.md. Use when capturing a learning after work.
Open skill

