| name | pr-babysitter |
| description | 일정 간격(예 15분)마다 watch 라벨이 붙은 열린 PR들을 점검해서 — 리뷰어를 넛지하고, CI를 고치고, main보다 뒤처졌으면 rebase 하는 인터벌 루프입니다. 사용자가 "열린 PR들 주기적으로 돌봐줘", "PR babysitter", "PR 상태 15분마다 체크해서 CI 고치고 rebase 해줘", "watch 라벨 PR 관리", "babysit my PRs", "keep PRs green on a schedule"처럼 여러 PR을 주기적으로 건강하게 유지하고 싶을 때 사용하세요. (구분: 단일 PR을 머지 가능 상태까지 끌고 가는 건 looping:ship-pr-until-green, 원격 CI 한 건만 감시하는 건 looping:ci-failure-watcher, 머지된 PR 알림 감시는 looping:pr-watch-loop) |
PR 베이비시터 (PR Babysitter)
15분마다 watch 라벨이 붙은 열린 PR을 점검: 리뷰어 넛지, CI 수정, main보다 뒤처지면 rebase.
| 항목 | 값 |
|---|
| 카테고리 | CI |
| 트리거 | 인터벌(interval) — 기본 15분마다 |
| 종료 조건(Exit) | watch 대상 PR이 전부 green·최신화되었거나, 명확한 블로커와 함께 에스컬레이션됨 |
| 반복 한도(Max iterations) | 20 |
| 매 반복 체크 명령 | gh pr list --label "codex-watch" |
| 가드레일 | 강화됨(Hardened) |
| 지원 에이전트 | Claude Code · Cursor · Codex |
이 루프는 언제 쓰나
여러 PR이 동시에 떠 있고, 각각 CI가 빨개지거나 main에 뒤처지거나 리뷰가 멈추는 일이 잦을 때 씁니다. 사람이 일일이 들여다보는 대신, 정해진 간격마다 에이전트가 watch 라벨이 붙은 PR만 골라 자동으로 돌봅니다. 사람의 제품 판단이 필요한 머지 충돌·드래프트는 건드리지 않고 에스컬레이션합니다.
루프 흐름
〔15분마다〕→ watch PR 목록 → 각 PR 트리아지 → 블로커 에스컬레이션 →〔피드백 게이트〕
전부 green/rebase/에스컬레이션됨? → 아니오: 다음 틱에 반복 / 예: 종료
매 반복(pass)마다 하는 일
- watch PR 목록 — watch 라벨이 붙은 열린 PR을 나열합니다. 머지됨·드래프트·사람 판단이 필요한 충돌 전용 PR은 건너뜁니다.
gh pr list --label "codex-watch" --json number,title,mergeable,statusCheckRollup
- 각 PR 트리아지 — PR마다: CI가 실패면 한 번 고치고, main보다 뒤처졌으면 rebase, 리뷰가 멈췄으면 짧은 상태 코멘트를 남깁니다.
- 블로커 에스컬레이션 — 제품 결정이 필요한 머지 충돌, 또는 같은 실패가 두 번 반복되면 멈추고 블로커를 명확히 보고합니다.
가드레일 (점수 조작 방지 규칙)
- 체크 명령이나 종료 기준을 고쳐서 억지로 성공시키지 않는다.
- 체크를 건너뛰거나 우회해서 종료 조건을 통과시키지 않는다.
- 여러 번 반복해도 막히면, 지표를 조작하지 말고 멈추고 블로커를 보고한다.
Claude Code에서 실행하기
이 루프는 시간 기반(인터벌) 입니다. Claude Code에서 인터벌 루프를 돌리는 방법은 두 가지입니다.
방법 1 — /loop (이번 세션 동안 주기 실행)
/loop 15m "PR 베이비시터(PR Babysitter)" 루프를 시작합니다.
목표: codex-watch 라벨이 붙은 열린 PR들이 건강함(CI green, rebase 최신, 리뷰 안 멈춤).
최대 반복: 20.
매 반복 사이 실행: gh pr list --label "codex-watch"
종료 조건: watch 대상 PR이 각각 green·최신이거나 에스컬레이션될 때.
1단계: watch PR을 나열한다. CI는 한 번 고치고, 뒤처지면 rebase, 멈췄으면 코멘트한다.
반복되는 실패는 에스컬레이션한다.
방법 2 — /schedule (세션을 닫아도 도는 cron형 클라우드 에이전트)
세션을 꺼도 계속 돌게 하려면 /schedule로 위 프롬프트를 cron(예: */15 * * * *)에 등록하세요. 장시간 무인 감시에 적합합니다.
전제: gh CLI가 인증되어 있어야 하고, 돌볼 PR에 codex-watch(원하는 이름으로 변경 가능) 라벨을 붙여 두어야 합니다.
팁 / 변형
- 라벨 변경:
codex-watch를 팀 컨벤션(needs-babysit, auto 등)에 맞게 바꾸세요.
- 간격 조정: CI가 느리면
/loop 30m처럼 늘리고, 출시 직전에는 5m으로 좁히세요.
- 연관 루프: 단일 PR 완주는
looping:ship-pr-until-green, CI 한 건 감시는 looping:ci-failure-watcher.
원본 영어 kickoff (loops.elorm.xyz 원문)
/loop 15m Start the "PR Babysitter" loop.
Goal: open PRs labeled codex-watch are healthy (CI green, rebased, not stale).
Max iterations: 20.
Between iterations run: gh pr list --label "codex-watch"
Exit when: each watched PR is green and current, or escalated.
Step 1: List watched PRs. Fix CI once, rebase if behind, comment if stale. Escalate repeated failures.
출처: https://loops.elorm.xyz/loops/pr-babysitter