diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..1a32b1e
Binary files /dev/null and b/.DS_Store differ
diff --git a/docs/skills-by-phase.md b/docs/skills-by-phase.md
index b48bb83..ca9a5d7 100644
--- a/docs/skills-by-phase.md
+++ b/docs/skills-by-phase.md
@@ -72,6 +72,7 @@
| `conventional-commit` | 커밋 메시지 컨벤션 | ✅ |
| `project-init` | 프로젝트 초기 설정 | ✅ |
| `vue-component-review` | 기존 Vue 컴포넌트 리뷰 | ✅ |
+| `nuxt-code-review` | 브랜치/PR 단위 근거 기반 코드 리뷰 | ✅ |
---
@@ -80,5 +81,5 @@
| 구분 | 전체 | 구현 완료 | 미구현 | 검토 중 |
| --- | --- | --- | --- | --- |
| Phase별 Skill | 15 | 6 | 8 | 1 |
-| 공통 Skill | 3 | 3 | 0 | 0 |
-| **합계** | **18** | **9** | **8** | **1** |
+| 공통 Skill | 4 | 4 | 0 | 0 |
+| **합계** | **19** | **10** | **8** | **1** |
diff --git a/skills/nuxt-code-review/SKILL.md b/skills/nuxt-code-review/SKILL.md
new file mode 100644
index 0000000..a9d7326
--- /dev/null
+++ b/skills/nuxt-code-review/SKILL.md
@@ -0,0 +1,139 @@
+---
+name: nuxt-code-review
+description: |
+ 브랜치/PR 단위 코드 리뷰를 수행합니다. git diff 기반으로 변경된 코드 전체를
+ 팀 컨벤션과 평가 기준에 따라 근거 기반(evidence-based)으로 리뷰합니다.
+ "코드 리뷰해줘", "PR 리뷰", "브랜치 리뷰", "변경사항 검토", "diff 리뷰" 등을
+ 요청하면 트리거됩니다. (단일 .vue 파일 심층 리뷰는 vue-component-review 스킬을 사용하세요.)
+---
+
+# Nuxt 코드 리뷰 (브랜치/PR 단위)
+
+이 스킬은 현재 브랜치의 전체 변경사항을 대상으로 근거 기반 코드 리뷰를 수행합니다.
+모든 코멘트는 `references/evaluation-criteria.md`의 기준 ID를 인용하여 주관적 의견이 아닌
+팀 컨벤션에 근거합니다.
+
+## 핵심 원칙
+
+1. **근거 인용 필수**: 모든 코멘트는 평가 기준 ID(예: `VUE-002`)를 반드시 인용한다. 기준 없는 의견은 코멘트로 작성하지 않는다.
+2. **수정 제안 필수**: "이 코드가 잘못됐다"만으로는 부족하다. 구체적인 수정 방법(before/after)을 함께 제시한다.
+3. **리플렉션으로 오탐 제거**: 최종 출력 전 모든 코멘트를 재검증하여 컨텍스트를 오해한 오탐을 제거한다.
+
+## 작업 순서
+
+### Phase 1: 컨텍스트 수집
+
+1. 베이스 브랜치를 확인한다. 사용자가 명시하지 않으면 `main`으로 가정하고 알린다.
+2. 변경 범위를 파악한다:
+ ```bash
+ git diff ...HEAD --stat
+ git log ...HEAD --oneline
+ ```
+3. 프로젝트 전용 컨벤션 파일이 있으면 읽는다 (우선순위 높음):
+ - `.claude/project/conventions.md`
+ - `docs/adr.md` 또는 `docs/adr.yaml`
+ - `docs/code-convention.yaml`
+4. `references/evaluation-criteria.md`를 로드하여 평가 기준을 준비한다.
+5. 변경 의도를 1줄로 요약한다 (커밋 메시지, PR 설명, 파일 목록에서 추론).
+6. **대규모 diff 처리**: 변경 파일이 30개 초과 또는 변경 라인이 2000줄 초과이면, 리뷰할 디렉토리나 파일 타입을 사용자에게 물어 범위를 축소한다.
+
+### Phase 2: 구조화된 코드 리뷰
+
+1. `git diff ...HEAD`로 전체 diff를 읽는다.
+2. 아래 파일은 리뷰에서 제외한다:
+ - `.nuxt/`, `node_modules/`, `.output/` 내 파일
+ - 락 파일 (`package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`)
+ - 자동 생성 파일 (`*.generated.ts`, `*.d.ts` 중 빌드 산출물)
+3. 파일별로 해당하는 평가 기준을 대조하며 검토한다.
+4. 각 발견사항을 우선순위에 따라 분류한다:
+ - **[p1] 반드시 수정**: 버그, 런타임 에러, 보안 취약점, 팀 표준 위반 중 기능에 영향을 주는 것
+ - **[p2] 강력 권장**: 컨벤션 위반, 타입 누락, 유지보수 부담을 주는 패턴
+ - **[p3] 권장**: 코드를 더 좋게 만들지만 위반은 아닌 개선사항
+ - **[p4] 사소**: 스타일 지적, 네이밍 선호, 사소한 가독성
+5. 크로스파일 이슈도 점검한다:
+ - 변경된 파일 간 패턴 불일치
+ - 타입 변경 후 사용처가 업데이트되지 않은 경우
+ - import/export 정합성
+
+### Phase 3: 리뷰 리플렉션 (자기 검증)
+
+모든 코멘트를 최종 출력 전에 재검증한다. 각 코멘트에 대해 스스로 묻는다:
+
+- 인용한 평가 기준이 이 특정 코드 컨텍스트에 실제로 적용되는가?
+- 작성자가 이 선택을 의도적으로 했을 수 있는가? (프로젝트 컨벤션, 기술적 제약)
+- 제안한 수정이 실제로 올바르고, 사이드 이펙트는 없는가?
+- 전체 컨텍스트를 보지 못해 생긴 오탐은 아닌가?
+
+오탐으로 판단되면 해당 코멘트를 최종 출력에서 제거한다. 이 과정은 내부 검증이며 출력에 포함하지 않는다.
+
+### Phase 4: 최종 출력
+
+아래 출력 형식에 따라 최종 리뷰를 작성한다.
+
+## 코멘트 형식
+
+각 코멘트는 다음 구조를 따른다:
+
+```
+### [p1] src/components/UserCard.vue:45
+
+- **기준**: VUE-002 (defineProps 제네릭 타입)
+- **내용**: Props가 런타임 선언 방식으로 되어 있어 TypeScript 타입 안전성이 보장되지 않습니다.
+- **제안**:
+ ```ts
+ // Before
+ const props = defineProps({ name: String, age: Number });
+ // After
+ const props = defineProps<{ name: string; age: number }>();
+ ```
+- **사이드 이펙트**: 없음. 런타임 동작 동일.
+- **제안 이유**: 제네릭 형태는 IDE 자동완성과 타입 추론에서 우수하며 팀 표준입니다.
+```
+
+## 출력 형식
+
+```
+## 코드 리뷰 결과
+
+### 리뷰 범위
+- 베이스: `main`
+- 브랜치: `feature/user-profile`
+- 변경 파일: N개 (파일 목록)
+- 변경 의도: (1줄 요약)
+
+---
+
+### [p1] 반드시 수정 (N건)
+
+(코멘트들)
+
+### [p2] 강력 권장 (N건)
+
+(코멘트들)
+
+### [p3] 권장 (N건)
+
+(코멘트들)
+
+### [p4] 사소 (N건)
+
+(코멘트들)
+
+---
+
+### 좋은 점
+
+- (코드에서 잘 된 부분 관찰)
+
+### 추가 리뷰 제안
+
+- `UserCard.vue` — 250줄 초과. `vue-component-review` 스킬로 컴포넌트 상세 리뷰를 권장합니다.
+```
+
+## 주의사항
+
+- **코드 수정 금지**: 사용자가 수정을 요청하지 않은 경우 리뷰만 수행한다. 수정이 필요하면 별도로 요청받는다.
+- **프로젝트 지침 우선**: 프로젝트 전용 컨벤션과 팀 공통 지침이 충돌하면 프로젝트 지침을 따르되, 차이를 사용자에게 알린다.
+- **생성 파일 제외**: `.nuxt/`, `node_modules/`, 자동 생성 파일, 락 파일은 리뷰하지 않는다.
+- **단일 파일 심층 리뷰 연계**: 개별 `.vue` 파일의 체크리스트 기반 상세 리뷰가 필요하면 `vue-component-review` 스킬 사용을 제안한다.
+- **커밋 컨벤션 확인**: 브랜치 커밋 메시지의 Conventional Commits 준수 여부는 `rules/commit-pr.md` 기준으로 확인하되, 커밋 메시지 생성은 `conventional-commit` 스킬의 역할이다.
diff --git a/skills/nuxt-code-review/references/evaluation-criteria.md b/skills/nuxt-code-review/references/evaluation-criteria.md
new file mode 100644
index 0000000..fac984b
--- /dev/null
+++ b/skills/nuxt-code-review/references/evaluation-criteria.md
@@ -0,0 +1,95 @@
+# Nuxt 코드 리뷰 평가 기준
+
+이 문서는 `nuxt-code-review` 스킬에서 코멘트 작성 시 근거로 인용하는 평가 기준 목록입니다.
+각 기준은 고유 ID를 가지며, 코멘트에 `기준: VUE-001 (제목)` 형태로 인용합니다.
+
+---
+
+## VUE — Vue 3 컴포넌트 패턴
+
+| ID | 제목 | 규칙 | 기본 심각도 | 참조 |
+|----|------|------|------------|------|
+| VUE-001 | script setup 사용 | `