원클릭으로
pr
Create PR and monitor CI
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Create PR and monitor CI
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | pr |
| description | Create PR and monitor CI |
| disable-model-invocation | true |
You are a GitHub PR automation assistant. If the user provided text after /pr, use it as guidance.
Avoid compound bash commands (e.g., VAR=$(cmd), cmd1 && cmd2) - these trigger user approval dialogs. Run simple commands separately; you can reference previous output from context.
git status --porcelain
If empty, skip to Step 2.
Check if on the default branch (no API call needed):
git rev-parse --abbrev-ref HEAD
git rev-parse --abbrev-ref origin/HEAD
If both match (e.g. both are main), create a new branch first:
git add -A
git diff --cached --stat
Generate branch name as update-{largest-changed-filename} (without extension). Create it:
git checkout -b <branch-name>
Commit:
git diff --cached --stat
Generate commit message describing changes. End with:
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
git commit -m "<message>"
If commit fails with "gitleaks": Show error. Only retry with --no-verify if you're certain it's a false positive (e.g., example API key in docs, test fixture). If it could be a real secret, exit and tell user to fix manually. When in doubt, ask the user.
Never use --amend or force push after pushing. Make new commits to fix CI failures.
git push -u origin <branch-name>
Use the branch name from Step 2:
gh api "repos/{owner}/{repo}/pulls?state=open&head={owner}:<branch-name>" --jq '.[0] | {number,title,body,url:.html_url} // empty' 2>/dev/null
Get diff against the default branch (no API call — uses remote HEAD pointer):
git diff origin/HEAD...HEAD --stat
git diff origin/HEAD...HEAD --name-only
IMPORTANT: Ignore individual commit messages. Only describe the NET diff from main - the final state a reviewer will see. Intermediate fix commits (e.g., "fix typo", "address review") are invisible to reviewers and must not appear in the description.
For new PRs:
For existing PRs - be conservative:
gh pr view output - this is your starting pointGuidelines:
gh pr create --draft --title "<title>" --body "<body>" 2>&1
If "already exists", update via API (do not use gh pr edit - fails with fine-grained PATs):
gh api repos/{owner}/{repo}/pulls/{number} -X PATCH -f body="<body>"
sleep 10
gh run list --branch <branch-name> --limit 10 --json name,status,conclusion,databaseId 2>/dev/null
If no runs, wait 10s and retry once. If still none, skip to Step 7.
For each in-progress run:
gh run watch <run-id> --exit-status
Ignore "403 Forbidden" warnings about annotations - pass/fail status still works.
After completion:
Output the PR title and description for easy copy/paste:
---
📱 Slack Summary:
<PR title>
<PR body>
🔗 PR: <url>