tldrlisted
Install: claude install-skill dong-park/pharos
# tldr — PR 변경사항 한 화면 리뷰
PR(또는 현재 브랜치 diff)을 함수 외형 + 변경 부위만 추출한 **스켈레톤 형태**로 압축하고, 도메인 사고 흐름과 의도적으로 변경 안 한 것까지 한 화면에 담는다. 단순 diff 나열이 아니라 reviewer가 30초 안에 "무엇이/왜/어디까지/어디서 안 함"을 흡수하게 만드는 게 목적이다.
## 왜 스켈레톤인가
| 그냥 diff 보기 | 스켈레톤 리뷰 |
|---|---|
| 함수 컨텍스트 없이 ± 라인만 봐서 의도 파악 어려움 | 함수 시그니처 + 변경 라인을 함께 노출 |
| 어떤 가드/분기가 추가됐는지 흩어져 있음 | ❌ / ✅ 표기로 before/after 동시 비교 |
| "왜 이 변경을 안 했는가"가 PR 본문 어딘가 묻힘 | "변경 안 한 것 + 이유" 별도 표 |
| 사고 흐름과 차단 지점이 별개 문서 | 사고 흐름 다이어그램에 차단 지점 표기 |
| 머지 가능 여부가 reviewer 머릿속 합 | 축별 판정 표로 명시 |
## 원칙
- **함수 시그니처는 항상 동반한다.** 변경 라인만 떼서 보여주지 않는다 — reviewer가 어디서 무엇이 바뀌는지 즉시 파악 못 한다.
- **변경 안 한 것을 명시한다.** 사전 결함, 후속 이슈, 가드 추가를 의도적으로 안 한 것 등. "Show, don't tell" — 무엇을 의도적으로 두었는지가 무엇을 했는지만큼 중요하다.
- **누적 라인 수를 강조한다.** 초기 PR이 점진적으로 축소됐다면 "X → Y줄" 형태로 보여준다 — 최소 변경 원칙이 적용됐다는 신호.
- **사고 흐름이 있는 PR은 다이어그램화한다.** 버그 fix처럼 root cause → 차단 지점이 명확한 경우, ASCII 다이어그램으로 어디서 막혔는지 시각화.
- **spec/test 파일은 케이스명만 나열한다.** 본문 코드는 안 펼친다 — describe/it 한 줄씩.
## 사용법
```
/tldr # 현재 브랜치 PR (gh pr view) 자동 감지
/tldr <PR번호> # 특정 PR 번호
/tldr <repo>#<번호> # 다른 repo PR (예: zootopiaFresh/zootopia_api#835)
/tldr --local # PR 없이 master...HEAD diff만으로
```
서브모듈 모노레포면 각 서브모듈 PR을 자동으로 함께 수집한다.
---
## pharos 프로토콜
```bash
source "$HOME/.claude/skills/_shared/pharos-helpers.sh"
pw set-status phase "TLDR" --icon "🦴" --color "#6366F1"
pw set-progress 0.0 --label "Skeleton: 시작"
pw set-progress 0.3 --label "Skeleton: diff 추출"
pw set-progress 0.6 --label "Skeleton: 함수 컨텍스트