Install
npx skillscat add andyko18/specops-ko/requesting-code-review-ko Install via the SkillsCat registry.
Engine 스킬 — 코드 리뷰 요청 (requesting-code-review)
코드 리뷰어 서브에이전트를 이슈가 누적되기 전에 dispatch. 리뷰어는 당신의 세션 히스토리가 아니라 정확히 조립된 평가용 컨텍스트를 받는다. 리뷰어를 결과물에 집중시키고, 당신 자신의 컨텍스트도 계속된 작업용으로 보존한다.
핵심 원칙: 일찍 리뷰, 자주 리뷰. (단, implementing이 이미 FID 전체 B·C를 끝낸 end-loaded면 중복 리뷰 생략 — 아래 Step 0)
Step 0 — end-loaded 중복 skip (필수 분기)
verifying-evidence-ko 직후 진입 시 먼저 판정:
FID=... # 활성 FID
# tasks.md YAML 루트 review_mode (부재=end-loaded)
grep -E '^review_mode:' ".specops/$FID/tasks.md" || trueSKIP 조건 (모두 충족):
review_mode가per-task가 아님 (부재·end-loaded포함)- tasks.md의 모든 task id에 대해
.specops/<FID>/reviews/<tid>-B-report.md와<tid>-C-report.md존재 - (권장)
dispatch-log.md에 해당 tid의 B/C PASS 행이 있음
SKIP 시 동작:
.specops/<FID>/review-skip.md작성 — 첫 줄에end-loaded: Phase B/C already covered full FID diff(사유 필수·비공백)- session-progress:
/request-review 완료 "review-skip.md (end-loaded)" - 외부 code-reviewer Agent dispatch 하지 않음
- 즉시
receiving-code-review-ko호출 (receiving이 skip을 통과시켜 security로)
lite+단일태스크 batch-review-skip 경로와 별개다. end-loaded skip은 risk-profile allowlist와 무관하며, batch-state.sh가 B/C report 존재로 검증한다.
조건 미충족 → 아래 정상 리뷰 요청 절차.
리뷰 요청 시점
필수:
- 서브에이전트 주도 개발의 각 태스크 후
- 주요 기능 완료 후
- main 머지 전
선택이지만 가치 있음:
- 막혔을 때 (새 관점)
- 리팩터링 전 (기준선 체크)
- 복잡한 버그 픽스 후
요청 방법
1. git SHA 획득
BASE_SHA=$(git rev-parse HEAD~1) # 또는 origin/main
HEAD_SHA=$(git rev-parse HEAD)[batch 모드 — per-FR base 격리]
.specops/<FID>/spec.md에**§batch**라벨이면, 위HEAD~1은 쓰지 않는다. batch 는 공유feat/<BATCH_ID>브랜치에 여러 FR 커밋이 누적되므로,HEAD~1·git log|grep "Task 1"|head -1은 직전 FR 의 변경까지 diff 에 끌어들여 review.diff 를 뭉갠다(이름만 per-FID, 내용은 blended). 오케스트레이터(/start-allPhase 3)가 각 FR 구현 직전 기록한 base 를 읽는다:if grep -qE '^\*\*§batch\*\*:' ".specops/$FID/spec.md" 2>/dev/null && [ -f ".specops/$FID/review-base.sha" ]; then BASE_SHA=$(cat ".specops/$FID/review-base.sha") # 이 FR 구현 시작 시점 HEAD — per-FR 격리 fi
review-base.sha부재 시(단일 모드·파일 미기록)는 위 기본HEAD~1로 fallback.
외부 모델 의견 병행 (advisory — multimodel-critic)
리뷰어 dispatch 전 1회:
git diff <BASE_SHA>..<HEAD_SHA> > .specops/<FID>/reviews/review.diff- diff 에 비밀 (자격증명·.env·키) 포함 의심 시 위탁 생략 —
외부 critic: SKIP (비밀 보호)기재 (외부 모델 전송 = 외부 송신)
- diff 에 비밀 (자격증명·.env·키) 포함 의심 시 위탁 생략 —
bash "${CLAUDE_PLUGIN_ROOT}"/scripts/critic-ask.sh templates/critic-prompt-diff.md --files .specops/<FID>/reviews/review.diff- 의견 출력 시
.specops/<FID>/reviews/external-critic.md저장 → 리뷰어 dispatch 프롬프트에 경로만 추가 (file-based-communication) CRITIC: SKIP/FAIL→ 미첨부 + review-request.md 에외부 critic: SKIP (<사유>)1줄 (한계 고백)- advisory: 외부 의견은 판정 권한 없음 — Claude 리뷰어가 비판적으로 평가할 입력 (receiving-code-review 규약 적용)
2. 코드 리뷰어 서브에이전트 dispatch
Agent 도구로 code-reviewer(또는 oh-my-claudecode:code-reviewer) 서브에이전트 호출. 다음 정보를 전체 텍스트로 포함:
필수 필드:
WHAT_WAS_IMPLEMENTED— 방금 구축한 것PLAN_OR_REQUIREMENTS— 무엇을 해야 했는지 (플랜·요구사항)BASE_SHA— 시작 커밋HEAD_SHA— 종료 커밋DESCRIPTION— 간략 요약
3. 피드백 대응
- Critical 이슈: 즉시 수정
- Important 이슈: 다음 단계 진행 전에 수정
- Minor 이슈: 기록 후 나중에
- 리뷰어가 틀렸으면: 근거와 함께 pushback (본 스킬
## 리뷰어가 틀렸을 때참조)
예시
[Task 2 방금 완료: 검증 함수 추가]
당신: 진행 전 코드 리뷰를 요청합니다.
BASE_SHA=$(git log --oneline | grep "Task 1" | head -1 | awk '{print $1}') # 단일 모드 예시 — batch 는 §1 [batch 모드] 분기(review-base.sha) 사용
HEAD_SHA=$(git rev-parse HEAD)
[code-reviewer 서브에이전트 dispatch]
WHAT_WAS_IMPLEMENTED: 대화 인덱스 검증·수리 함수
PLAN_OR_REQUIREMENTS: docs/plans/deployment-plan.md Task 2
BASE_SHA: a7981ec
HEAD_SHA: 3df7661
DESCRIPTION: verifyIndex() + repairIndex() 추가, 4 이슈 타입
[서브에이전트 반환]:
강점: 깔끔한 아키텍처, 실제 테스트
이슈:
Important: 진행 표시기 누락
Minor: 보고 간격 100이 매직 넘버
평가: 진행 가능
당신: [진행 표시기 수정]
[Task 3 진행]워크플로 통합
서브에이전트 주도 개발:
- 각 태스크 후 리뷰
- 복합되기 전 이슈 포착
- 다음 태스크 전 수정
인라인 실행:
- 각 배치(3 태스크) 후 리뷰
- 피드백 받고 적용, 계속
애드혹 개발:
- 머지 전 리뷰
- 막혔을 때 리뷰
레드 플래그
절대 금지:
- "간단하니까" 리뷰 생략
- Critical 이슈 무시
- Important 이슈 미해결로 진행
- 타당한 기술 피드백에 논쟁
리뷰어가 틀렸을 때:
- 기술 근거와 함께 pushback
- 동작을 증명하는 코드·테스트 제시
- 명확화 요청
5원칙 주입 (specops-ko 고유)
| 원칙 | 본 스킬 적용 |
|---|---|
| 1 투명성 | 리뷰 요청 payload 전문을 .specops/<FID>/review-request.md에 보존(skip 시 review-skip.md) |
| 2 문지기 | Critical 미해결 상태로 머지 불가. 무단 리뷰 생략 불가 — end-loaded/lite skip만 산출물·메타로 허용 |
| 3 깊이 | "간단해서 리뷰 불필요"는 거부 신호. 작은 PR도 리뷰(단 Step 0 end-loaded는 이미 B·C 완료) |
| 4 주권 존중 | 사용자가 리뷰 생략을 명시 지시하지 않는 한 항상 리뷰 요청(단 Step 0 end-loaded·batch lite skip 예외) |
| 5 한계 고백 | 리뷰어 컨텍스트 부족 감지 시 "이 부분은 리뷰 범위 밖" 기록 |
참조
- 리뷰어 에이전트:
agents/code-reviewer-ko.md(Phase C —subagent_type: "specops-ko:code-reviewer-ko") - specops-ko 한국어 선례:
skills/requesting-code-review-ko/SKILL.md
session-progress append (v0.4-pre P1 신설)
review-request 작성 + 외부 리뷰어 dispatch 후(또는 Step 0 skip 후), receiving-code-review-ko 호출 직전에:
# 정상
bash "${CLAUDE_PLUGIN_ROOT}"/scripts/session-progress-append.sh <FID> /request-review 완료 "review-request.md, 외부 reviewer dispatch"
# Step 0 end-loaded skip
bash "${CLAUDE_PLUGIN_ROOT}"/scripts/session-progress-append.sh <FID> /request-review 완료 "review-skip.md (end-loaded)"다음 skill
리뷰 피드백 수령 + session-progress append 직후 즉시 호출:
Skill: specops-ko:receiving-code-review-koreceiving-code-review-ko가 피드백을 어떻게 수용·검증·구현할지 강제한다. 본 requesting-code-review-ko는 receiving-code-review-ko 이외의 다음 스킬을 호출하지 않는다.