Files
game-fe-agent/.claude/skills/work-code-reviewer/SKILL.md
2026-05-21 21:56:04 +09:00

110 lines
3.0 KiB
Markdown

---
name: work-code-reviewer
description: |
현재 브랜치 변경 코드 또는 특정 파일을 받아 팀 공통 지침 기준으로 종합 리뷰를 수행합니다.
컨벤션, 로직, 보안, 성능, 접근성을 통합 검토하고 우선순위별 리포트를 생성합니다.
다음 상황에서 반드시 사용하세요:
- "변경된 코드 리뷰해줘", "이 파일 코드 리뷰해줘"
- PR 올리기 전 셀프 리뷰가 필요할 때
- 특정 파일의 전반적인 품질을 점검할 때
---
# 코드 리뷰어 (work-code-reviewer)
변경 코드 / 파일 → 컨벤션 · 로직 · 보안 · 성능 통합 리뷰 → 우선순위별 리포트.
## 언제 사용하는가
- MR 올리기 전 셀프 리뷰 / 사전 점검
- 특정 파일의 전반적인 코드 품질 검토
- 리뷰 요청 전 자가 진단
## 입력
- `git diff` 출력, 파일 경로 목록, 또는 코드 스니펫
- (선택) 리뷰 초점 (컨벤션 / 로직 / 보안 / 전체)
---
## 작업 순서
### Phase 1: 검토 범위 파악
1. 대상 파일 또는 diff를 읽는다.
2. 파일 유형별로 적용할 검토 항목을 결정한다.
- `.vue` → 컨벤션 + 컴포넌트 구조 + 접근성
- `.ts` → 타입 안전성 + 로직
- `server/` → 보안 + 에러 핸들링
- `stores/` → 상태 관리 패턴
- `composables/` → 부수효과 최소화
### Phase 2: 통합 체크리스트
#### 코드 품질
- [ ] 함수/파일 단일 책임 원칙
- [ ] 중복 코드 없음 (재사용 가능 composable/유틸 추출 여부)
- [ ] 매직 넘버/문자열 → 상수 또는 i18n 키
- [ ] 불필요한 `console.log` 제거
#### 타입 안전성
- [ ] `any` 타입 미사용
- [ ] 외부 API 응답 타입 정의
- [ ] 함수 파라미터/반환 타입 명시
#### 에러 핸들링
- [ ] API 호출 try-catch 또는 onError 처리
- [ ] 에러 상태 UI 존재 여부
- [ ] 엣지 케이스 (null, undefined, 빈 배열) 처리
#### 성능
- [ ] 불필요한 watch / watchEffect 없음
- [ ] computed 캐싱 활용
- [ ] 과도한 reactive 래핑 없음
#### 보안
- [ ] `v-html` 입력 새니타이징
- [ ] 민감 정보 하드코딩 없음
- [ ] 클라이언트 노출 불필요한 데이터 없음
#### Vue 컨벤션 (`.vue` 파일)
`verify-component-review` 스킬의 체크리스트 전체 적용.
### Phase 3: 리뷰 코멘트 작성
`work-mr-reviewer`의 코멘트 형식과 동일:
- 🚨 Critical / ⚠️ Warning / 💡 Nit 3단계 분류
- 파일명:라인번호 명시
- 수정 코드 예시 포함
### Phase 4: 요약
개선 전/후 예상 품질 변화를 간단히 서술한다.
---
## 출력 형식
```
## 코드 리뷰: <파일명 또는 기능명>
### 검토 요약
- 파일: N개
- 주요 이슈: [컨벤션 | 로직 | 보안 | 성능]
### 🚨 Critical (N건)
[파일:라인] 문제 + 수정 코드
### ⚠️ Warning (N건)
[파일:라인] 문제 + 수정 방향
### 💡 Nit (N건)
[목록]
### ✅ 잘된 점
[1~3개]
### 개선 후 기대 효과
[한 줄 요약]
```