CI Watch and Auto-Fix Loop
modu-ai/moai-adk
Watches a pull request's CI checks after creation, separates required from auxiliary failures, applies limited safe fixes and escalates anything semantic to you.
Watches an open GitHub pull request over time, routing review comments and CI failures to other skills until the PR is ready to merge.
$ npx skills add EveryInc/compound-engineering-plugin --skill ce-babysit-pr -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install EveryInc/compound-engineering-plugin ce-babysit-pr --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/EveryInc/compound-engineering-plugin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ce-babysit-pr .claude/skills/ce-babysit-pr && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ce-babysit-pr" agent skill from https://github.com/EveryInc/compound-engineering-plugin/tree/main/skills/ce-babysit-pr into .claude/skills/ce-babysit-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ce-babysit-pr", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/EveryInc/compound-engineering-plugin/tree/main/skills/ce-babysit-prType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add EveryInc/compound-engineering-plugin --skill ce-babysit-pr -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install EveryInc/compound-engineering-plugin ce-babysit-pr --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EveryInc/compound-engineering-plugin.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ce-babysit-pr .agents/skills/ce-babysit-pr && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ce-babysit-pr" agent skill from https://github.com/EveryInc/compound-engineering-plugin/tree/main/skills/ce-babysit-pr into .agents/skills/ce-babysit-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ce-babysit-pr", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add EveryInc/compound-engineering-plugin --skill ce-babysit-pr -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install EveryInc/compound-engineering-plugin ce-babysit-pr --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EveryInc/compound-engineering-plugin.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ce-babysit-pr .cursor/skills/ce-babysit-pr && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ce-babysit-pr" agent skill from https://github.com/EveryInc/compound-engineering-plugin/tree/main/skills/ce-babysit-pr into .cursor/skills/ce-babysit-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ce-babysit-pr", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/EveryInc/compound-engineering-plugin.git --path skills/ce-babysit-pr--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add EveryInc/compound-engineering-plugin --skill ce-babysit-pr -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install EveryInc/compound-engineering-plugin ce-babysit-pr --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EveryInc/compound-engineering-plugin.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ce-babysit-pr .gemini/skills/ce-babysit-pr && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ce-babysit-pr" agent skill from https://github.com/EveryInc/compound-engineering-plugin/tree/main/skills/ce-babysit-pr into .gemini/skills/ce-babysit-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ce-babysit-pr", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install EveryInc/compound-engineering-plugin ce-babysit-prInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add EveryInc/compound-engineering-plugin --skill ce-babysit-pr -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/EveryInc/compound-engineering-plugin.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ce-babysit-pr .github/skills/ce-babysit-pr && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ce-babysit-pr" agent skill from https://github.com/EveryInc/compound-engineering-plugin/tree/main/skills/ce-babysit-pr into .github/skills/ce-babysit-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ce-babysit-pr", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add EveryInc/compound-engineering-plugin --skill ce-babysit-pr -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install EveryInc/compound-engineering-plugin ce-babysit-pr --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/EveryInc/compound-engineering-plugin.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ce-babysit-pr .opencode/skills/ce-babysit-pr && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ce-babysit-pr" agent skill from https://github.com/EveryInc/compound-engineering-plugin/tree/main/skills/ce-babysit-pr into .opencode/skills/ce-babysit-pr/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ce-babysit-pr", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ce-babysit-prWatches an open GitHub pull request over time, routing review comments and CI failures to other skills until the PR is ready to merge.
The skill keeps a pull request moving by reacting to three kinds of events as they appear: review comments go to the ce-resolve-pr-feedback skill, CI failures go to ce-debug, and branch-currency items flagged by a bundled pr-snapshot script are handled under strict rules. Every pass looks only at that script's output, not at prose or events the agent happens to spot.
A run uses one of three postures. Target works on the named PR, stops once it looks ready and never merges. Stack-ready walks up a stack of layered PRs as each layer's backlog clears, still without merging. Stack-land adds permission to merge the bottom open layer with gh stack merge and gh stack sync once it settles. Merge-readiness is never treated as permission to merge outside that last mode, and the run ends with a report of a ready, blocked or out-of-budget state.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 67035e9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
ghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
PR Babysitter loads about 2k tokens when it runs, and up to ~38k if it reads all its reference files. Until then it costs about 47 tokens; SKILL.md has 1,024 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from EveryInc/compound-engineering-plugin at commit 67035e9, republished under its MIT licence (© EveryInc). 1,024 words, ~1,961 tokens.
.claude/skills/ce-babysit-pr/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.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).
© EveryInc, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 11 other files (scripts, references) in skills/ce-babysit-pr of EveryInc/compound-engineering-plugin.
Open the folder on GitHubat commit 67035e9
PR Babysitter next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| PR Babysitter this skillEveryInc/compound-engineering-plugin | 25k | — | ~2k | Automated safety check: Pass | MIT | |
| CI Watch and Auto-Fix Loopmodu-ai/moai-adk | 1.2k | — | ~2.4k | Automated safety check: Notes | Apache-2.0 | |
| PR Babysitteropeninterpreter/openinterpreter | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | |
| Ghbubbuild/bub | 1.7k | — | ~798 | Automated safety check: Pass | Apache-2.0 | |
| Renovate Actions PR Reviewbacknotprop/plannotator | 9.2k | — | ~640 | Automated safety check: Pass | Apache-2.0 | |
| GitHub PR Actions Fixopenteams-lab/openteams | 629 | — | ~878 | Automated safety check: Pass | Apache-2.0 |
modu-ai/moai-adk
Watches a pull request's CI checks after creation, separates required from auxiliary failures, applies limited safe fixes and escalates anything semantic to you.
openinterpreter/openinterpreter
Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.
bubbuild/bub
GitHub CLI skill for interacting with GitHub via the gh command line tool.
backnotprop/plannotator
Reviews Renovate pull requests that bump GitHub Actions by checking pinned SHAs against upstream tags, scanning changelogs and confirming workflows stay compatible.
openteams-lab/openteams
OpenTeams skill for watching GitHub Actions checks after a pull request is submitted or updated, inspecting failures, making the smallest safe code fix, validating locally, pushing to the PR branch…
lobehub/lobehub
Guides the release PR flow, the CI rules that tag a release and the writing of GitHub Release notes for a repo that develops on a canary branch.
EveryInc/compound-engineering-plugin
Records one solved and verified problem as a durable learning in the repository, but only when the reasoning is not already clear from the final code, tests or docs.
EveryInc/compound-engineering-plugin
Audits a repo's stored learnings against the current codebase, fixes stale, overlapping or superseded docs and reports on every document.
EveryInc/compound-engineering-plugin
Builds a throwaway prototype at just the fidelity needed to settle a specific how-it-should-work-or-feel question, before committing to an approach other work will treat as fixed.
EveryInc/compound-engineering-plugin
Checks Compound Engineering plugin health and repo-local config, or scaffolds a Compound Pack when you ask for one by id.
EveryInc/compound-engineering-plugin
Turns a vague or ambitious feature idea into a requirements-only plan through dialogue with you, sized to the work, before any code is written.
EveryInc/compound-engineering-plugin
Runs a staged pull request or diff review using selected reviewer personas, checking the change against its stated intent and project standards before producing findings.
Works with
Categories
Watches an open GitHub pull request over time, routing review comments and CI failures to other skills until the PR is ready to merge. The skill keeps a pull request moving by reacting to three kinds of events as they appear: review comments go to the ce-resolve-pr-feedback skill, CI failures go to ce-debug, and branch-currency items flagged by a bundled pr-snapshot script are handled under strict rules. Every pass looks only at that script's output, not at prose or events the agent happens to spot.
PR Babysitter fits situations like: watching a pull request until its reviews and CI settle; handing review comments and failing checks to the right fix-up skills over time; walking a stack of dependent PRs toward merge-ready; landing a stack after you explicitly authorize merging.
Run `npx skills add EveryInc/compound-engineering-plugin --skill ce-babysit-pr -a claude-code`. Or copy the skill folder (skills/ce-babysit-pr in EveryInc/compound-engineering-plugin) into .claude/skills/ce-babysit-pr in your project. Claude Code loads it when a task matches its description.
Run `npx skills add EveryInc/compound-engineering-plugin --skill ce-babysit-pr -a codex`. Or copy the skill folder (skills/ce-babysit-pr in EveryInc/compound-engineering-plugin) into .agents/skills/ce-babysit-pr in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add EveryInc/compound-engineering-plugin --skill ce-babysit-pr -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ce-babysit-pr, .gemini/skills/ce-babysit-pr, .github/skills/ce-babysit-pr and .opencode/skills/ce-babysit-pr in your project.
Going by SKILL.md and its folder, PR Babysitter needs the command-line tools its instructions call (gh). Our summary lists: An open pull request on GitHub or GitHub Enterprise; The ce-resolve-pr-feedback and ce-debug skills; The gh CLI with stack commands for stacked PRs.
SKILL.md contains no URLs. Its commands use gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
PR Babysitter is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 36k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with PR Babysitter: CI Watch and Auto-Fix Loop (modu-ai/moai-adk, 1.2k stars), PR Babysitter (openinterpreter/openinterpreter, 69k stars), Gh (bubbuild/bub, 1.7k stars) and Renovate Actions PR Review (backnotprop/plannotator, 9.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
EveryInc (a GitHub organization) maintains it in EveryInc/compound-engineering-plugin, which has 25,436 GitHub stars. The repository holds 37 skills in this directory. The repository was last updated on October 8, 2026.
Source: EveryInc/compound-engineering-plugin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.