active/babysit-pr/SKILL.md
Watch a pull request and CI until green or needing fixes.
npx skillsauth add kevinslin/skills babysit-prInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill when the user asks to babysit, watch, or keep an eye on a pull request until review comments and CI are settled.
gh pr view when possible; otherwise ask for the PR.gh is available and authenticated for the PR repo.babysit-pr: owner/repo#123.If the runtime has no first-class thread automation API, emulate the loop in the current agent thread with timed sleeps and state that no persistent automation API was available.
Poll every 2 minutes until the pass condition or a terminal stop condition is reached.
At each poll:
gh pr view <pr> --json comments,reviews,reviewDecision,mergeStateStatus,mergeable,baseRefName,headRefName,headRefOid.pullRequest.reviewThreads, including unresolved, non-outdated threads and requested changes.mergeStateStatus of DIRTY or mergeable of CONFLICTING as a PR branch conflict.gh pr checks <pr> or gh pr view <pr> --json statusCheckRollup.headRefOid, group runs by stable check identity: prefer workflowName + name when both exist, otherwise use the provider check name plus provider/source as the identity.startedAt/completedAt/provider timestamp. Older failed, errored, cancelled, neutral, or pending runs for the same check identity are superseded once a newer run exists for the same PR head.trigger:check-ci from ../dev.shortcuts/SKILL.md when checks need deeper Buildkite/provider classification.gh run view <run-id> --job <job-id> --log or the provider CI equivalent when available. If gh cannot write to its default cache location, set XDG_CACHE_HOME to a writable temp directory for the log fetch. Treat rollup status names as pointers, not evidence.When any conflict issue is found:
mergeStateStatus, mergeable, and any GitHub merge-conflict URL.trigger:fix-pr-conflict from ../dev.shortcuts/SKILL.md with the PR and conflict evidence.When any GitHub or build issue is found:
trigger:fix-pr from ../dev.shortcuts/SKILL.md with the PR and evidence. Do not hand-roll PR comment cleanup inside this skill; trigger:fix-pr owns addressing feedback, committing/pushing when needed, resolving addressed review threads, and checking CI.pullRequest.reviewThreads through GraphQL and verify that every addressed thread has isResolved: true. If any actionable or addressed-but-unresolved thread remains, treat that as a GitHub issue and invoke trigger:fix-pr again with the remaining thread ids/URLs as evidence.Do not mark the babysit loop complete immediately after a fix. Completion requires a fresh quiet-green window.
Complete only after all of these are true:
Reset the 10-minute timer whenever a new commit appears, CI stops being green, or new actionable GitHub activity appears.
When the pass condition is met:
../gen-notifier/SKILL.md to send exactly one completion notification.If the loop hits an unrecoverable error, delete or cancel the automation when possible, notify with an error status through ../gen-notifier/SKILL.md, and report the blocker.
development
Generate incremental Slack digests for channels, topics, and categories.
testing
Audit an OpenClaw maturity-scorecard surface into an evidence-backed component score report. Use when given a surface from an OpenClaw maturity-scorecard.md and asked to score coverage, quality, readiness, or generate a detailed surface report plus per-component subreports.
tools
Turn an existing concrete spec into a reusable generic spec template. Use when asked to create a generic spec, template spec, reusable implementation template, or generalized version of a spec from a specific implementation such as one plugin, channel, integration, feature, or PR.
data-ai
Trace how something works with an investigator subagent and a skeptical reviewer subagent.