con un clic
review
// 현재 브랜치의 변경사항 코드 리뷰. Codex + Claude 듀얼 리뷰. 트리거: "리뷰", "review", "검토", "코드 리뷰", "PR 리뷰", "변경사항 확인" 안티-트리거: "구현", "코드 작성", "빌드"
// 현재 브랜치의 변경사항 코드 리뷰. Codex + Claude 듀얼 리뷰. 트리거: "리뷰", "review", "검토", "코드 리뷰", "PR 리뷰", "변경사항 확인" 안티-트리거: "구현", "코드 작성", "빌드"
| name | review |
| description | 현재 브랜치의 변경사항 코드 리뷰. Codex + Claude 듀얼 리뷰. 트리거: "리뷰", "review", "검토", "코드 리뷰", "PR 리뷰", "변경사항 확인" 안티-트리거: "구현", "코드 작성", "빌드" |
| user-invocable | true |
| disable-model-invocation | false |
| allowed-tools | Read, Bash, Grep, Glob |
현재 브랜치의 변경사항을 Codex(GPT-5.4)와 Claude 두 관점에서 리뷰합니다.
Codex 플러그인으로 1차 리뷰를 실행한다:
/codex:review
Codex 리뷰 결과를 수신한 후, Step 1로 진행하여 Claude 관점에서 2차 리뷰를 수행한다. 두 리뷰 결과를 종합하여 최종 보고서에 병합한다.
# 기본 브랜치 자동 감지
BASE=$(git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null | sed 's@^refs/remotes/origin/@@' || echo "main")
git diff ${BASE}...HEAD --stat
git log ${BASE}...HEAD --oneline
# 구조적 diff (포매팅 변경 무시, 로직 변경만 표시)
GIT_EXTERNAL_DIFF=difft git diff ${BASE}...HEAD 2>/dev/null || git diff ${BASE}...HEAD
각 변경 파일에 대해 아래 체크리스트 적용:
gitleaks detect --source . --no-git -v 로 자동 스캔| 레벨 | 의미 | 예시 |
|---|---|---|
| CRITICAL | 머지 차단. 보안/데이터 손실/크래시 | SQL 인젝션, 인증 우회, null 참조 |
| WARNING | 수정 권장. 향후 문제 될 수 있음 | N+1 쿼리, any 타입, 누락된 에러 핸들링 |
| INFO | 참고. 선택적 개선 | 네이밍 개선, 약간의 중복 |
각 발견 사항은 구조화된 형식으로:
[CRITICAL] [보안] (src/api/auth.ts:42): 사용자 입력이 SQL 쿼리에 직접 삽입됨
→ 수정: parameterized query 사용
[WARNING] [성능] (src/hooks/useData.ts:15): useEffect 의존성 배열에 객체 리터럴
→ 수정: useMemo로 감싸거나 개별 프로퍼티를 의존성으로
# 코드 리뷰: [브랜치명]
## 요약
[1-2문장 전체 평가]
- CRITICAL: N건 / WARNING: N건 / INFO: N건
## 파일별 리뷰
### path/to/file.ts
- [CRITICAL] (라인 XX): [설명] → [수정 방법]
- [WARNING] (라인 XX): [설명] → [제안]
## 판정
- **승인** — CRITICAL 0건
- **수정 후 승인** — CRITICAL 0건, WARNING 있음
- **재작업** — CRITICAL 1건 이상
최종 보고서에 다음 섹션을 추가:
## Codex (GPT-5.4) 리뷰 결과
[Codex가 발견한 이슈 요약]
## Claude 추가 발견
[Codex가 놓쳤지만 Claude가 발견한 이슈]
## 교차 검증
[두 리뷰어가 동시에 지적한 항목 — 높은 신뢰도]
# 순환참조 검사 (JS/TS)
npx madge --circular --extensions ts,tsx src/ 2>/dev/null
# AI 슬롭 패턴 (ast-grep)
sg --pattern 'console.log($$$)' --lang ts 2>/dev/null | head -10
sg --pattern 'as any' --lang ts 2>/dev/null | head -10
# 시크릿 스캔 (gitleaks)
gitleaks detect --source . --no-git -v 2>&1 | head -20
# 코드 통계 (scc) — 변경 파일만
scc $(git diff ${BASE}...HEAD --name-only) 2>/dev/null
리뷰 중 발견한 반복 패턴이나 실수는 progress.txt에 기록합니다.
코드 단순화 및 리팩토링 — 변경된 코드를 리뷰하고 불필요한 추상화, 중복, 복잡성을 제거합니다. Triggers on: 단순화, simplify, 리팩토링, 코드 정리, 코드 개선. NOT for: 새 기능 추가, 버그 수정.
작업 완료 후 코드 검증 (타입체크, 린트, 테스트, 빌드). Triggers on: 검증, verify, 테스트 돌려, 빌드 확인, 타입체크. NOT for: E2E 테스트, 코드 작성, 구현.
Ralph Loop 병렬 버전. 여러 에이전트가 worktree에서 동시에 PRD 항목을 처리한다. 트리거: "병렬 실험", "autodev parallel", "동시에 실험", "워크트리 실험", "병렬 랄프" 안티-트리거: "순차 실험", "하나씩"
Ralph Loop 기반 자율 개발 루프. Stop Hook이 세션 종료를 가로채어 PRD 항목을 하나씩 완료하며 자동 커밋한다. 트리거: "autodev", "자율 개발", "밤새 돌려", "랄프 루프", "ralph loop", "자동 개발" 안티-트리거: "직접 구현해", "한번만 해", "수동"
변경사항 커밋, 푸시, PR 생성을 한 번에 수행하는 워크플로우. 트리거: "커밋", "PR 만들어", "푸시해", "PR 생성", "commit and push", "커밋하고 푸시", "PR 올려" 안티-트리거: "코드 리뷰", "git log 확인", "diff 보여줘", "브랜치 목록"
개발 완료 후 피처 기반 E2E 테스트 작성 및 실행. /verify 이후 실제 사용자 플로우를 검증합니다. Triggers on: e2e 검증, e2e-verify, E2E 테스트, 브라우저 테스트 실행. NOT for: 유닛 테스트, 타입체크, 빌드 검증.