HEAD와 사용자가 제공한 고정 지점 간의 diff를 두 가지 축으로 검토합니다:
- 표준(Standards) — 코드가 이 저장소의 문서화된 코딩 표준을 준수합니까?
- 명세(Spec) — 코드가 원래 이슈 / PRD / 명세를 충실히 구현합니까?
두 축은 병렬 하위 에이전트로 실행되어 서로의 컨텍스트를 오염시키지 않으며, 이후 이 스킬이 결과를 집계합니다.
이슈 트래커가 제공되었어야 합니다 — docs/agents/issue-tracker.md가 없는 경우 /setup-matt-pocock-skills를 실행하세요.
프로세스
1. 고정 지점 고정(Pin the fixed point)
사용자가 말한 고정 지점(커밋 SHA, 브랜치 이름, 태그, main, HEAD~5 등)을 그대로 사용합니다. 사용자가 지정하지 않았다면 물어보세요.
diff 명령어를 한 번 캡처합니다: git diff <fixed-point>...HEAD (세 점 표기법, 즉 병합 베이스를 기준으로 비교). 또한 git log <fixed-point>..HEAD --oneline을 통해 커밋 목록을 기록합니다.
더 진행하기 전에 고정 지점이 확인 가능한지(git rev-parse <fixed-point>)와 diff가 비어 있지 않은지 확인하세요. 잘못된 참조나 빈 diff는 여기서 실패해야 합니다 — 두 개의 병렬 하위 에이전트 내부가 아닙니다.
2. 명세 출처 식별하기
다음 순서로 원래 명세를 찾습니다:
- 커밋 메시지의 이슈 참조(
#123,Closes #45, GitLab!67등) —docs/agents/issue-tracker.md의 워크플로를 통해 가져옵니다. - 사용자가 인수로 전달한 경로.
- 브랜치 이름이나 기능과 일치하는
docs/,specs/, 또는.scratch/아래의 PRD/명세 파일. - 아무것도 찾지 못하면 사용자에게 명세 위치를 물어보세요. 명세가 없다고 하면 명세(Spec) 하위 에이전트는 건너뛰고 "사용 가능한 명세 없음"을 보고합니다.
3. 표준 출처 식별하기
CODING_STANDARDS.md 또는 CONTRIBUTING.md와 같이 저장소에서 코드 작성 방법을 문서화한 모든 항목.
4. 두 하위 에이전트를 병렬로 실행하기
두 개의 Agent 도구 호출이 포함된 단일 메시지를 전송합니다. 두 에이전트 모두 general-purpose 하위 에이전트를 사용하세요.
표준(Standards) 하위 에이전트 프롬프트 — 다음을 포함:
- 전체 diff 명령어 및 커밋 목록.
- 3단계에서 찾은 표준 출처 파일 목록.
- 지시 사항: "보고서 — 관련 파일/청크별로 diff가 문서화된 표준을 위반하는 모든 부분을 보고하십시오. 표준(파일 + 규칙)을 인용하십시오. 심각한 위반과 판단 영역을 구분하십시오. 도구가 강제하는 사항은 건너뛰십시오. 400단어 미만."
명세(Spec) 하위 에이전트 프롬프트 — 다음을 포함:
- diff 명령어 및 커밋 목록.
- 명세의 경로 또는 가져온 내용.
- 지시 사항: "보고서: (a) 명세가 요청했지만 누락되거나 부분적으로만 구현된 요구 사항; (b) diff에서 요청되지 않은 동작(범위 확장); (c) 구현된 것으로 보이지만 구현이 잘못된 요구 사항. 각 결과에 대해 명세 라인을 인용하십시오. 400단어 미만."
명세가 없으면 명세(Spec) 하위 에이전트를 건너뛰고 최종 보고서에 이를 명시하십시오.
5. 집계하기
두 보고서를 ## Standards 및 ## Spec 제목 아래에 원문 그대로 또는 약간 정리하여 제시합니다. 결과를 병합하거나 순위를 다시 매기지 마십시오 — 두 축은 의도적으로 분리되어 있습니다(두 축을 분리하는 이유 참조).
축별 총 결과 수와 각 축 내 최악의 문제(있는 경우)를 한 줄 요약으로 마무리하십시오. 축 간에 단일 승자를 선택하지 마십시오 — 이것이 분리의 목적을 무효화하는 재순위 매기기입니다.
두 축을 분리하는 이유
변경 사항은 한 축은 통과하고 다른 축은 실패할 수 있습니다:
- 모든 표준을 따르지만 잘못된 것을 구현한 코드 → 표준 통과, 명세 실패.
- 이슈가 요청한 대로 정확히 동작하지만 프로젝트 규칙을 위반한 코드 → 명세 통과, 표준 실패.
별도로 보고하면 한 축이 다른 축을 가리는 것을 방지할 수 있습니다.