From factory
정량 채점 코드 리뷰 + 최종 수용 판정 — 수용 기준 대조 매트릭스, 90/70/fail 판정, severity 분류
How this skill is triggered — by the user, by Claude, or both
Slash command
/factory:factory-code-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
수용 기준에 대한 정량 채점과 severity 분류를 수행하고, 최종 준수율 판정을 내린다.
수용 기준에 대한 정량 채점과 severity 분류를 수행하고, 최종 준수율 판정을 내린다.
주관적 "looks good"이 아닌 정량적 준수율로 판정한다. 이 스킬은 judge이며, doer가 아니다.
factory/architect/architect.md — 수용 기준, 컴포넌트, 인터페이스 (필수)factory/prd/prd.md — 요구사항 ID (권장)This skill: Score implementation against acceptance criteria and deliver a quantitative verdict.
MUST NOT:
factory-developThe Judge's Oath: This skill produces a SCORE and a VERDICT, not CODE CHANGES. Below-threshold scores route back to the appropriate skill — never "just fix it here".
When boundary is crossed: STOP. Revert changes, re-score from clean state. Route deviations to factory-develop (implementation gaps) or factory-architect (design gaps).
공유 프로토콜:
settings/templates/decision-agenda.md
이전 스킬의 decisions 파일을 읽는다 (있으면):
factory/architect/decisions.mdfactory/develop/decisions.mdfactory/e2e/decisions.md이미 결정된 항목은 "Pre-decided"로 표시하고 skip.
입력과 컨텍스트를 분석하여 아래 결정 항목을 기본 Agenda로 구성.
Tier 1 (Strategic — 사용자 필수):
| ID | Decision | 비위임 |
|---|---|---|
| CR-D-001 | 심각도 분류 오버라이드 — AI 판정 후 사용자가 확인/수정 | No |
| CR-D-002 | 판정 기준 오버라이드 — 90/70 기본값을 사용자가 조정 가능 | Yes |
Tier 2 (Tactical — AI 기본값 + 사용자 오버라이드):
| ID | Decision | AI 기본값 |
|---|---|---|
| CR-D-003 | 편차 처리 방향 (지금 수정 vs 나중) | Severity 기반: Critical→지금, Minor→나중 |
| CR-D-004 | 기술 부채 수용 항목 | 명시적 수용 없음 (모두 리포트) |
AskUserQuestion으로 진행 방식 확인:
선택에 따라 AskUserQuestion으로 결정 수집 (최대 4개/배치, 의존성 순서 준수).
factory/code-review/decisions.md에 기록:
| ID | Decision | Choice | Rationale | Decided By | Date |
|---|
모든 선행 결정 기록 후 Step 1로 진행.
Git SHA 기반 리뷰 범위 확보:
BASE_SHA=$(git rev-parse HEAD~1) # 또는 origin/main
HEAD_SHA=$(git rev-parse HEAD)
git diff --stat ${BASE_SHA}..${HEAD_SHA}
git diff ${BASE_SHA}..${HEAD_SHA}
git diff --stat --cached # staged but not yet committed
git ls-files --others --exclude-standard # untracked new files
리뷰 대상 파악:
factory/prd/prd.md — 요구사항 IDfactory/architect/architect.md — 수용 기준, 컴포넌트, 인터페이스factory/analysis/analysis.md — 선택한 접근 방식git diff ${BASE_SHA}..${HEAD_SHA}로 확인)factory/architect/architect.md의 모든 수용 기준에 대해 채점:
| AC ID | Requirement | Test Status | Implementation Status | Verdict |
|---|---|---|---|---|
| AC-001 | FR-001 | Pass/Fail/No Test | Complete/Partial/Missing | ✅/⚠️/❌ |
Verdict Rules:
Compliance = (✅ count / total AC count) × 100
Score: [N]% ([✅ count]/[total])
| Score | Verdict | Action |
|---|---|---|
| 90%+ | PASS | 배포/머지 준비 완료 |
| 70-89% | NEEDS IMPROVEMENT | 식별된 갭 수정 후 재검증 |
| <70% | REDESIGN | Architect Phase로 복귀, 근본적 문제 |
변경된 코드를 리뷰하고 이슈를 severity로 분류:
버그, 보안 이슈, 데이터 손실 리스크, 깨진 기능
아키텍처 문제, 누락된 기능, 부족한 에러 처리, 테스트 갭
코드 스타일, 최적화 기회, 문서 개선
각 이슈에 반드시 포함:
각 항목을 확인하고 증거 기록:
준수율이 100% 미만이면 각 편차를 나열:
### DEV-001: [AC ID] [Title]
- **Gap**: [무엇이 누락되었거나 다른지]
- **Severity**: Critical / Major / Minor
- **Recommendation**: [해결을 위한 구체적 행동]
factory/code-review/code-review.md에 작성:
# Acceptance Report: [Project Name]
## Summary
- **Date**: [ISO 8601, e.g. 2026-03-02T14:30:00Z]
- **Compliance Score**: [N]%
- **Verdict**: PASS / NEEDS IMPROVEMENT / REDESIGN
## Scoring Detail
[Step 2의 테이블]
## Issues Found
### Critical (Must Fix)
[이슈 목록 with file:line]
### Important (Should Fix)
[이슈 목록 with file:line]
### Minor (Nice to Have)
[이슈 목록 with file:line]
## Quality Checklist
[Step 5의 결과]
## Deviations
[Step 6, 있는 경우]
## Strengths
[잘된 점을 구체적으로. file:line 참조 포함.]
## Verification Evidence
- Test command: [command]
- Test results: [N/N passing]
- Build command: [command]
- Build result: [success/failure]
- Lint command: [command]
- Lint result: [N warnings, N errors]
## Recommendations
[코드 품질, 아키텍처, 프로세스 개선 사항]
## Sign-off
- [ ] 모든 수용 기준 검토됨
- [ ] 준수율 산출됨
- [ ] 품질 체크리스트 완료됨
- [ ] 편차 문서화됨 (있는 경우)
Display the summary:
── Factory Code Review Report ───────────
Project: [name]
Score: [N]% — [PASS/NEEDS IMPROVEMENT/REDESIGN]
Tests: [N/N passing]
Deviations: [N]
─────────────────────────────────────────
Routing on non-PASS verdicts:
/factory-develop로 갭 수정 후 /factory-e2e 재실행/factory-architect로 설계 재검토부터 다시 진행DO:
DON'T:
절대 하지 않는다:
리뷰어가 틀렸을 때:
### Strengths
- Clean database schema with proper migrations (db.ts:15-42)
- Comprehensive test coverage (18 tests, all edge cases)
- Good error handling with fallbacks (summarizer.ts:85-92)
### Issues
#### Important
1. **Missing help text in CLI wrapper**
- File: index-conversations:1-31
- Issue: No --help flag, users won't discover --concurrency
- Fix: Add --help case with usage examples
2. **Date validation missing**
- File: search.ts:25-27
- Issue: Invalid dates silently return no results
- Fix: Validate ISO format, throw error with example
#### Minor
1. **Progress indicators**
- File: indexer.ts:130
- Issue: No "X of Y" counter for long operations
- Impact: Users don't know how long to wait
### Assessment
**Compliance Score: 92% — PASS**
**Reasoning:** Core implementation is solid with good architecture and tests. Important issues are easily fixed and don't affect core functionality.
Verdict-dependent completion:
/factory-develop로 갭을 수정하세요."/factory-architect로 돌아가세요."결정 기록은 factory/code-review/decisions.md에 저장되었습니다.
npx claudepluginhub jonghyunlee84/factory --plugin factoryRuns Stage 2 code quality review (SOLID, DRY, security, test quality) after spec review passes. Used via /review or 'check code quality'.
Reviews implementation code quality across 8 dimensions including correctness, design conformance, state/error/security, readability, architectural health, and UI consistency. Used after test review.
Runs structured code reviews with parallel multi-reviewer fan-out, test output gates, and confidence scoring. Supports adversarial review via Codex or thorough Claude-only review.