github prs skill

This commit is contained in:
Thomas G. Lopes
2026-02-21 12:35:45 +00:00
parent c69180d37b
commit 52cca2148f

View File

@@ -0,0 +1,90 @@
---
name: github-prs
description: Find, inspect, and create GitHub pull requests for a branch using the GitHub CLI and git. Use when you need to locate the PR tied to a branch or open/update a PR.
---
# GitHub PRs (branch workflows)
This skill documents common GitHub CLI workflows for finding a PR for a branch, inspecting it, and creating one if needed.
## Prerequisites
- Repository has a GitHub remote (usually `origin`).
- GitHub CLI (`gh`) is installed and authenticated (`gh auth status`).
## Find the PR for the current branch
```bash
# Show current branch
branch=$(git rev-parse --abbrev-ref HEAD)
# Find PR for the current branch (if one exists)
gh pr list --head "$branch" --state all
# View the PR details by branch
pr_number=$(gh pr list --head "$branch" --state all --json number --jq '.[0].number')
if [ -n "$pr_number" ]; then
gh pr view "$pr_number" --web
fi
```
## Find PRs by branch name (explicit)
```bash
branch="feature/your-branch"
gh pr list --head "$branch" --state all
```
## Find the PR for the current branch (alternative via git)
```bash
# If upstream is set, this is handy for branch -> PR lookup
upstream=$(git rev-parse --abbrev-ref --symbolic-full-name @{u})
if [ -n "$upstream" ]; then
gh pr list --head "${upstream#origin/}" --state all
fi
```
## Create a PR from the current branch
```bash
branch=$(git rev-parse --abbrev-ref HEAD)
# Push branch if needed
if ! git rev-parse --symbolic-full-name "${branch}@{u}" >/dev/null 2>&1; then
git push -u origin "$branch"
fi
# Create PR (edit title/body as needed)
gh pr create \
--title "[ISSUE-123] Short summary" \
--body $'[![developer_preview](https://img.shields.io/badge/Web_App_Preview-ready-green?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADpSURBVHgBtZOBEYIwDEVTzwF0g7pJ3QQnkI3USRgBNygbwAYxKeUM2ObKCf8uV6Cvv01oAPYSIlqKhqLHUfxsE5wTHMfjh4tmHtNyC7OU/MyUXp6YVys4r3ANMyaCPQ0npSKXOHqFGYwx5wNsp3CgyfCtgB3tHIJPASVSis2qBFcrHKZMvZjnK1EnNq8w83N43iQW2DAxpqhlZZffeM0R/lR245hyKzLwsn6Cu+O3mybOLSGLedWCqxTOScNGAXvBeYWbdQqCrtWdUnZhdRV3yipNhjeKDjZQMIx36Urxgnz6A+il6WAPfQCiq+BEGLOCVwAAAABJRU5ErkJggg==)](https://awac.attio.com/redirect/developer-preview/<preview-hash>)\n\n\n\n- Summary bullet 1\n- Summary bullet 2\n'
```
## Update an existing PR body
```bash
pr_number=<number>
# Edit in editor
EDITOR=vim gh pr edit "$pr_number" --body-file -
# Or overwrite directly
gh pr edit "$pr_number" --body $'...'
```
## Quick checks
```bash
# Confirm gh auth and repo
gh auth status
gh repo view --web
```
## Troubleshooting
- If `gh pr list --head` returns nothing, the PR may not exist yet, or the branch name differs.
- Use `git branch -r | rg <branch-name>` to confirm the remote branch name.
- Ensure you're in the correct repo (`git remote -v`).