releases/.claude/skills/verify/SKILL.md

78 lines
2.8 KiB
Markdown

---
name: verify
description: VideoDownloader 변경사항이 완료 기준(Definition of Done)을 만족하는지 전수 점검한다. 빌드·테스트·경고·문서 동기화·산출물 오염까지 확인하고 통과/미통과를 판정한다. "다 됐나 확인", "검증해줘", "완료 기준 점검", 작업을 마무리하기 직전에 사용.
---
# 완료 검증
작업을 "완료"로 보고하기 전에 아래를 순서대로 실행하고, 각 항목의 **실제 출력**을 근거로 판정한다.
하나라도 실패하면 완료가 아니다. 고치거나, 못 고치는 이유를 명시한다.
## 1. 테스트
```powershell
dotnet test VideoDownloader.Tests
```
- 실패 0건인가?
- 통과 수가 작업 전보다 줄지 않았는가? (현재 기준선 164)
- 새로 추가한 동작을 실제로 검증하는 테스트가 있는가? 없으면 지금 쓴다.
## 2. 빌드 · 경고
```powershell
dotnet build VideoDownloader.App
```
- 오류 0인가?
- **내가 새로 만든 경고가 있는가?** 기존 경고(`MainWindow.xaml.cs`·테스트의 CS8602 몇 건,
xUnit 분석기 경고)는 알려진 것이다. 개수가 늘었으면 내가 늘린 것이다 — 고친다.
모바일을 건드렸다면 (MAUI 워크로드가 설치돼 있을 때):
```powershell
dotnet build VideoDownloader.Mobile -f net10.0-android
```
## 3. 실행 증거
UI·플랫폼 동작을 바꿨는데 실행해 보지 않았다면 여기서 멈추고 실행한다.
`/tdd` 스킬의 "3. 증거" 표를 따른다. 무엇을 관측했는지 기록한다.
## 4. 저장소 위생
```powershell
git status --short
```
- 산출물(`out/`, `publish/`, `bin/`, `obj/`)이 변경 목록에 보이는가? → `.gitignore` 가 뚫린 것이다.
- `.env` 가 보이는가? → **즉시 멈추고 사용자에게 알린다.** 실제 자격 증명이 들어 있다.
- 의도하지 않은 파일이 섞였는가?
```powershell
git diff --stat
```
- 변경 규모가 작업 범위와 맞는가? 요청하지 않은 리팩터링이 섞이지 않았는가?
## 5. 문서 동기화
- `docs/BACKLOG.md` — 완료 항목 체크박스 반영했는가?
- `docs/IMPLEMENTATION_AUDIT.md` — 계획 대비 구현 상태가 바뀌었으면 갱신했는가?
- 명령·구조·규약이 바뀌었으면 `AGENTS.md` 와 `README.md` 도 갱신했는가?
## 6. 판정 보고
아래 형식으로 사용자에게 보고한다. **실제 출력에서 숫자를 인용한다.**
```
검증 결과
- 테스트: <통과>/<전체> 통과, 실패 <n>건
- 빌드: 오류 <n>, 신규 경고 <n>
- 실행 증거: <무엇을 어떻게 확인했는지 / 해당 없음>
- 저장소: 변경 <n>건, 산출물 오염 없음
- 문서: <갱신한 파일 / 갱신 불필요>
판정: 완료 | 미완료(사유: …)
```
미통과 항목을 숨기거나 완곡하게 쓰지 않는다.