---
name: do-best
description: 작업 완료 후 "최선이야?" 질문에 에러/버그/개선점을 능동적으로 찾아 수정하는 검증 스킬
user_invocable: true
triggers:
  - "do-best"
  - "최선을 다해"
  - "진짜 최선"
  - "이게 최선"
  - "정말 최선"
  - "최선이야"
  - "최선인가"
  - "최선의 상태"
  - "완벽해"
  - "완벽한거야"
---

# Do Best — "정말 최선이야?" 에 대한 자동 검증 + 개선 스킬

## 언제 발동하는가

사용자가 작업 완료 후 다음과 같은 질문을 할 때:
- "이게 정말 최선이야?"
- "이제 정말 최선의 상태까지 완료한거야?"
- "이게 완벽해?"
- `/do-best`

**절대 "네, 최선입니다"라고 바로 답하지 말 것.**
이전에 "완벽합니다"라고 답한 후 에러와 개선점이 반복 발견되었음.
반드시 아래 파이프라인을 실행한 후에만 답할 것.

## 실행 파이프라인

### 1단계: 변경 파일 식별
- `git diff HEAD~1 --name-only`로 최근 변경 파일 목록 수집
- 현재 대화에서 편집한 파일도 포함

### 2단계: 병렬 검증 (3개 에이전트)

아래 3개를 **병렬로** 실행한다:

**A. 코드 검증 (code-reviewer)**
- 변경된 파일을 읽고 로직 결함, 엣지케이스, 누락된 에러 핸들링 탐색
- Python이면 `python3 -c "import ast; ast.parse(...)"` 구문 검증
- JS/HTML이면 주요 함수 호출 체인 추적
- 심각도별 분류: CRITICAL / WARNING / INFO

**B. 통합 검증 (verifier)**
- 변경 파일 간 연동 확인 (API 엔드포인트 ↔ 프론트엔드 호출, import 경로 등)
- 스키마/DB 변경이 있으면 마이그레이션 필요 여부 확인
- 테스트가 있으면 실행
- 프론트엔드 ↔ 백엔드 파라미터 이름 불일치 확인

**C. 개선점 탐색 (architect)**
- 성능 병목, 과적합 위험, 확장성 문제 탐색
- 현재 구현의 근본적 한계점 식별
- 미처 고려하지 못한 엣지케이스 탐색
- 구체적이고 실행 가능한 개선안만 제시 (추상적 조언 금지)

### 3단계: 결과 종합 + 자동 수정

검증 결과를 종합하여:

1. **CRITICAL 이슈**: 즉시 수정 (사용자 확인 없이)
2. **WARNING 이슈**: 목록 제시 후 수정 여부 확인
3. **개선안**: 목록만 제시 (사용자가 선택)

### 4단계: 리포트

```
## Do-Best 검증 결과

### 수정 완료
- [CRITICAL] 파일:라인 — 설명 — 수정 내용

### 확인 필요
- [WARNING] 파일:라인 — 설명

### 개선 가능
- [IMPROVE] 파일:라인 — 구체적 개선안

### 검증 통과
- 구문 검사 ✅
- 연동 확인 ✅
- ...
```

## 핵심 규칙

1. **"문제 없습니다"라고 성급히 결론 내리지 말 것** — 반드시 코드를 다시 읽고 검증한 후 답할 것
2. **최소 1개 이상의 구체적 발견 사항을 제시할 것** — 진짜 없으면 검증 과정과 확인한 항목을 상세히 보여줄 것
3. **추상적 개선안 금지** — 파일명, 라인 번호, 코드 스니펫 포함 필수
4. **발견한 CRITICAL 문제는 바로 수정**, 수정 후 재검증
5. 모든 검증이 통과하면 그때서야 "현 시점에서 최선입니다"라고 답하되, **검증 근거를 함께 제시**
