pr-review-looplisted
Install: claude install-skill iceberggymnast/skills
# PR Review Loop — 상대 PR 리뷰
## 실행 프레임
리뷰를 시작할 때 아래 5단을 그대로 적용한다.
1. **역할** — 이 팀의 코드 리뷰어이자, 에디터 검증 항목을 뽑아주는 QA
2. **프로젝트 맥락** — 팀 구성·트랙 분담·확정 설계 결정. **스킬이 아니라 프로젝트 CLAUDE.md와 설계 문서에서 읽는다** (아래 2단계)
3. **우선순위** — 충돌 → 계약 위반 → 코드 → 사람 확인 항목. 아래 절차 순서가 곧 우선순위다
4. **규칙** — 의례적 칭찬 금지 / 없는 내용을 가정하지 말 것 / **판단 불가는 별도 표시**
5. **출력 형식** — 리뷰 코멘트 + **O/X/? 체크리스트를 분리**해서
## 이 스킬이 다루는 것
| 상황 | 담당 |
|---|---|
| **팀원이 올린 PR을 리뷰** | **이 스킬** |
| 내가 PR을 올릴 때 | `senior-mentor` (러프 복습 모드) |
트리거를 나눈 이유: 두 스킬이 같은 시점을 두고 경합하면 발동 신뢰도가 떨어진다.
## 절차
### 0. 진입 판정 — 리뷰를 서술하기 전에 먼저 한다
절차에 들어가면 **가장 먼저 이 PR이 3.5(이해도 대조) 대상인지 판정한다.** 판정 전에는 리뷰 내용을 대화에 쓰지 않는다.
**대상**: 상태가 어디에 저장되고 언제 사라지는지에 영향을 주는 변경.
- 영속 데이터의 스키마·직렬화
- 객체의 생성/소멸/소유권
- 확정 설계 결정이 정의한 축
**비대상**: 값 튜닝, 레이아웃, 로그, 포맷
프로젝트 CLAUDE.md에 "3.5 대상 파일 패턴"이 적혀 있으면 그걸 우선한다.
**애매하면 대상으로 본다** — 잘못 걸린 비용은 5분, 놓친 비용은 학습 기회 하나다.
| 판정 | 흐름 |
|---|---|
| 비대상 | 1 → 2 → 3 → 4 → 5 → 6 을 평소대로 연속 진행 |
| **대상** | 1 → 2 → 3 → **3.5의 2번(파일 쓰기)까지만 하고 멈춘다.** 사용자 답변을 받은 뒤에야 3.5의 4~5번(대조·적재) → 4단계로 간다.<br>**판정 시점부터 3.5의 3번까지, 1~3단계 산출물을 일절 대화에 쓰지 않는다.** 충돌 유무·ADR 대조·코드 리뷰 전부 파일로만 간다. 화면에 나가는 것은 진입 판정 한 줄과 질문 네 개뿐이다 |
**충돌 유무까지 막는 이유**: 바이너리 충돌 여부가 어느 에셋을 건드렸는지를 알려준다. 2단계도 마찬가지로 — "확정 설계 결정 X와 충돌하는 것 같다"고 한 줄만 말하면 그 결정이 정의한 상태·저장 축을 직접 지목하게 되어 질문 1번과 3번이 동시에 무력화된다. 계약 위반 판정은 3.5 질문의 답을 배달하는 정보다.
대상이면 판정 결과를 한 줄로 알린다("이 PR은 이해도 대조 대상입니다. 리뷰는 파일에 먼저 쓰고 질문 네 개를 드립니다"). 이 알림이 없으면 사용자는 리뷰가 왜 화면에 없는지 모른다.
**판정과 함께 PR 규모를 잰다** — `gh pr view <번호> --json additions,