AgentSkillsCN

pr-body

基于 PR 模板撰写正文内容

SKILL.md
--- frontmatter
name: pr-body
version: 1.2.0
description: PR 템플릿 기반 본문 작성
user-invocable: true

PR-Body 스킬

현재 브랜치의 커밋/변경사항을 바탕으로 PR 본문을 작성합니다. 반드시 저장소의 PR 템플릿을 사용합니다.

실행 단계

1. 템플릿 로드

다음 파일을 읽어 섹션 구조를 가져옵니다:

bash
.github/pull_request_template.md

2. 기준 브랜치 확인

우선순위:

  1. 사용자가 지정한 타겟 브랜치
  2. develop 브랜치 존재 시 develop
  3. 없으면 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. 확인 질문 1회
  2. 확인 전까지 Draft 상태 유지
  3. push/PR 관련 명령 실행 금지

승인 전 금지 명령:

  • git push
  • gh pr create, gh pr edit
  • GitHub PR write API 호출 (POST/PATCH)

7. 승인 후 실행 (요청된 경우)

사용자가 "push + PR 생성까지 진행"을 요청한 경우에만:

  1. 초안 승인 받기
  2. git push -u origin <current-branch>
  3. PR 생성 (gh pr create 등)
  4. PR 본문/상태 업데이트 (요청된 경우 gh pr edit --body-file 등)
  5. 생성된 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 작업은 실행하지 않음