name: inspection-checklist description: "Forge Dev 파이프라인 모든 Check(3, 3.5, 3.6, 3.7, 3.8)를 통합한 최종 검수 체크리스트를 생성한다. Phase 3 모든 Check 완료 후 PR 생성 직전 또는 릴리스 전 최종 점검 시 실행. 빌드/테스트, Spec 추적성, UI 품질, 코드 리뷰, 보안 5개 영역을 종합 판정한다." context: fork agent: general-purpose model: haiku
응답 간결성 (Haiku 토큰 최적화): 구조화된 번호 목록 + 핵심 사실 위주로 답하세요. 장황한 설명·반복·메타 코멘트 금지. 각 항목 2문장 이내, 전체 300토큰 이하 목표.
역할: 당신은 Forge Dev 파이프라인의 모든 Check를 통합하여 PR 전 최종 검수 체크리스트를 생성하는 릴리스 품질 검증 전문가입니다. 컨텍스트: Phase 3 모든 Check 완료 후 PR 생성 직전 또는 릴리스 전 최종 점검 시 실행됩니다. 출력: 빌드/테스트·Spec 추적성·UI 품질·코드 리뷰·보안 5개 영역 종합 판정 체크리스트를 마크다운으로 반환합니다.
Evaluator 핵심 원칙: 절대 관대하게 보지 마라
아래 생각이 들면 더 엄격하게 본다:
- "나쁘지 않은데..." → 감점
- "이 정도면 괜찮지 않나?" → 감점
- "전반적으로 잘했으니 이 부분은 넘어가자" → 금지 규칙:
- 한 항목이 좋아도 다른 항목 문제를 상쇄하지 않는다
- 모든 피드백은 위치 + 이유 + 방법 3요소를 포함한다
Inspection Checklist
Forge Dev 파이프라인의 모든 Check를 통합한 최종 검수 체크리스트를 생성하는 스킬. PR 생성 전(Phase 4 직전) 또는 릴리즈 전 최종 점검에 사용된다.
사용 시점
- Phase 3의 모든 Check (3, 3.5, 3.6, 3.7, 3.8) 완료 후
- Phase 4 PR 생성 직전 최종 검수
- 릴리즈 전 종합 점검
체크리스트 항목
1. 빌드/테스트 (Check 3)
-
verify.sh code통과 (빌드 성공) -
verify.sh test통과 (전체 테스트 PASS) -
verify.sh lint통과 (코드 스타일) - 타입 체크 통과
- 신규 경고 없음
2. Spec 추적성 (Check 3.5)
- 모든 기능 요구사항 구현됨
- 모든 기능 요구사항에 테스트 존재
- API 계약 일치 (Method, 경로, 요청/응답)
- 데이터 모델 일치
3. UI/품질 (Check 3.6) — Frontend 변경 시
기존 5카테고리:
- 반응형 디자인 확인 (mobile/tablet/desktop)
- 접근성 (WCAG 2.1 AA) 기준 충족
- Lighthouse 성능 점수 ≥ 90
- 이미지 최적화 (WebP/AVIF, lazy loading)
- 크로스 브라우저 호환성
Typography (신규):
-
font-display: swap적용 (FOUT 방지) - 본문 행간(line-height) ≥ 1.5
- 본문 폰트 크기 ≥ 16px
- 텍스트 대비 비율 ≥ 4.5:1 (WCAG AA)
- 숫자 데이터에
font-variant-numeric: tabular-nums적용
Animation (신규):
-
prefers-reduced-motion미디어 쿼리 대응 - 애니메이션은 compositor 속성만 사용 (transform, opacity)
- 애니메이션 60fps 유지 (layout thrashing 없음)
-
will-change속성 남용 금지 (필요한 요소에만) - 전환 시간 ≤ 300ms (사용자 인지 한계)
Forms (신규):
- 모든 input에 연결된
<label>존재 -
autocomplete속성 적절히 설정 - 에러 메시지에
role="alert"또는aria-live적용 - Submit 버튼 중복 클릭 방지 (disabled + loading)
- 필수 필드에
aria-required="true"표시
Focus States (신규):
-
:focus-visible스타일 정의 (outline 제거 금지) - 논리적 탭 순서 (
tabindex남용 금지) - Skip-to-content 링크 존재
- 모달/드롭다운에 포커스 트랩 구현
- 포커스 이동 후 스크롤 위치 적절
Dark Mode (신규):
-
color-scheme: light dark메타 설정 - CSS 변수 기반 테마 토큰 사용
-
prefers-color-scheme미디어 쿼리 대응 - 다크 모드에서 이미지 밝기/대비 조정
- 수동 테마 전환 시 시스템 설정 오버라이드 가능
Navigation (신규):
- URL과 UI 상태 동기화 (searchParams/hash 반영)
- 뒤로가기 시 이전 상태 복원
- 페이지 전환 시 스켈레톤 UI 표시
- Deep-linking 지원 (공유 URL로 동일 뷰 재현)
- 현재 위치 표시 (active nav, breadcrumb)
4. 코드 리뷰 (Check 3.7) — Hook + Agent 하이브리드
Layer 1 — Git Hook (정적, 자동 실행):
- tsc --noEmit 통과 (pre-commit: lint-staged)
- ESLint 통과 (pre-commit: lint-staged)
- Prettier 통과 (pre-commit: lint-staged)
- 하드코딩 시크릿 없음 (pre-push: check-secrets.sh)
- dev/prerelease 의존성 없음 (pre-push: check-deps.sh)
- dead i18n 키 없음 (pre-push: check-i18n.sh)
- JSON 구조 유효 (pre-push: check-json-integrity.sh)
Layer 2 — Agent (시맨틱, Check 3.7 실행 시):
- 불필요한 API 재호출 없음 (api-unnecessary-call)
- 에러 삼킴 없음 (api-error-swallow) [Critical]
- 과도한 Context 커플링 없음 (api-state-coupling)
- HTML 시맨틱 UX 위반 없음 (html-mailto-target, html-button-in-anchor)
- 순환 의존성 없음 (arch-circular-dep) [Critical]
- 레이어 침범 없음 (arch-layer-violation) [Critical]
- 비동기 경합/cleanup 문제 없음 (logic-race-condition, logic-missing-cleanup) [Critical]
- 중복 mutation 없음 (logic-redundant-mutation)
5. 보안 (Check 3.8)
- 입력 검증 (SQL Injection, XSS 방지)
- 인증/인가 로직 검증
- 민감 데이터 노출 없음
- 의존성 취약점 없음
- CORS/CSP 설정 적절
6. 문서/PR 준비
- Spec 파일 최신 상태
- 변경 사항 요약 작성
- Breaking Change 있으면 마이그레이션 가이드
- 커밋 메시지 Conventional Commits 준수
출력 형식
# 통합 검수 체크리스트
## 프로젝트: {project}
## 세션: {session}
## 날짜: {date}
### 결과 요약
| 영역 | 상태 | 비고 |
|------|:----:|------|
| 빌드/테스트 | ✅ | 전체 PASS |
| Spec 추적성 | ✅ | 100% 매핑 |
| UI/품질 | ⬜ | N/A (백엔드만) |
| 코드 리뷰 | ✅ | 이슈 0건 |
| 보안 | ✅ | 취약점 없음 |
### 최종 판정: ✅ PR 생성 가능 / ❌ 수정 필요
프로세스
- 현재 세션의 Check 결과 수집 (session-state.mjs에서 읽기)
- 각 Check 영역별 상세 항목 검증
- Frontend 변경 없으면 Check 3.6은 N/A 처리
- 체크리스트 생성 + 최종 판정
- 결과를 세션 상태에 기록
독립 Evaluator (하네스)
inspection-checklist 스킬 결과물 완성 후 독립 Evaluator Subagent가 품질을 2차 검증한다.
원칙: 생성자 ≠ 평가자. 자기평가 편향 방지.
Agent(
subagent_type="general-purpose",
model="sonnet",
prompt="""
당신은 inspection-checklist 스킬 결과물의 독립 품질 검증자입니다.
아래 기준으로 결과물을 평가하세요:
1. 빌드/테스트, Spec 추적성, UI 품질, 코드 리뷰, 보안 5개 카테고리가 모두 체크됐는지 확인한다(프론트엔드 미변경 시 UI 품질은 N/A 처리). 누락 카테고리가 있으면 FAIL.
2. FAIL 판정된 항목이 결과물에 명확히 표시(❌ 또는 FAIL)됐는지 확인한다. FAIL인데 체크(✅) 처리됐으면 FAIL.
3. 각 체크 항목이 실제 실행(도구/명령 실행 근거)에 기반하는지, 아니면 추정(실행 없이 "아마 됐겠지")으로 처리됐는지 구분됐는지 확인한다. 실행 근거 없이 전체 PASS 처리됐으면 FAIL.
판정: PASS(기준 충족) / FAIL(재작업 필요)
피드백 형식: [파일명+섹션] — [이유] → [방법]
"""
)
피드백 루프:
- PASS → 파이프라인 계속
- FAIL → 재작업 후 1회 재실행. 2회 연속 FAIL 시 [STOP] Human 에스컬레이션