babysit
Skill41k starsChanged 4 days agoMITView on GitHub
Drive an open PR to merge-ready on the watch-pr verdict policy — watch checks and review state, fix CI, address comments; never merges, rebases, or force-pushes. For 'get this green' or 'babysit PR #N'.
- Reads credentials
44 other projects use a version of this.
Trending
Quiet since January.thin dataabout the whole repository
Most recently taken up by
- revisit-studies/studytheir own version, first seen Nov 9, 2026
- Yeachan-Heo/oh-my-claudecodeword for word, first seen Nov 8, 2026
- nightly-labs/openbottheir own version, first seen Nov 8, 2026
- endqwerty/endstacktheir own version, first seen Nov 8, 2026
- MMACABRE/SKILLStheir own version, first seen Nov 8, 2026
- babs/skillstheir own version, first seen Nov 8, 2026
Who's talking about Yeachan-Heo/oh-my-claude-sisyphus
- A Hacker News story“Sisyphus Now Lives in Oh My Claude”Hacker News · Jan 11, 2026 · 52 points
- Yeachan-Heo/oh-my-claudecode“Silent update security issue”GitHub · Jan 10, 2026 · 1 reactions
- anthropics/claude-plugins-official“feat: Add oh-my-claude-sisyphus multi-agent orchestration plugin”GitHub · Jan 12, 2026
The biggest 3 of 3 mentions linking to the repository that our crawl found. Each line is their own headline.
Used with
Projects with it also use oh-my-issues, what-the and 9 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.
tuliosalustiano27Skilloh-my-issues
Cluster a GitHub issue backlog by root cause into a small set of plan-master issues, redirect children with a standardized comment, and bundle architectural-fix PRs that close clusters atomically. Use when an issue tracker has accumulated dozens of reports that share underlying defects, when asked to triage / consolidate / cluster / dedupe issues, when asked to build a plan series or roadmap from open issues, or when routing a new incoming bug into an existing plan.
Also in 3 projects that use this
tuliosalustiano27Skillwhat-the
What the? Use when the user wants a plain-English breakdown of something technical — the who, what, where, why, and when.
Also in 3 projects that use this
Tsumugii24Skillsplit-to-prs
Split current work into small reviewable PRs. Use when the user asks to split a chat, set of changes, branch, or PR.
Also in 4 projects that use this
PandelisZSkillupdate-cli-config
View and modify Cursor CLI configuration settings in ~/.cursor/cli-config.json. Use when the user wants to change CLI settings, configure permissions, switch approval mode, enable vim mode, toggle display options, configure sandbox, or manage any CLI preferences.
Also in 3 projects that use this
32103210Skillmigrate-to-skills
Convert 'Applied intelligently' Cursor rules (.cursor/rules/*.mdc) and slash commands (.cursor/commands/*.md) to Agent Skills format (.cursor/skills/). Use when you want to migrate rules or commands to skills, convert .mdc rules to SKILL.md format, or consolidate commands into the skills directory.
Also in 3 projects that use this
32103210Skillupdate-cursor-settings
Modify Cursor/VSCode user settings in settings.json. Use when you want to change editor settings, preferences, configuration, themes, font size, tab size, format on save, auto save, keybindings, or any settings.json values.
Also in 3 projects that use this
- +2 more from 32103210
Other versions44 projects use a version of this.
Word for word · 1
- Yeachan-Heo/oh-my-claudecode★ 41k100% same
Edited · 0
None found.
Wrote their own version · 43
- simstudioai/sim★ 30ksame name
- nightly-labs/openbot★ 6.3ksame name
- nubjs/nub★ 4.4ksame name
- deadlock-mod-manager/deadlock-mod-manager★ 584same name
- OutThisLife/brooklyn-skills★ 207same name
- getlago/lago-front★ 163same name
- revisit-studies/study★ 46same name
- Scino/fstack★ 18same name
- ArangoGutierrez/claude-toolkit★ 4same name
- babs/skills★ 4same name
33 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 repository90 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- skills/AGENTS.mdAGENTS.md
- src/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- docs/CLAUDE.mdCLAUDE.md
- .github/CLAUDE.mdCLAUDE.md
- commandsSkill
- agent-doc-disciplineSkill
- ai-slop-cleanerSkill
- architectSkill
- architecture-surveySkill
- arenaSkill
- ask-navigatorSkill
- askSkill
- autopilotSkill
- autoresearchSkill
- benchmark-checklistSkill
- blast-radiusSkill
- broSkill
- cancelSkill
- configure-notificationsSkill
- correctSkill
- create-formal-verification-skillSkill
- create-verification-skillSkill
- debugSkill
- deepinitSkill
- deep-interviewSkill
- diagramSkill
- drydockSkill
- executeSkill
- external-contextSkill
- figure-it-outSkill
- fix-ciSkill
- fix-merge-conflictsSkill
- get-pr-commentsSkill
- graphSkill
- harborSkill
- hillclimbSkill
- howSkill
- hudSkill
- intentSkill
- interrogateSkill
- in-your-own-wordsSkill
- ketchupSkill
- ketchup-videoSkill
- launchSkill
- loftSkill
- maintain-formal-verification-skillSkill
- maintain-verification-skillSkill
- mapSkill
- minimal-code-disciplineSkill
- minimal-prose-disciplineSkill
- modelsSkill
- omc-doctorSkill
- omc-setupSkill
- personal-modeSkill
- omc-planSkill
- principlesSkill
- project-session-managerSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.
0
Common
Most of the 41 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 18
Keep an open PR moving toward merge-ready: watch its checks, review threads, and mergeability.
- Very specific: line 49
Treat aggregate mergeStateStatus=BLOCKED as blocked and UNKNOWN as waiting before allowing ready.
- Distinctive: line 90
Write it through the repository writer so header creation, locking, and validation are enforced.
- Distinctive: line 119
no checks configured → waiting until the same head SHA has shown no checks for a 60-second confirmation window.
- Distinctive: line 136
Never merge, never rebase, never force-push, never approve a review.
“Common” is measured: kept by at least 6 in 10 of the 41 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
Babysit
Keep an open PR moving toward merge-ready: watch its checks, review threads, and mergeability; act on what blocks them; and report evidence. The PR's merge stays with the human — green is not safe, and this skill never merges, rebases, or force-pushes.
When to use
- "get this PR green", "babysit PR #N", "address the review-bot comments"
- the user wants a PR they opened earlier driven to merge-ready while they are away
When not to use
- merely opening a PR (no monitoring is implied)
- the user asks to land or ship a green stack — that decision belongs to the user; report merge-readiness and stop
Loop
Declare the mode before the first poll: which PR, and whether bot comments are in scope.
- Read state via
gh:gh pr view <N> --json state,mergeable,mergeStateStatus,reviewDecision,isDraft,headRefOid,headRefNameandgh pr checks <N> --json name,bucket(bucket ispass/fail/pending/skipping/cancel). Normalize before classifying:mergeablearrives uppercased (MERGEABLE/CONFLICTING,UNKNOWNor empty while GitHub computes it), andreviewDecisionis an empty string when no review exists — notnone. Exit codes:gh pr checks --jsonexits 0 even when checks fail — judge bybucket, never the exit code; with no checks configured it exits 1 printing "no checks reported", which is the no-checks path, not an error. Treat aggregatemergeStateStatus=BLOCKEDas blocked andUNKNOWNas waiting before allowing ready. Confirm the first read reports the requested PR before acting on it. - Apply the watch-pr verdict policy (
src/features/watch-pr/policy.tssemantics, embedded below). Do not eyeball; classify. DeterminereviewRequiredfrom the repository's branch-protection settings (for example,gh api repos/OWNER/REPO/branches/BRANCH/protectionand therequired_pull_request_reviewsfield); a ruleset that requires reviews independently of classic branch protection counts the same way. Pass that boolean into the policy; do not treat an empty review decision as a blocker when the branch does not require approval. - Act on the verdict — every lane gets the polled identity: pass the
repo and PR number explicitly and verify the checkout sits on that PR's
head before mutating anything. Bare
gh pr checks/gh pr viewselect whatever PR owns the current branch, which need not be the one babysit polls.- failing check →
fix-ci(classify real/flaky/environmental, then fix; pass the target repo, PR number, head SHA, and base branch) - requested changes or unresolved review threads →
get-pr-commentson the polled repo and PR number — triage threads, then address each through the review lane; reply to threads you resolve; dismiss bot noise with a concrete reason instead of churning code. Read the threads surface (comments/reviewsvia the get-pr-comments fetch) even whenreviewDecisionis empty orapproved— a non-blocking review or a comment after approval leaves the decision clean while real threads stand — and never reportreadywhile an in-scope thread is untriaged - conflicts →
fix-merge-conflictsin its no-rebase mode, run on the polled PR's owned checkout: resolve with a merge commit only. Never rebase and never force-push here — this constraint overrides that skill's own-branch rebase option, because babysit's contract forbids both. If the branch is not ours to resolve, report to the branch owner instead - mergeability unknown → wait one interval and re-read; it is never an error
- draft or missing review → report what is missing; do not self-approve
- failing check →
Ledger discipline: watch verdicts (
ready/waiting/blocked/gone) are gate states, not verification — never write them into the verification ledger, whose vocabulary is separate. Append a verification ledger row (the writer's canonical path under OMC's state root) only when you executed a check yourself — e.g. afix-cirerun went green (unit-test-verified, with the command as evidence). One row per executed check, never per poll. Write it through the repository writer so header creation, locking, and validation are enforced. Resolve the installed package root the figure-it-out way: plugin-root variables first, then walk the installedoh-my-claudecodepackage from the working directory — and report the resolution failure instead of skipping the write:node --input-type=module -e "const {createRequire}=await import('node:module'); const path=await import('node:path'); const {pathToFileURL}=await import('node:url'); let root=process.env.CLAUDE_PLUGIN_ROOT||process.env.OMC_PLUGIN_ROOT; if(!root){ const req=createRequire(process.cwd()+'/package.json'); for (const name of ['oh-my-claude-sisyphus','oh-my-claudecode']) { try { root=path.dirname(req.resolve(name+'/package.json')); break; } catch {} } } if(!root) throw new Error('cannot resolve the installed package root; set CLAUDE_PLUGIN_ROOT or OMC_PLUGIN_ROOT'); const {appendLedgerEntry,defaultLedgerPath}=await import(pathToFileURL(root+'/dist/features/verification-ledger/index.js').href); await appendLedgerEntry(defaultLedgerPath(),{ts:new Date().toISOString(),kind:'babysit',ref:'<N>',sha:'<HEAD_SHA>',verdict:'unit-test-verified',evidence:'<command>',verifier:'babysit'});"The writer owns the exact seven-column TSV layout; do not append raw rows.
- Report: verdict, what changed since the last poll, what is still blocking, and the exact commands you ran. Every claim carries its evidence.
Poll with gh pr checks --watch or a sleep loop at a stated interval; state
the interval. Stop when the PR is merge-ready, merged, closed, or the user
says stop, and say which.
The verdict policy
Classification order, first match wins:
- conflicts,
mergeStateStatus=BLOCKED,DIRTY, orBEHIND→ blocked (merge conflicts or another aggregate gate; the branch owner decides the resolution) - any failed check → blocked (fix lane)
- any canceled check → blocked (bucket
cancel; rerun or clear it — a canceled check is not a green gate) - changes requested → blocked (review lane)
- branch protection or rulesets require reviews, and approval is missing → blocked (needs a human reviewer; never self-approve)
- mergeability or
mergeStateStatus=UNKNOWNorDRAFT→ waiting (re-poll; not an error).HAS_HOOKSis not a wait: GitHub defines it as mergeable with passing commit status and pre-receive hooks — the hooks belong to the merge attempt, so an otherwise green PR withHAS_HOOKSclassifies normally - pending checks → waiting
- no checks configured → waiting until the same head SHA has shown no
checks for a 60-second confirmation window; only then is the absence
real. A first sighting of "no checks" is never readiness. Before serving
that window, check whether the repo has PR-triggered workflows at all
(
.github/workflows/, or a run on another PR): when workflows exist but this head shows none — observed in the wild on path-filtered and skipped-event pushes — cross-checkgh run list --branch <head>; a persistent zero-run anomaly is blocked (investigate: path filters, base mismatch, skipped events), not a no-checks repo. - otherwise → ready, with the head SHA recorded in the proof
"Ready" means the gates you can see are green. It is not permission to
merge, and it is not verification of the change itself — that evidence
belongs to verify and the ledger.
Rules
- Never merge, never rebase, never force-push, never approve a review.
- A review-bot comment gets a skeptical read: real bugs are fixed, non-issues are dismissed with a concrete reason.
- One fix lane at a time; wait for its push before re-classifying.
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.

