gh-pr plugin 사용 예시

approve 사용 결과

한 줄 요약 — PR diff 와 리뷰 기준을 받아 리뷰 verdict 와 후속 이슈를 생성합니다.

NOTE — 이 문서는 미실행 예시입니다

gh-pr 스킬 8개는 모두 live repo 에 쓰므로 문서화 목적으로 실행하지 않았습니다. 명령·게이트·결과는 skills/approve/SKILL.md 인용이며 실행 로그가 아닙니다.

입력
PR diff + 리뷰 기준
스킬
/gh-pr:approve
산출물
리뷰 verdict + 후속 이슈
step 1

실행할 명령

범용 형식과 이 저장소를 대상으로 한 구체 형식.

/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 은 승인 대신 이 경로
step 2

입력

무엇이 입력이고, 실행 전 어떤 선행 조건이 충족돼야 하는가.

대상 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 호출 전에 막는다.

step 3

결과 (실행 시)

실행하면 어디에 무엇이 남는가.

  • 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 상태와 새로 생긴 이슈 번호로 한다.