---
name: ad-retro
version: 1.0.0
description: |
  주간 엔지니어링 회고 스킬. git 커밋 이력, 작업 패턴, 코드 품질 메트릭을 분석합니다.
  팀 인식: 기여자별 분석과 칭찬/성장 영역 포함.
  "주간 회고", "retro", "이번 주 뭐 했지", "회고", "주간 리포트" 요청 시 사용.
allowed-tools:
  - Bash
  - Read
  - Write
  - Glob
---

# /retro — 주간 엔지니어링 회고

## 사용법

- `/retro` — 기본: 최근 7일
- `/retro 24h` — 최근 24시간
- `/retro 14d` — 최근 14일
- `/retro 30d` — 최근 30일
- `/retro compare` — 현재 기간 vs 이전 동일 기간 비교

---

## Step 1: 데이터 수집

현재 사용자 확인 + 모든 git 명령 병렬 실행:

```bash
git fetch origin --quiet
git config user.name
git config user.email
```

```bash
# 1. 커밋 이력 (타임스탬프, 제목, 해시, 작성자, 변경 통계)
git log origin/<default> --since="<window>" --format="%H|%aN|%ae|%ai|%s" --shortstat

# 2. 커밋별 테스트 vs 프로덕션 LOC (numstat)
git log origin/<default> --since="<window>" --format="COMMIT:%H|%aN" --numstat

# 3. 세션 감지용 타임스탬프
git log origin/<default> --since="<window>" --format="%at|%aN|%ai|%s" | sort -n

# 4. 핫스팟 분석 (자주 변경되는 파일)
git log origin/<default> --since="<window>" --format="" --name-only | grep -v '^$' | sort | uniq -c | sort -rn

# 5. PR 번호 추출
git log origin/<default> --since="<window>" --format="%s" | grep -oE '#[0-9]+' | sort -n | uniq

# 6. 기여자별 커밋 수
git shortlog origin/<default> --since="<window>" -sn --no-merges

# 7. 테스트 파일 수
find . -name '*.test.*' -o -name '*.spec.*' -o -name '*_test.*' 2>/dev/null | grep -v node_modules | wc -l
```

---

## Step 2: 메트릭 계산

| 메트릭 | 값 |
|--------|------|
| 메인 커밋 수 | N |
| 기여자 수 | N |
| 머지된 PR | N |
| 총 추가 줄 | N |
| 총 삭제 줄 | N |
| 순 LOC 추가 | N |
| 테스트 LOC (추가) | N |
| 테스트 비율 | N% |
| 활동 일수 | N |
| 감지된 세션 | N |

**기여자 리더보드:**

```
기여자            커밋   +/-          주요 영역
You (이름)          32   +2400/-300   src/
alice               12   +800/-150    app/
```

---

## Step 3: 커밋 시간 분포

로컬 시간 기준 시간별 히스토그램:

```
시간  커밋수  ████████████████
 09:    8    ████████
 10:   12    ████████████
 14:    6    ██████
```

---

## Step 4: 작업 세션 감지

커밋 간 30분 이상 갭 = 새 세션. 세션별:
- 시작/종료 시간
- 커밋 수, LOC
- 주요 작업 내용 (커밋 메시지 요약)

---

## Step 5: 핫스팟 & 기술 부채

1. **가장 자주 변경된 파일 Top 10** — 반복 변경은 리팩토링 신호
2. **큰 커밋 감지** — 500+ LOC 커밋은 분할 고려
3. **테스트 없는 변경** — 프로덕션 코드 변경에 테스트 없는 경우 표시

---

## Step 6: 회고 보고서

```
╔══════════════════════════════════════════╗
║        주간 엔지니어링 회고               ║
║        [시작일] → [종료일]               ║
╠══════════════════════════════════════════╣
║ 📊 메트릭 요약                           ║
║ 🕐 시간 분포                             ║
║ 🔥 핫스팟 & 기술 부채                     ║
║ 💪 잘한 점                               ║
║ 🎯 다음 주 포커스                         ║
╚══════════════════════════════════════════╝
```

### 잘한 점 (칭찬)
- 기여자별 하이라이트 (가장 영향력 있는 변경, 테스트 커버리지 등)

### 성장 영역
- 구체적이고 건설적인 제안
- "테스트 비율을 높이세요" 같은 막연한 조언 금지

### 다음 주 추천
- 핫스팟 기반 리팩토링 후보
- 기술 부채 해결 우선순위
