approve 사용 결과
한 줄 요약 — PR diff 와 리뷰 기준을 받아 리뷰 verdict 와 후속 이슈를 생성합니다.
NOTE — 이 문서는 미실행 예시입니다
gh-pr 스킬 8개는 모두 live repo 에 쓰므로 문서화 목적으로 실행하지 않았습니다.
명령·게이트·결과는 skills/approve/SKILL.md 인용이며
실행 로그가 아닙니다.
실행할 명령
범용 형식과 이 저장소를 대상으로 한 구체 형식.
/gh-pr:approve [<PR#>] [<remote>] [--self-record | --admin-merge [--squash|--rebase|--merge]]
/gh-pr:approve 12 # 이 repo(dEitY719/gh-pr-skills, remote origin) 대상
/gh-pr:approve 12 --self-record # 자기가 작성한 PR 은 승인 대신 이 경로
입력
무엇이 입력이고, 실행 전 어떤 선행 조건이 충족돼야 하는가.
대상 PR 의 diff, 커밋, 그리고 세 개의 코멘트 엔드포인트(inline / issue / review) 전부와,
skills/approve/references/review-criteria.md 의 체크리스트.
세 개의 코멘트 엔드포인트를 전부 읽는다 — 펼쳐보기
봇과 사람이 피드백을 세 개의 API 에 흩뿌린다. 하나라도 빠뜨리면 코멘트를 놓친다.
# inline code review comments (line-anchored)
gh api "repos/$TARGET_REPO/pulls/<N>/comments" --paginate
# top-level issue-style comments
gh api "repos/$TARGET_REPO/issues/<N>/comments" --paginate
# review summaries (봇이 자주 쓰는 자리)
gh api "repos/$TARGET_REPO/pulls/<N>/reviews" --paginate
모든 호출에 GH_HOST="$TARGET_HOST" 접두가 붙는다.
정지 게이트
PR 이 OPEN 이고 draft 가 아니며
required check 가 실패가 아닐 것. 하나라도 걸리면 정지한다.
경고 게이트
mergeable: CONFLICTING /
rebaseable: false 는 정지가 아니라 경고이며, 경고 블록이 리뷰 본문과 최종 보고에 붙는다.
self-PR 게이트
author.login == ME 이면 승인 경로가
열리지 않는다. GitHub 이 self-approval 을 서버 측에서 거부하므로 스킬이 API 호출 전에 막는다.
결과 (실행 시)
실행하면 어디에 무엇이 남는가.
- PR 에 리뷰 verdict 1개 — blocker 0 + follow-up 0 이면 4a 클린
--approve, blocker 0 + follow-up 1개 이상이면 4b 이슈 등록 후--approve, blocker 1개 이상이면 4c--request-changes. 승인 본문에는 file:line 또는 short SHA 근거를 댄 구체적 칭찬이 최소 1개 들어간다. - FOLLOW-UP 마다 GitHub 이슈 1개 + 그것들을 링크하는 PR 코멘트 1개(4b 경로).
- ai-metrics PR 코멘트 1개(
GH_DISABLE_AI_METRICS=1이면 생략). - projectV2 보드 카드
Approved승격 — 4a / 4b /--self-record에서만. 4c · analysis-only ·--admin-merge에서는 승격하지 않는다.
검증 방법
최종 보고에 reviewDecision, mergeStateStatus, blocker/follow-up 개수, 이슈 링크, PR URL 이 출력된다.
검증은 PR 페이지의 review 상태와 새로 생긴 이슈 번호로 한다.