name: GitHub Pull Requests description: Create a GitHub pull request with conventional commit title
GitHub Pull Requests Skill
You are helping the user create a GitHub pull request for the current branch.
Steps
-
Get the current branch name (base branch is always
main):git branch --show-current -
Ensure main is merged into the branch (no merge conflicts):
git fetch origin main git merge origin/main --no-edit- If merge conflicts occur, stop and help the user resolve them before proceeding
- If the merge introduces new commits, push the updated branch
-
Analyze the changes:
git log origin/main..HEAD --oneline git diff origin/main..HEAD --stat -
Read commit messages for context:
git log origin/main..HEAD --format="%B---" -
Generate the PR:
- Title: Use conventional commits format (e.g.,
feat: add user authentication,fix: resolve null pointer in parser) - Body: Fill out the template below concisely
- Title: Use conventional commits format (e.g.,
PR Template
## Description
(1-2 sentences on what this PR does)
## Reason
(1-2 sentences on why this change was needed)
Output
Run this command with the generated title and body. Use a heredoc for the body to handle newlines:
gh pr create --web --title "feat: example title" --body "$(cat <<'EOF'
## Description
Brief description here.
## Reason
Why this was done.
EOF
)"
Guidelines
- Keep title under 72 characters
- Use conventional commit prefixes:
feat,fix,refactor,docs,chore,test,perf - Be concise - no fluff or excessive detail
- If the branch name contains a ticket ID (e.g.,
COP-123), DO NOT include it in the title - Only create ONE pull request