skills/peach-qa-gate/SKILL.md
작업 완료 전 품질 증거를 수집하는 게이트. test, lint, build, Contract Gate, TEST_ID 커버리지와 잔여 리스크(TODO, any 타입, console.log)를 검증하여 통과/실패 판정한다. 팀 스킬 완료 시 자동 호출되거나 수동으로 실행 가능.
npx skillsauth add peachsolution/peach-harness peach-qa-gateInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
peach-qa-gate는 작업 완료 직전 증거를 수집하는 품질 게이트다.
peach-team-dev, peach-team-3a에서는 최종 QA 통과 후 오케스트레이터가 자동 후속 단계로 호출하며, 팀 스킬 없이 단독 작업을 마무리할 때는 수동으로 직접 호출할 수 있다.
당신은 소프트웨어 품질 보증(QA) 전문가입니다.
- 완료 선언 전 객관적 증거를 수집합니다
- 테스트/린트/빌드 결과를 체계적으로 검증합니다
- 대규모 작업의 1차 완성도 증거(TEST_ID, Contract Gate, E2E Evidence)를 수집합니다
- 잔여 리스크를 탐지하고 기록합니다
- 증거 없는 완료 선언을 방지하는 품질 게이트 역할을 수행합니다
peach-team-dev, peach-team-3a 완료 직전 자동 후속 호출/peach-qa-gate를 직접 실행하여 단독 작업의 완료 전 검증 수행대상 프로젝트의 디렉토리 구조를 확인하고 해당하는 테스트를 실행합니다.
# Backend (api/ 존재 시)
cd api && bun test
# Frontend (front/ 존재 시)
cd front && bunx vitest run
결과를 기록합니다:
# Backend (api/ 존재 시)
cd api && bun run lint:fixed
# Frontend (front/ 존재 시)
cd front && bun run lint:fix
결과를 기록합니다:
# Backend (api/ 존재 시)
cd api && bun run build
# Frontend (front/ 존재 시)
cd front && bunx vue-tsc --noEmit && bun run build
결과를 기록합니다:
코드베이스에서 잠재적 리스크를 탐지합니다:
# TODO/FIXME 검색
grep -rn "TODO\|FIXME" api/src/modules/ front/src/modules/ 2>/dev/null
# any 타입 검색
grep -rn ": any" api/src/modules/ front/src/modules/ 2>/dev/null
# 하드코딩된 값 검색 (URL, 포트, 비밀번호)
grep -rn "localhost\|127.0.0.1\|password.*=" api/src/modules/ front/src/modules/ 2>/dev/null
# console.log 잔류 검색
grep -rn "console.log" api/src/modules/ front/src/modules/ 2>/dev/null
대규모 작업 또는 peach-team-dev/peach-team-e2e 결과가 있는 경우 다음 증거를 추가로 확인한다.
# Spec TEST_ID 존재 여부
grep -rn "T-[0-9][0-9][0-9]" docs/spec/ 2>/dev/null
# team-dev 상태/Contract Gate 보고서
ls docs/qa/*/*team-dev* 2>/dev/null
grep -rn "Contract Gate\\|API-Store" docs/qa/ 2>/dev/null
# E2E Evidence / 미스매치 이력 (카테고리 폴더 + flat 모두 탐색)
find docs/e2e-suite -type f -name "*.md" 2>/dev/null | sort
grep -rn "미스매치\\|E2E Evidence\\|검증 불가" docs/qa/ docs/e2e-suite/ 2>/dev/null
수집 항목:
TEST_ID가 존재하고 구현/TDD/E2E 중 어디로 매핑됐는가done/blocked/qa_failed)가 남아 있는가DB_CHANGE_REQUIRED 또는 DB 변경 미반영 항목이 남아 있는가DB_DECISION_REQUIRED 또는 DECISION_REQUIRED가 남아 있는가수집된 결과를 종합하여 보고서를 출력합니다.
## 증거 보고서
### 체크리스트
| 항목 | 결과 | 상세 |
|------|------|------|
| Backend 테스트 | ✅/❌/⏭️ | {N}개 통과, {M}개 실패 |
| Backend 린트 | ✅/❌/⏭️ | {상세} |
| Backend 빌드 | ✅/❌/⏭️ | {상세} |
| Frontend 타입 체크 | ✅/❌/⏭️ | {상세} |
| Frontend 린트 | ✅/❌/⏭️ | {상세} |
| Frontend 빌드 | ✅/❌/⏭️ | {상세} |
| TEST_ID 커버리지 | ✅/❌/⏭️ | {구현/TDD/E2E 매핑 여부} |
| Contract Gate | ✅/❌/⏭️ | {API-Store-UI 연결 검증 결과} |
| E2E Evidence | ✅/❌/⏭️ | {suite/실행/미스매치 이력} |
⏭️ = 해당 디렉토리 없음 (스킵)
### 잔여 리스크
| 유형 | 파일 | 라인 | 내용 |
|------|------|------|------|
| TODO | ... | ... | ... |
| any 타입 | ... | ... | ... |
### 대규모 작업 잔여 항목
| 항목 | 상태 | 후속 처리 |
|------|------|-----------|
| blocked 기능 | ... | 사용자 확인 |
| DB_DECISION_REQUIRED | ... | 사용자 결정 후 peach-gen-db 재실행 |
| 검증 불가 TEST_ID | ... | Spec/proto 보강 |
| DB 변경 미반영 | ... | peach-gen-db/peach-db-migrate 후 재검증 |
| UI Proto 부재 한계 | ... | 신규 복잡 화면이면 ui-proto 작성 후 재검증 |
| 미해결 미스매치 | ... | team-dev/team-e2e 재실행 |
### 판정
{모든 필수 항목 통과 시}
✅ 완료 가능 — 모든 필수 검증을 통과했습니다.
{필수 항목 실패 시}
❌ 완료 불가 — 아래 항목을 수정해야 합니다:
- {실패 항목 목록}
개발자 아이디: whoami (OS 사용자명) 사용. 실패 시 git config user.name fallback.
검증 보고서를 파일로 저장합니다:
docs/qa/{년}/{월}/[개발자아이디]-[YYMMDD]-[한글기능명].md
예: docs/qa/2026/03/{개발자아이디}-260315-결제기능.md
팀 스킬에서 Ralph Loop 11회 이상 에스컬레이션이 발생한 경우, 검증 보고서 하단에 다음 섹션을 추가합니다:
### Ralph Loop 이력
| 반복 횟수 | 도달 단계 | 주요 실패 원인 |
|----------|---------|-------------|
| {N}회 | {단계명} | {원인 요약} |
**에스컬레이션 사유:** {구체적인 막힌 지점}
**권장 다음 행동:** {사용자가 취해야 할 조치}
tools
기능 브랜치용 git worktree 라이프사이클을 관리하는 스킬. 생성(create) / 상태 진단(status) / PR 준비(finish) / 병합 후 정리(closeout) / 정리(cleanup) 모드를 자동 판단한다. "워크트리 만들어줘", "worktree 생성", "워크트리 정리", "워크트리 삭제", "기능 브랜치 워크트리", "워크트리 상태", "마무리", "PR 생성", "PR 머지 후 정리", "feature worktree" 키워드로 트리거. PR 전 base 비교와 안전한 동기화 필요 여부를 진단한다. 개발 완료 후 finish/closeout 모드에서는 한 번의 통합 체크포인트로 push/PR/merge/cleanup을 안전하게 진행한다.
development
Karpathy LLM Wiki 패턴 기반 지식 관리 스킬. 코드 프로젝트와 옵시디언 노트 모두 지원. Raw Source(코드·문서)를 읽어 docs/wiki/에 누적형 지식베이스를 구축·유지한다. "wiki", "위키", "ingest", "인제스트", "wiki 점검", "wiki lint", "wiki 업데이트", "문서화해줘", "아키텍처 설명해줘", "어떻게 동작해?" 키워드로 트리거. qmd 검색 도구와 연동하여 토큰 절약 + 높은 검색 정확도 제공.
development
Backend 없이 Mock 데이터 기반 프로토타입 UI를 생성·검증하는 기획 구체화 산출물 스킬. Vue 3 + TypeScript + NuxtUI v4. 별도 ui-proto 저장소(예: peach-ui-proto-backoffice)의 src/modules-task 폴더에 태스크별 화면을 누적한다. "프로토타입 만들어줘", "Mock 화면", "proto UI", "기획 화면 빠르게", "ui-proto 작업", "기획자 검토용 화면", "태스크 폴더 추가", "팀 ui-proto" 키워드로 트리거. 기획자가 직접 작업하는 화면 기획 + 현업 검토용 산출물 스킬이며, 개발용 Spec은 후속 peach-gen-spec이 생성한다. 실제 API 연동이 필요하면 peach-gen-ui를 사용한다.
development
Spec 필수 + ui-proto 보조 기준으로 E2E 환경 세팅 + 단위 시나리오 자동 분할 + 통합 suite 생성 + 실행 + 부합 검증을 한 번에 처리하는 통합 팀 스킬. "e2e 검증해줘", "통합 검증", "전체 흐름 테스트", "팀 e2e", "스펙대로 동작하는지 확인", "ui-proto와 다른지 확인", "최종 검증", "릴리스 전 검증" 키워드로 트리거. peach-e2e-setup + peach-e2e-scenario + peach-e2e-suite 3개 스킬의 패턴을 공유하고, 검증 기준은 본 프로젝트 Spec을 필수 기준으로 삼고, ui-proto는 화면/흐름 보조 기준으로 사용한다. peach-team-dev와 함께 하나의 개발-검증 납품 흐름을 이루되, 구현 컨텍스트와 검증 컨텍스트는 분리한다. 팀 실행 방식은 E2E 범위와 런타임 도구 가용성을 분석해 single-agent / role-queue / agent-team 중 선택한다. 단순 코드 동작 검증을 넘어, 기획 의도와 부합하는지 자동 검증하는 게 핵심 차별점.