From vibe-extras
Babysits GitHub PR until merge-ready by running pr-merge-prep every 10 minutes, monitoring CI status, reviews, and conflicts, then asks for explicit merge confirmation.
npx claudepluginhub doodledood/claude-code-plugins --plugin vibe-extrasThis skill uses the workspace's default tool permissions.
**User request**: $ARGUMENTS
Babysits GitHub PRs by polling CI checks, workflow runs, reviews, and mergeability until merge-ready; diagnoses failures, retries flakies up to 3x, pushes fixes when appropriate, stops for user help.
Autonomously resolves PR merge blockers: conflicts, CI failures, review comments; syncs description and requests re-review. For unattended cron execution via loop skill.
Tends PRs to merge-readiness: classifies comments (bot/human, actionable/FP), fixes via manifest amendment or babysit mode, tends CI, syncs description, confirms before merge.
Share bugs, ideas, or general feedback.
User request: $ARGUMENTS
Thin orchestration wrapper: start a recurring pr-merge-prep loop, monitor the PR until it reaches merge-ready state, stop the loop, and ask the user whether to merge. Never merge without explicit user confirmation.
If PR number/URL is in $ARGUMENTS, use it. Otherwise detect from the current branch via gh pr view --json number,url,title,isDraft.
If no PR found, report and stop. If PR is draft, report "PR is draft — nothing to babysit" and stop.
Invoke the loop skill with: "10m /pr-merge-prep $PR_IDENTIFIER"
This starts pr-merge-prep running every 10 minutes in the background.
After starting the loop, immediately run a readiness check (don't wait 10 minutes for the first one). Then continue checking after each loop iteration.
Readiness check — run gh pr view $PR_NUMBER --json mergeable,reviewDecision,statusCheckRollup,reviewRequests,comments and evaluate:
| Condition | Ready? |
|---|---|
| All CI/status checks pass (no pending, no failing) | Required |
| No unresolved review threads | Required |
| No merge conflicts (mergeable != CONFLICTING) | Required |
| Review decision is APPROVED or no reviewers assigned | Required |
If all conditions met: PR is merge-ready. Proceed to step 4. If not ready: Log what's still blocking and let the loop continue. The next pr-merge-prep iteration will work on remaining blockers.
When the PR is merge-ready, stop the cron schedule that was created in step 2. Use CronDelete to remove it.
CRITICAL: Never merge automatically. Always ask.
Report the PR status summary to the user:
Then ask the user: "PR is ready to merge. Would you like me to merge it?"
gh pr merge $PR_NUMBER --merge (or --squash/--rebase if user specifies)