m_review — 교차리뷰와 개선
리뷰어는 코드를 고치지 않고 리뷰노트만 남깁니다. 고치는 것은 이 스킬을 실행한 에이전트가 지적사항을 직접 확인한 뒤에 합니다.
입력
<ID>: 리뷰할 계획 ID.plan/<ID>_plan_*.md,impl/<ID>_impl_*.md가 있어야 합니다.<에이전트>:claude|codex|agy. 교차리뷰가 목적이므로 가능하면 지금 실행 중인 에이전트와 다른 것을 사용합니다.[모델]: 생략하면 각 CLI의 기본 모델을 사용합니다.
절차
- 리뷰 대상 고정: 커밋되지 않은 변경이 있으면 커밋할지 먼저 묻습니다. 구현 노트에서 구현 커밋 해시를 확인합니다.
- 모델 이름 확인 (파일명에 사용):
- codex: 지정한 모델, 없으면
~/.codex/config.toml의model - claude: JSON 출력의
modelUsage키 - agy: 지정한 모델, 없으면
~/.gemini/settings.json의model, 그것도 없으면default
- codex: 지정한 모델, 없으면
- 리뷰어 실행:
review_prompt.md(이 스킬 폴더)의{ID},{PLAN},{IMPL}(실제 파일 경로),{COMMIT},{REVIEWER}를 채워 임시 파일(prompt.txt)로 만들고, 결과를review/<ID>_review_<에이전트>-<모델>.md로 저장합니다.- codex:
codex exec --sandbox read-only --ephemeral [-m <모델>] -o review/<파일> - < prompt.txt - claude:
claude -p --tools "Read,Grep,Glob" --output-format json [--model <모델>] < prompt.txt→ JSON의result를 저장 - agy:
agy --sandbox --mode plan --output-format json [--model <모델>] -p "$(cat prompt.txt)" < /dev/null→ JSON의response를 저장 - 리뷰는 5~15분 걸립니다. 백그라운드로 실행하거나 긴 timeout을 설정합니다. stdin은 반드시 파일이나
/dev/null로 연결합니다 (연결하지 않으면 codex는 입력을 기다리며 멈춥니다). - 끝나면
git status로 리뷰어가 파일을 바꾸지 않았는지 확인합니다.
- codex:
- 지적사항 검증: 각 항목을 코드에서 직접 확인하고, 가능하면 재현합니다. 판단은
타당/일부 타당/기각(이유). - 개선:
- 확실한 문제는 바로 고치고, 재발을 막는 회귀 검증을
test_*.py에 추가합니다. - 결정이 필요한 문제는
D1,D2…로 번호를 붙이고 사용자에게 한 번에 하나씩 묻습니다. 선택지 2~3개를 제시하고 추천안에(추천)과 이유를 붙입니다. 필요하면 선택지를 실험으로 먼저 확인합니다.
- 확실한 문제는 바로 고치고, 재발을 막는 회귀 검증을
- 기록: 아래 템플릿으로
review/<ID>_refine_<에이전트>-<모델>.md를 작성합니다 (이 스킬을 실행한 에이전트 기준). 같은 ID로 다시 리뷰하면 기존 refine 파일에## <날짜> <리뷰노트 파일명>절을 추가합니다. 계획 문서와 구현 노트에도 영향을 반영합니다 (보류 표시, 계획 대비 변경 등). 파일명과 다른 에이전트가 수정하는 문서에는AGENTS.md규칙대로 변경 기록을 남깁니다. - 마무리: 자체 검증과 필요한 실제 실행을 다시 실행한 뒤 결과를 보고하고, 커밋합니다 (메시지 규칙은
AGENTS.md).
템플릿 (review/<ID>_refine_<에이전트>-<모델>.md)
# [<ID>] 리뷰 반영
## <날짜> review/<ID>_review_<에이전트>-<모델>.md
| ID | 판단 | 처리 |
| :--- | :--- | :--- |
| <ID>-R1 | 타당 (<확인 방법>) | ✅ <수정 내용> / ⏸ 결정 D1 / ✖ 기각: <이유> |
### 결정
- ✅ **D1 (<ID>-R?)** <질문> → 결정: <선택> (<이유>)
### 검증
<수정 후 다시 실행한 검증과 결과>