一键导入
create-pr
현재 브랜치를 푸시하고 gh CLI로 diff를 분석해 한국어 PR 설명을 자동 생성/업데이트하는 스킬. "PR 만들어줘", "PR 설명 작성", "PR description 써줘", "PR 올려야 하는데", "create-pr" 등의 요청에 반드시 이 스킬을 사용한다.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
현재 브랜치를 푸시하고 gh CLI로 diff를 분석해 한국어 PR 설명을 자동 생성/업데이트하는 스킬. "PR 만들어줘", "PR 설명 작성", "PR description 써줘", "PR 올려야 하는데", "create-pr" 등의 요청에 반드시 이 스킬을 사용한다.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | create-pr |
| description | 현재 브랜치를 푸시하고 gh CLI로 diff를 분석해 한국어 PR 설명을 자동 생성/업데이트하는 스킬. "PR 만들어줘", "PR 설명 작성", "PR description 써줘", "PR 올려야 하는데", "create-pr" 등의 요청에 반드시 이 스킬을 사용한다. |
gh CLI로 diff를 분석해 변경 사항 요약, 변경 이유/배경, 스크린샷/데모 섹션을 포함한 한국어 PR 설명을 자동 생성한다.
gh --version
설치 안 되어 있으면 중단: "GitHub CLI(gh)가 설치되어 있지 않습니다. 아래 명령어로 설치해주세요:
Mac: brew install gh Windows: winget install GitHub.cli
설치 직후에는 PATH가 반영되도록 터미널을 닫았다가 다시 열거나, 새 터미널 세션에서 진행해주세요.
이후 gh auth login 으로 GitHub 로그인을 해주세요."
gh auth status
gh auth login으로 먼저 인증해주세요."git rev-parse --git-dir
git rev-parse --abbrev-ref HEAD
CURRENT_BRANCH 변수에 저장브랜치 네이밍 규칙: {type}/{description} (예: feat/login-page, fix/token-expiry)
브랜치 타입 추출:
CURRENT_BRANCH에서 / 앞 세그먼트 추출 → PR_TYPE 저장feat/login-page → feat, fix/token-expiry → fix베이스 브랜치 결정:
git branch -r | grep -E "origin/(develop|main|master)"
feat/*, fix/*, chore/*, refactor/*, docs/* 등)인 경우:
develop 존재하면 → developmaindevelop 브랜치인 경우: → mainBASE_BRANCH 변수에 저장git ls-remote --heads origin ${CURRENT_BRANCH}
git push -u origin ${CURRENT_BRANCH}git push origin ${CURRENT_BRANCH}git log ${BASE_BRANCH}..HEAD --oneline
gh pr diff --name-only 2>/dev/null || git diff ${BASE_BRANCH}...HEAD --name-status
gh pr diff 우선 사용git diff fallbackgh pr diff 2>/dev/null || git diff ${BASE_BRANCH}...HEAD
기본은 4.3 전체 diff로 분석한다.
대용량으로 판단될 때만 전체 raw diff를 끝까지 읽지 않고, 아래를 조합한다.
git diff ${BASE_BRANCH}...HEAD --stat (PR이 열려 있으면 gh pr diff --stat 지원 시 동일 목적)git diff ${BASE_BRANCH}...HEAD -- path…대용량 판단: BASE_BRANCH와 HEAD 사이에서 변경된 파일이 30개 이상이면 대용량으로 본다. 개수는 4.2 목록을 세거나 git diff ${BASE_BRANCH}...HEAD --name-only | wc -l로 확인한다.
gh pr list --head ${CURRENT_BRANCH} --json number,url,state
EXISTING_PR_NUMBER 저장 → Step 7로EXISTING_PR_NUMBER = null → Step 6으로형식: {PR_TYPE}: {한 줄 요약}
PR_TYPE은 Step 2.2에서 브랜치명으로부터 이미 추출한 값 사용feat: 로그인 페이지 리디자인, fix: 토큰 만료 시 자동 로그아웃 처리커밋 메시지 추론 규칙 (git log ${BASE_BRANCH}..HEAD 범위)
feat, fix, refactor, chore, docs 다섯 가지 중 커밋 범위에 한 번이라도 등장한 것만 남긴다. (등장 횟수·최빈값은 보지 않는다.)PR_TYPE으로 고른다:feat > fix > refactor > chore > docschore를 기본값으로 쓴다.아래 템플릿을 항상 사용한다. 섹션 순서와 이모지 헤딩은 고정.
## 📋 작업 내용
{커밋과 diff를 바탕으로 완료된 작업을 체크박스로 나열}
- [x] 기능 구현
- [x] 페이지 구조화 및 스타일링
## 📌 PR Point
- {왜 이렇게 구현했는지, 주요 설계 결정}
- {발견된 위험이나 우려 사항, 없으면 "특이사항 없음"}
- {리뷰어가 집중해야 할 부분}
- {개발하면서 궁금했던 점이나 논의하고 싶은 부분}
## 📸 스크린샷
| As-is | To-be |
|-------|-------|
| | |
---
🤖 made by [claude](https://claude.ai)
작성 가이드:
[x][작성 필요] 플레이스홀더 남기기apps/, packages/)에 걸친 변경이면 영향 범위를 작업 내용에 명시스크린샷 처리:
## 📸 스크린샷 섹션 자체를 본문에서 제거gh pr edit으로 본문 업데이트본문을 /tmp/pr-body.md에 저장.
gh pr create \
--base ${BASE_BRANCH} \
--head ${CURRENT_BRANCH} \
--title "${PR_TITLE}" \
--body-file /tmp/pr-body.md
gh pr edit에 --body-file을 주면 기존 본문이 전부 교체된다. 수동으로 적어 둔 설명을 지우지 않도록 본문 덮어쓰기 전에 사용자에게 확인한다.
gh pr view ${EXISTING_PR_NUMBER} --json body로 기존 본문이 비어 있는지 참고한다. 비어 있으면 확인 생략해도 된다.gh pr edit ${EXISTING_PR_NUMBER} \
--title "${PR_TITLE}" \
--body-file /tmp/pr-body.md
gh pr edit을 호출하지 않는다. PR 제목·본문은 GitHub에 있는 그대로 둔다.gh pr diff를 우선, 없으면 git diff로 fallback