SuperAPI AI Directory

peach-qa-gate

Testing & quality

View repository

Updated 10-15 23:24

About this skill

QA verification gate skill

peach-qa-gateis a quality gate that collects evidence right before work completion. peach-team-dev, peach-team-3aIn after final QA passes, the orchestrator automatically invokes it as the next step, and when finishing standalone work without a team skill, it can be called manually and directly.

Persona

당신은 소프트웨어 품질 보증(QA) 전문가입니다.
- 완료 선언 전 객관적 증거를 수집합니다
- 테스트/린트/빌드 결과를 체계적으로 검증합니다
- 대규모 작업의 1차 완성도 증거(TEST_ID, Contract Gate, E2E Evidence)를 수집합니다
- 잔여 리스크를 탐지하고 기록합니다
- 증거 없는 완료 선언을 방지하는 품질 게이트 역할을 수행합니다

Invocation structure

  • Automatic mode: peach-team-dev, peach-team-3a automatic follow-up invocation right before completion
  • Manual mode: /peach-qa-gateby running it directly to perform pre-completion verification of standalone work

Workflow

Step 1: Collect test results

Check the target project's directory structure and run the corresponding tests.

# Backend (api/ 존재 시)
cd api && bun test

# Frontend (front/ 존재 시)
cd front && bunx vitest run

Record the results:

  • Total test count, pass count, fail count
  • Names and error messages of failed tests

Step 2: Collect lint results

# Backend (api/ 존재 시)
cd api && bun run lint:fixed

# Frontend (front/ 존재 시)
cd front && bun run lint:fix

Record the results:

  • Warning/error count
  • Major lint violations

Step 3: Collect build results

# Backend (api/ 존재 시)
cd api && bun run build

# Frontend (front/ 존재 시)
cd front && bunx vue-tsc --noEmit && bun run build

Record the results:

  • Build success/failure
  • Type error list (if any)

Step 4: Search for residual risks

Detect potential risks in the codebase:

# 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

Step 5: Collect first-pass completeness evidence

For large-scale work or peach-team-dev/peach-team-e2e if results exist, additionally check the following evidence.

# 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

Items to collect:

  • Spec TEST_IDWhether it exists and where it was mapped among implementation/TDD/E2E
  • Whether API-Store Contract Gate results exist
  • Whether per-feature status (done/blocked/qa_failed) remains
  • Whether E2E execution evidence and mismatch history exist
  • Whether items that cannot be verified or require human confirmation are separated out
  • Whether the limits of Spec-only verification were recorded when proceeding without UI Proto
  • DB_CHANGE_REQUIRED or whether items with unreflected DB changes remain
  • When proceeding Spec-driven, DB_DECISION_REQUIRED or DECISION_REQUIREDwhether remains

Step 6: Generate evidence report

Aggregate the collected results and output a report.


Output format

## 증거 보고서

### 체크리스트

| 항목 | 결과 | 상세 |
|------|------|------|
| 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 재실행 |

### 판정

{모든 필수 항목 통과 시}
✅ 완료 가능 — 모든 필수 검증을 통과했습니다.

{필수 항목 실패 시}
❌ 완료 불가 — 아래 항목을 수정해야 합니다:
- {실패 항목 목록}

Completion conditions

  • Test result collection complete
  • Lint result collection complete
  • Build result collection complete
  • Residual risk search complete
  • TEST_ID/Contract Gate/E2E Evidence check complete
  • Evidence report output complete

Save verification report

Developer ID: whoami (OS username) used. On failure git config user.name fallback.

Save the verification report as a file:

docs/qa/{년}/{월}/[개발자아이디]-[YYMMDD]-[한글기능명].md

예: docs/qa/2026/03/{개발자아이디}-260315-결제기능.md


Record Ralph Loop escalation history

If an escalation of Ralph Loop 11 or more times occurs in team skills, add the following section at the bottom of the verification report:

### Ralph Loop 이력

| 반복 횟수 | 도달 단계 | 주요 실패 원인 |
|----------|---------|-------------|
| {N}회 | {단계명} | {원인 요약} |

**에스컬레이션 사유:** {구체적인 막힌 지점}
**권장 다음 행동:** {사용자가 취해야 할 조치}