babysit
Use when the user asks to babysit a pull request: watch it for review comments from bots and human reviewers, fix what is real, resolve the threads, and keep…
Skill by mia-cx
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/mia-cx-babysit
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Network hosts it talks to 2
cli.github.com· found in codecodeload.github.com· found in install command
Files it touches
~/.claude/skills/babysit
What's inside
- Skill name
babysit- Description
- Use when the user asks to babysit a pull request: watch it for review comments from bots and human reviewers, fix what is real, resolve the threads, and keep watching until it is green and mergeable. A request for a fresh review pass or a review loop is review-relay, not babysitting.
- License
- CC0-1.0
- Instructions
- 69 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Files (3)
- SKILL.md
- watch.sh · scripts/
- watch.test.mjs · scripts/
SKILL.md (first lines)
# Babysit a pull request Fix review findings until the current head is clean, green, and mergeable, then stop. The reviewers are whoever already posts on it: Pullfrog, other review bots, and humans. You are the fixer. **Babysit runs no reviewer of its own and never invokes `review-relay`.** The relay recruits a fresh reviewer every lap; babysitting reacts to the ones already on the PR. If the PR needs another opinion, the user asks for it separately. ## Setup 1. Identify the PR: the number the user gave, else `gh pr view --json number,url,headRefName,baseRefName,headRefOid` from the current branch. `gh repo view --json nameWithOwner` gives `OWNER/REPO`. 2. Find the PR's linked open issues and a relevant GitHub Project for each. Reuse an attached project, or use a relevant project for the repository and add the issue to it. If neither exists, skip status tracking. Move each tracked issue to **In Review**. 3. Baseline: run the project's checks (tests, typecheck, lint, build) and record what passes and what already fails. A fix is only verifiable against a recorded baseline. 4. Read the verification bar once: the sections "What counts as real", "The trigger test", and "Fixing" in [review-relay](../review-relay/SKILL.md). Those govern which comments become code changes. The rest of that skill (lineup, legs, relay log, reviewer prompt) stays closed. 5. Run one tick over the backlog: every unresolved review thread and every unanswered conversation comment already on the PR. 6. Check **Done** before starting the watch. If already done, report once and end the turn. ## The watch Report findings as currently known, because later reviews can raise more after every fix. Say "one finding is currently open"; never say "one remaining" or imply the next fix ends review. Claim completion only when **Done** is verified. ```bash ~/.agents/skills/babysit/scripts/watch.sh OWNER/REPO N --once # [base=60s] [max=900s] ``` One line per event: a new conversation comment, inline comment, or review; CI changes; the head moving. `green <sha>`, `merged`, and `closed` are terminal events: the script exits and clears its state. On `green`, finish the current tick, verify **Done**, report once, and end the turn. Bodies carrying the gh-comment attribution header are skipped, so your own replies never re-trigger a tick. **The script decides when to look.** It backs off exponentially from the base to the max while nothing happens and resets on an event. It remembers bot latency after a push so later rounds start near that wait. State lives in one file per PR under `$TMPDIR` until a terminal event. **Never poll the watcher.** Polling its process, session, output, or logs duplicates the script's work and wastes tokens. Repeated short `write_stdin`, `wait`, or `tail` calls count as polling too. **Every watcher invocation must include `--once`.** This makes the next event batch end the process, so completion resumes the task without polling. Launch it with the runner's longest timeout and await completion, directly or through a completion notification. Read the emitted events, perform the tick, and start another `--once` run only if **Done** remains unmet. Never launch the continuous mode, including through an event monitor. A tool returning a session ID is not a watcher event. Use its completion notification or one blocking wait at the longest supported timeout; do not turn a yielded call into a loop of short checks. Restart after a hard timeout only when the previous process has actually stopped. If the host supports neither event delivery nor blocking completion, report that limitation once instead of substituting a polling loop. While waiting, make no extra PR requests and send no unchanged-status messages such as "Pullfrog has not finished yet." Resume on an event, process exit, or user input. Silence means wait only while **Done** remains unmet. Once done, stop the monitor or watcher and end the turn. Late feedback requires a new babysit request. ## The tick 1. **Collect.** Unresolved, non-outdated review threads (the GraphQL query in review-relay "Discussion thread mechanics") plus conversation comments since the last tick. Bots and humans get the same treatment. 2. **Verify.** Read the cited code before acting. Apply the trigger test to every claim. Real: fix it. Imaginary: reply with the code path that prevents it. Real but larger than this PR: leave the thread unresolved and name it as a blocker. A question gets an answer, not a change, unless the answer is a change. 3. **Fix**, per review-relay "Fixing": reproduce, smallest coherent change in the current worktree, re-run the baseline, read the diff. Commit and push through the `git-commit-and-push` skill, skipping only its issue-linking step: the PR already carries the link. 4. **Reply and resolve** every thread through the `gh-comment` skill (attribution header, body in a file). Replies follow say-less: fixed is the SHA plus one sentence on what changed and how it was verified; rejected is the code path, one or two sentences. Then resolve the thread. Deferred blockers stay open. 5. **Re-trigger** bots that need a nudge, only after a push: `@codex review` only when the user opted in for this run. Bots that review on push need nothing, and CodeRabbit reviews on its own schedule; leave it untriggered. A human review still at "changes requested" gets re-requested: `gh pr edit N --add-reviewer <login>`. 6. **Check Done.** Return to the watch only if it is unmet. ## Done All true for the current pushed head: - Required CI passes, or a failure is proven unrelated and named. - If Pullfrog reviews this PR, its latest review is clean on the exact current head. A successful workflow only means it ran; findings are not a clean verdict. - `gh pr view N --json mergeable` reports `MERGEABLE`. - Zero unresolved threads or deferred blockers. A blocker needs a user decision, not more idle watching. - No outstanding changes-requested verdict. - Local checks pass with nothing regressed from the baseline. Worktree and pushed head agree. Then post one conversation comment through `gh-comment` in this shape, header included: ```md Green and mergeable at `<sha>`. Resolved <n> threads: <one line per fix: SHA, what changed>. Deferred: <blocker and why, or "nothing">. ``` Stop watching after this comment and end the turn. Do not merge; `pr-merge` is a separate request.
From mia-cx/skills, CC0-1.0.
More from mia-cx/skills
- 0.619score
prd-to-issues
mia-cx
Use when the user asks to break down a PRD into issues or create implementation tickets.
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
critical-thinking
mia-cx
Use when the user gives a sparse or underspecified request, a multi-step or agentic task, an unfamiliar problem, or examples to learn from, and whenever you…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
gh-comment
mia-cx
Use when posting, editing, or replying to anything on GitHub under the user's account: pull request and issue comments, inline comments on a diff line…
SkillAFreshness: A★ 5Claude Code +9 - 0.618score
codex-computer-use
mia-cx
Use when the user asks to test a flow, verify UI behavior, inspect a running app, or capture screenshots.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
codex-review
mia-cx
Get an independent code review from Codex (gpt-6.1-sol) through T3's delegate_task — uncommitted changes, a branch diff, a commit, or a specific implementation.
SkillAFreshness: A★ 5Claude Code +9 - 0.598score
logo-design
mia-cx
Use when the user asks to design a logo, mark, or app icon for a project, or to draw a construction grid for a logo.
SkillAFreshness: A★ 5Claude Code +9 - 0.590score
address-issue
mia-cx
Use when the user asks to address or implement an issue.
SkillAFreshness: A★ 5Claude Code +9 - 0.583score
implement
mia-cx
Implement a piece of work based on a spec or set of tickets.
SkillAFreshness: A★ 5Claude Code +9 - 0.579score
next-slice
mia-cx
Advance to the next PRD slice after a merge: clean up the finished worktree and branch, fast-forward main, pick the next unblocked sub-issue of the PRD, set…
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
how-to-review
mia-cx
Use stage 1 every time you write, edit, or audit code.
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
momentum
mia-cx
Shape output for ADHD readers: lower the cost of starting and keep work visibly moving with a small first action, numbered steps, visible wins.
SkillBFreshness: B★ 5Claude Code +9 - 0.579score
git-commit-and-push
mia-cx
Splits uncommitted changes into a small set of logical, single-concern git commits, then executes the commits and pushes to remote.
SkillBFreshness: B★ 5Claude Code +9
Signals
- Stars
- 5
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 6, 2026 (23 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- CC0-1.0
- Repository
- github.com/mia-cx/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from mia-cx
- 0.619score
critical-thinking
mia-cx
Use when the user gives a sparse or underspecified request, a multi-step or agentic task, an unfamiliar problem, or examples to learn from, and whenever you…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
gh-comment
mia-cx
Use when posting, editing, or replying to anything on GitHub under the user's account: pull request and issue comments, inline comments on a diff line…
SkillAFreshness: A★ 5Claude Code +9 - 0.619score
prd-to-issues
mia-cx
Use when the user asks to break down a PRD into issues or create implementation tickets.
SkillAFreshness: A★ 5Claude Code +9 - 0.618score
codex-computer-use
mia-cx
Use when the user asks to test a flow, verify UI behavior, inspect a running app, or capture screenshots.
SkillAFreshness: A★ 5Claude Code +9 - 0.616score
codex-review
mia-cx
Get an independent code review from Codex (gpt-6.1-sol) through T3's delegate_task — uncommitted changes, a branch diff, a commit, or a specific implementation.
SkillAFreshness: A★ 5Claude Code +9 - 0.598score
logo-design
mia-cx
Use when the user asks to design a logo, mark, or app icon for a project, or to draw a construction grid for a logo.
SkillAFreshness: A★ 5Claude Code +9
Cite this page
babysit skill. Agent Mart. https://agentmart.dev/skills/mia-cx-babysit (last updated 2026-10-24)