run-evalslisted
Install: claude install-skill bunhine0452/Ocul-PM
# run-evals — EVALS.md 평가 실행
프로젝트 루트의 `EVALS.md` 가 이 프로젝트의 **완료 정의(definition of done)** 입니다.
## 절차
1. `EVALS.md` 를 읽고 평가 항목을 파악한다. 파일이 없으면 사용자에게 만들지 물어본다. 항목은 두 종류로 구분해 다룬다:
- **capability** — 새로 되게 만든 것 (이번 작업의 목표)
- **regression** — 전부터 되던 것 (깨지면 안 되는 것) — capability 만 돌리고 regression 을 건너뛰지 않는다.
2. 각 항목을 **실제로 실행/재현**해 판정한다 — 코드를 읽고 "될 것 같다"로 판정하지 않는다. 판정 방식은 항목 성격에 맞게:
- **결정적 체크**(명령 exit code·grep)가 1순위 — 가능하면 이것으로.
- **루브릭 채점**(1~5)은 결정적 체크가 불가능한 품질 항목만 — 점수마다 근거 한 줄 필수. **4점 이상이 통과** (합격선 고정 — 세션마다 흔들리면 추이가 무의미).
- **사람 확인 필요** 항목은 N/M 분모에서 **제외**하고 메모에 "사람 확인 대기 K건"으로 표기한다 (분모에 넣으면 확인 후에도 표에 실패로 영구히 남는다).
3. 결과를 `EVALS.md` 의 `## 기록` 표에 한 줄 append 한다 (표가 없으면 아래 형식으로 만든다):
| 날짜 | 스위트 | 통과 | 메모 |
|---|---|---|---|
| YYYY-MM-DD | 스위트명 | 통과수/전체수 | 실패 요약 |
4. 실패 항목은 원인을 조사해 보고하고, 수정 후 재실행한다. 불안정한 항목은 연속 2~3회 통과를 기준으로 삼는다.
## 규칙
- `## 기록` 표의 형식(날짜 · 스위트 · N/M)은 바꾸지 않는다 — ocul-pm 회고 화면이 이 표를 읽어 추이를 그린다.
- 통과율을 부풀리지 않는다. 애매하면 실패로 센다.
- 평가를 통과시키기 위해 평가 기준을 약화시키지 않는다 — 기준을 바꿔야 하면 이유를 보고하고 승인 받는다.
- **베이스라인 없는 수치를 만들지 않는다** — "N% 개선/절감"은 실측 베이스라인이 표에 있을 때만 말한다. 비교 대상이 기록된 적 없으면 절대값(N/M)만 보고한다.
- 가능하면 **구현 전에 평가 항목부터** 정의한다 (project-inception 이 만든 EVALS.md 가 그 출발점) — 구현 후에 끼워 맞춘 평가는 약하다.