gh-pr plugin · skill output

merge-emergency 사용 결과

미승인 PR 과 10자 이상의 서면 사유를 받아, admin 우회 머지와 사유 코멘트 1건 + 후속 incident 이슈 1건을 생성합니다.

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

실행할 명령

/gh-pr:merge-emergency <PR> <reason> [remote]                              # 범용 형식
/gh-pr:merge-emergency 42 "INC-1031 prod 500 on /login since 14:00 KST"    # 이 repo(dEitY719/gh-pr-skills, origin) 대상
02

입력

PR 번호

생략 시 현재 브랜치의 PR 을 자동 탐지하고, 그것도 없으면 중단.

사유 필수

10자 이상, 인시던트 / 티켓 ID 또는 구체적 사용자 영향 포함. "urgent" / "fix" / "merge now" 는 거부.

remote

기본 origin. 이 URL 하나에서 TARGET_REPO 와 TARGET_HOST 를 함께 해석.

하드 스톱 게이트 (Step 2 — 하나라도 어긋나면 중단)

게이트통과 조건
PR stateOPEN
draft아니어야 함
conflict없어야 함
필수 CI통과 우회 불가
사용자 확인Proceed? (yes/ok/진행/머지) 에 긍정 응답 (자동 진행 없음)
우회 대상은 승인 요건뿐이고 CI 는 여전히 게이트합니다.
03

결과 (실행 시)

산출물남는 위치검증 방법
사유 코멘트대상 PR 타임라인 (머지 전) gh pr view <N> --comments 에 [EMERGENCY] 헤더 + 사유 + 머지 직전 상태
머지된 PRbase 에 squash 커밋 1개, head 브랜치 삭제 gh pr view <N> --json mergeCommit -q .mergeCommit.oid 가 SHA 반환
incident 이슈Issues (incident: emergency merge of PR #<N> — ...) 머지 SHA + 인용 사유 + 72시간 회고 체크리스트 + ai-metrics 푸터
보드 카드프로젝트 보드 Done 보드 미부착 / 실패 시 조용히 건너뜀

최종 보고 형태

[OK] 판정 줄로 시작해 머지 SHA, 감사 코멘트 URL, incident 이슈 번호와 URL, 사유, 그리고 경고 한 줄이 출력됩니다.

[OK] Emergency-merged PR #<N>
  Merge SHA:       <sha>
  Audit comment:   <url>
  Incident issue:  #<M> (<url>)
  Reason:          <reason>
  [WARN] Add retro notes to incident issue within 72h.

거부(모호한 사유, Step 2 하드 스톱, 확인 거절, admin 권한 없음)는 아무것도 머지하지 않고 다음 한 줄만 출력합니다 — 정지별 문구는 references/audit-templates.md.

[FAIL] PR #<N> not merged — <이유>