github-pull-request
SKILL.md
Github Pull Request
Path Resolution (avoid missing-skill errors)
- Always open this skill using the absolute path from the active session skills list (for example
~/.codex/skills/github-pull-request/SKILL.md). - Do not try repo-relative
.codex/skills/...or.agents/skills/...paths unless the session explicitly lists that exact path. - If you hit a missing-skill error from an old path, re-open this skill from the active session skills list and continue (do not retry repo paths).
Workflow
- Confirm branch and scope
- Run
git branch --show-current. - If branch looks wrong for the requested work, ask for correction.
- Run
- Gather change context
- Run
git status -sb. - Run
git diff --stat origin/$(git rev-parse --abbrev-ref @{upstream}..HEAD)when upstream exists. - If no upstream exists, use
git diff --statandgit diffagainst the likely target branch.
- Run
- Decide PR title
- Follow
type(scope): short imperative summaryformat. - Keep title under 72 chars where possible.
- Follow
- Build PR body from required sections:
- Summary
- Why this change
- What changed (bullets grouped by feature/file area)
- Files changed
- QA / testing (exact commands + outcomes)
- Risk and impact
- Rollback plan
- Related issues
- Checklist
- Identify related issue(s)
- Parse issue number from branch if present (examples:
123,issue-123,fix/123-...). - Add
Fixes #<issue>orCloses #<issue>in the PR body when confirmed.
- Parse issue number from branch if present (examples:
- Push branch if needed
- If branch has no upstream, run
git push -u origin <branch>.
- If branch has no upstream, run
- Pre-create guards (avoid
gh pr createhard failures)- Check whether an open PR already exists for this branch:
gh pr list --head <branch> --state open --json number,url- If one exists, stop and report the existing PR link instead of creating a duplicate.
- Check commit delta against intended base branch before create:
git rev-list --count <base>..HEAD- If count is
0, stop and report "no commits to open PR against<base>" with next action:- verify current repo/branch, or
- push the intended commits, or
- switch to the correct branch.
- Check whether an open PR already exists for this branch:
- Create PR
- If user requested draft, pass
--draft. - Write the PR body to a temp file and use
--body-fileto avoid shell quoting/interpolation bugs with Markdown/backticks. - Preferred pattern:
BODY_FILE=$(mktemp)cat > "$BODY_FILE" <<'EOF'...EOFgh pr create --title "<title>" --body-file "$BODY_FILE"rm -f "$BODY_FILE"
- If
ghauth is unavailable or user is not in GitHub environment, output the prepared title and body text for manual submission.
- If user requested draft, pass
- Report back
- Include PR link if created, target branch, and review expectations.
- Ask explicitly what should be prioritized in review.
PR body template
## Summary
- ...
## Why
- ...
## What changed
- ...
## Files changed
- ...
## QA / Testing
- Command: `...` — Result: ...
- Command: `...` — Result: ...
## Risks and impacts
- ...
## Rollback plan
- ...
## Related issues
- Fixes #123 (optional)
## Checklist
- [ ] Tests pass
- [ ] No obvious regressions
- [ ] Documentation updated where needed
- [ ] Rollback path documented
Hard rules
- Never submit a PR without a QA/testing section.
- Never claim tests passed without listing exact commands and outputs.
- Do not include secrets, credentials, or internal URLs in the PR description.
- Ask before adding reviewers/labels if not already provided.
- Never merge a PR automatically; only merge when the user explicitly instructs it.
Optional metadata enrichment with gh
- Use
gh pr createandgh pr viewfor consistency checks. - If labels are requested, add after creation:
gh pr edit <number> --add-label <label>
- If reviewers are requested:
gh pr edit <number> --add-reviewer <users>
Weekly Installs
1
Repository
mindgames/skillsFirst Seen
7 days ago
Security Audits
Installed on
amp1
cline1
opencode1
cursor1
kimi-cli1
codex1