review-work
다섯 에이전트가 병렬로 도는 다각도 구현 후 리뷰입니다.
review-work는 구현 후 리뷰 오케스트레이터입니다. 의미 있는 구현을 마친 뒤, 다섯 개의 전문 서브 에이전트를 병렬로 띄워 서로 보완하는 각도에서 작업을 검사합니다. 리뷰가 통과하려면 다섯이 모두 통과해야 합니다. 하나라도 실패하면 리뷰는 실패입니다.
"review work", "review my work", "review changes", "QA my work", "verify implementation", "check my work", "validate changes", "post-implementation review" 같은 표현이 트리거입니다.
다섯 리뷰 레인
| # | 레인 | 답하는 질문 | Codex에서의 실행 |
|---|---|---|---|
| 1 | 목표·제약 검증 | 요청한 것을 정확히 만들었는가? | self-contained reviewer sub-agent |
| 2 | QA 실행 | 실제 표면에서 동작하는가? | hands-on QA sub-agent |
| 3 | 코드 품질 | 코드가 일관적이고 유지보수 가능한가? | lazycodex-code-reviewer 또는 reviewer sub-agent |
| 4 | 보안 | 입력, 인증, 시크릿, 데이터 노출 위험은 없는가? | security-focused reviewer sub-agent |
| 5 | 컨텍스트 마이닝 | git 이력, 이슈, 주변 맥락에서 놓친 것은 없는가? | context-mining sub-agent |
원본 Skill에는 OpenCode식 예시가 일부 남아 있지만, Codex에서는 그대로 호출하지 않습니다. multi_agent_v1.spawn_agent로 역할을 설명하는 자기완결 메시지를 보내고, 가능한 경우 lazycodex-code-reviewer, lazycodex-qa-executor, lazycodex-gate-reviewer 같은 설치된 역할을 사용합니다.
동작 방식
Phase 0 — 컨텍스트 수집
먼저 입력을 모으되 대부분 대화 기록에서 가져옵니다: 원래의 GOAL, CONSTRAINTS, BACKGROUND. CHANGED_FILES와 DIFF는 git에서 자동 수집하고, 변경된 각 파일의 전체 내용을 읽고, RUN_COMMAND를 package.json, Makefile, docker-compose.yml에서 찾습니다.
git diff --name-only HEAD~1 # 또는: git diff --name-only main...HEAD
git diff HEAD~1 # 또는: git diff main...HEAD메인 워크트리에서 PR 브랜치를 체크아웃하지 않습니다. 새 git 워크트리(git worktree add)를 만들어 그곳에서 작업합니다.
Phase 1 — 다섯 레인을 한꺼번에 띄우기
다섯 레인을 한 턴에 모두, 각각 백그라운드로 띄웁니다. 순차 실행도, 사이에 기다림도 없습니다. 목표 검증자는 요구사항 충족 여부를 나누어 보고하고, QA 실행자는 실제 시나리오를 돌리며, 코드 리뷰어와 보안 감사자는 diff와 관련 파일을 검토합니다. 컨텍스트 마이너는 git 이력, GitHub, 주변 문맥, 코드 교차 참조를 확인합니다.
Phase 2 — 대기 및 수집
띄운 뒤 턴을 끝냅니다. 에이전트가 끝날 때마다 결과를 수집합니다. 다섯이 모두 끝나기 전에는 최종 보고서를 내지 않습니다.
Phase 3 — 판정 전달
다섯 모두 PASS면 REVIEW PASSED, 하나라도 FAIL이면 REVIEW FAILED입니다. 최종 보고서는 영역별로 표를 만들고, 차단 이슈를 모으고, 핵심 발견을 나열하며, 실패 시 무엇을 어떤 순서로 고칠지 정확히 적습니다.
판정 로직
- 모든 에이전트가 판정과 확신도를 냅니다.
- 단 한 번의 FAIL이 전체 리뷰를 실패시킵니다.
- timeout, 빈 응답, ack-only, 명시적
BLOCKED:는 PASS가 아닙니다. - 실패 시 발견 사항은 문제, 파일, 수정안을 짚습니다. 막연한 "X를 개선해 보세요"는 없습니다.
- 성공 시 보고서는 짧게 유지하고, 차단되지 않는 제안만 적습니다.