skills/babysit-pr/SKILL.md
Autonomous PR monitor — polls every 2 minutes for merge conflicts, CI/CD failures across GitHub Actions, Buildkite, Vercel, and Fly.io, review comments, and merge readiness. Auto-detects PR from current branch, fixes what it can, notifies on state changes. No setup questions. Use when asked to babysit a PR, watch a PR, monitor CI, keep a PR green, handle merge conflicts, or poll PR status
npx skillsauth add mblode/agent-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.
Autonomous PR monitor. Detects the PR from your current branch and starts polling every 2 minutes. No setup questions — auto-detects everything and applies sensible defaults.
| File | Read When |
| --------------------------------- | ---------------------------------------------------------------------------------------------------- |
| references/github-api.md | Default: GraphQL queries for fetching, replying, and resolving threads |
| references/bot-patterns.md | Comment triage: bot detection, severity parsing, deduplication, false positive rules |
| references/fix-plan-template.md | Comment triage: generating the fix plan document |
| references/monitoring-setup.md | Default: CronCreate configuration, state file, defaults |
| references/ci-platforms.md | CI/CD check: gh for GitHub, Buildkite auth fallback chain, vercel/flyctl for platform logs |
| references/merge-conflicts.md | Conflict check: detecting and resolving merge conflicts |
Copy this checklist to track progress:
PR babysit progress:
- [ ] Phase 1: Initialize — auto-detect PR, snapshot state, start cron
- [ ] Phase 2: Conflict check — detect and resolve merge conflicts
- [ ] Phase 3: CI/CD check — poll checks, diagnose failures, fix and push
- [ ] Phase 4: Comment check — detect new comments, triage autonomously
- [ ] Phase 5: Readiness check — evaluate merge readiness, notify user
Load references/monitoring-setup.md for CronCreate configuration and defaults.
gh pr view --json number,url,title,headRefName,baseRefName,mergeable,mergeStateStatus,reviewDecision from the current branch. If no PR found, tell the user and stop. If a PR number was passed as an argument, use it directlygh repo view --json owner,name.claude/scratchpad/babysit-pr-{N}.md: current HEAD SHA, mergeable status, check statuses, unresolved thread count, review decisiongh pr checks to identify active platforms (GitHub Actions, Buildkite, Vercel, Fly.io)*/2 * * * * schedule running phases 2-5. Print a single confirmation:Monitoring PR #{N}: {title}
Polling every 2 minutes | Auto-resolve noise: yes | Auto-merge: no
Detected CI: {platforms}
Current state: {mergeable} | {reviewDecision} | {check_summary}
Load references/merge-conflicts.md for resolution strategy.
gh pr view --json mergeable,mergeStateStatus
MERGEABLE → skip to Phase 3CONFLICTING → proceed to resolveUNKNOWN → wait, recheck next cyclegit fetch origin {base_branch} && git rebase origin/{base_branch}
git push --force-with-lease → notify usergit rebase --abort → notify user with detailsNever force-push without --force-with-lease. If the lease fails, someone else pushed — abort and notify.
Load references/ci-platforms.md for platform-specific commands and the Buildkite auth fallback chain.
gh pr checks --json name,state,conclusion,detailsUrlgh run view --log-failed (GitHub Actions), Buildkite auth fallback chain (Buildkite), vercel logs (Vercel), flyctl logs (Fly.io)gh pr view --jsonmergeable == MERGEABLE (no conflicts)reviewDecision == APPROVEDWhen Phase 4 detects new comments, run this inline — no separate invocation needed.
Load references/github-api.md for query templates and references/bot-patterns.md for detection rules.
reviewThreads query with pagination. Filter to isResolved == falseFor each item:
CHANGES_REQUESTED, Minor for APPROVED + questionHuman comments are never auto-ignored. Always classify as fix unless clearly already resolved or explicitly marked optional by the reviewer.
.claude/scratchpad/pr-{N}-review-plan.md as audit trailOn stop, report a final summary: total polls, fixes applied, conflicts resolved, current state.
--force-with-lease — risks overwriting teammate commitsgithub-actions[bot] as always noise — it is a shared identity used by DangerJS, schema checkers, and other active tools. Classify by contentbk CLI without checking auth first — test with bk auth status and fall back to REST API or gh pr checksreview-pr for local self-review before pushing fixesdevelopment
Designs and builds UI end to end, from visual direction (palettes, type scales, design tokens, layout systems, landing-page CRO strategy, brand kits) to Tailwind implementation with the ui.sh design guideline system, including multiple variants with an in-browser picker, semantic markup scaffolds from screenshots, retrofitting dark mode or responsive behavior, and componentizing or canonicalizing Tailwind code. Use when asked to "build a landing page", "create a dashboard", "make this look good", "make this look premium", "pick a visual style", "design the UI for", "show me 3 hero options", "improve conversions", "create a brand kit", "turn this screenshot into markup", "add dark mode", "make a dark version of this image", "make this responsive", "fix this on mobile", "componentize this page", "clean up the Tailwind", or any prompt that designs, creates, or refines UI code. For auditing existing UI use ui-audit; for motion use ui-animation; for landing page copy use copywriting.
development
Collaborative interrogation that produces an implementation plan before any code is written. Explores the codebase and relevant docs first, asks one question at a time with a concrete recommended answer, grills the rationale behind documented decisions, flags fuzzy terminology, and walks a decision tree until shared understanding is reached, then writes a plan file. First step of the shipping pipeline; it creates plans, plan-reviewer stress-tests them, pr-creator opens the PR. Use when asked to "create a plan", "help me think through this", "plan this feature", "I want to build X", "grill me", "grill with docs", "understand the docs", "unpack the decisions", "brainstorm a spec", "what should the plan be", "think this through with me", or before starting any non-trivial implementation.
development
--- name: pr-reviewer description: Reviews the current local diff or branch and returns a read-only, severity-tiered findings report. It never edits files. Four modes: standard bug and compliance review, structural quality, AI slop detection, and whole-codebase security audit. Use when asked to run /pr-reviewer, "review my changes", or "code review" before commit, push, or handoff. "Thermo-nuclear review", "structural review", "deep code quality audit", "harsh maintainability review", and "code
development
--- name: ux-audit description: Feature-level UX audit for React/Next.js code, diff-aware by default. Catches what Lighthouse, axe, ESLint, and Storybook miss: state-coverage gaps (missing loading/empty/error), form data loss on validation, double-submit, broken focus management, optimistic UI without rollback, stale async responses, skeleton-induced layout shift, and vague microcopy. 33 modern failure-mode rules plus 30 Laws of UX rules across 12 feature playbooks. Produces a 3-tier ship-readin