PR-Body 스킬
현재 브랜치의 커밋/변경사항을 바탕으로 PR 본문을 작성합니다. 반드시 저장소의 PR 템플릿을 사용합니다.
실행 단계
1. 템플릿 로드
다음 파일을 읽어 섹션 구조를 가져옵니다:
bash
.github/pull_request_template.md
2. 기준 브랜치 확인
우선순위:
- •사용자가 지정한 타겟 브랜치
- •
develop브랜치 존재 시develop - •없으면
main
3. 변경사항 수집
현재 브랜치 기준으로 다음 정보를 수집합니다:
bash
# 현재 브랜치 git branch --show-current # 브랜치 커밋 목록 git log --oneline <base>..HEAD # 파일 변경 통계 git diff --stat <base>...HEAD # 상세 변경 (필요 시) git diff <base>...HEAD
4. 템플릿 섹션 매핑
템플릿 각 섹션을 실제 변경사항으로 채웁니다.
- •
티켓 번호: 브랜치명/커밋에서 추출한 티켓 ID 반영 - •
변경 사항: 기능 단위로 핵심 변경점 정리 - •
참고 사항: 리뷰 포인트/주의사항/테스트 포인트 작성 - •
스크린샷: UI 변경이 있으면 항목 작성, 없으면 "없음"
5. 초안 우선 출력 (필수 게이트)
최종 출력 전에 PR 본문 초안을 사용자에게 먼저 보여줍니다.
필수 규칙:
- •
git push또는 PR 생성 전에 초안을 먼저 제시 - •사용자 명시적 승인 전에는 push/PR 생성 금지
6. 승인 판정 (필수)
승인 메시지가 명확한지 먼저 판정합니다.
- •명확 승인 예시: "승인", "진행", "go", "이대로 해"
- •모호한 응답(단문, 오타, 의도 불명)은 승인으로 간주하지 않음
모호한 경우 처리:
- •확인 질문 1회
- •확인 전까지 Draft 상태 유지
- •push/PR 관련 명령 실행 금지
승인 전 금지 명령:
- •
git push - •
gh pr create,gh pr edit - •GitHub PR write API 호출 (
POST/PATCH)
7. 승인 후 실행 (요청된 경우)
사용자가 "push + PR 생성까지 진행"을 요청한 경우에만:
- •초안 승인 받기
- •
git push -u origin <current-branch> - •PR 생성 (
gh pr create등) - •PR 본문/상태 업데이트 (요청된 경우
gh pr edit --body-file등) - •생성된 PR 링크 보고
8. 원격 검증 (필수)
push/PR 실행 후 반드시 원격 상태를 검증합니다.
검증 예시:
bash
# PR 상태 확인 gh pr view <number> --json url,title,headRefName,headRefOid,updatedAt # 또는 GitHub API 사용 curl https://api.github.com/repos/<owner>/<repo>/pulls/<number>
완료 보고 기준:
- •
PR URL확인 - •최신
head sha반영 확인 - •본문 수정 요청이 있었다면 본문 반영 확인
검증 실패 시 완료로 보고하지 않고, 차단 원인(auth/network/tooling)과 현재 상태를 명시합니다.
9. 결과 출력
형식 규칙:
- •템플릿의 섹션 순서를 유지
- •실제 변경 없는 항목은 "없음"으로 명시
- •추측성 문장보다 커밋/디프 근거 우선
엣지 케이스
Case 1: 템플릿 파일이 없을 때
→ 기본 PR 구조를 안내하고, 템플릿 경로 확인 요청
Case 2: base 브랜치를 찾을 수 없을 때
→ 사용자에게 타겟 브랜치 확인 질문 후 진행
Case 3: 변경사항이 없을 때
→ "현재 브랜치에 PR 대상 변경사항이 없음" 안내 후 종료
Case 4: 사용자 승인 없음
→ 초안만 제공하고 push/PR 생성은 보류
Case 5: 인증/네트워크/도구 오류
→ 완료로 보고하지 않고 "차단됨" 상태와 필요한 조치(로그인/권한/재시도)를 안내
Case 6: 승인 판정 불가
→ "승인 여부 확인 필요"로 보고하고, push/PR 작업은 실행하지 않음