PR Workflow Skill
Umbrella skill for the entire pull request lifecycle. Routes to the correct reference based on the PR task requested.
Reference Loading Table
Detect the user's intent and load the appropriate reference file:
| Intent |
Trigger phrases |
Reference |
| Sync (default) |
"push", "create PR", "sync", "ship this" |
${CLAUDE_SKILL_DIR}/references/sync.md |
| Pipeline |
"submit PR", "full PR", "end-to-end PR", "open PR" |
${CLAUDE_SKILL_DIR}/references/pipeline.md |
| Fix |
"fix PR comments", "address review", "pr-fix", "resolve feedback" |
${CLAUDE_SKILL_DIR}/references/fix.md |
| Status |
"pr status", "branch status", "is my PR ready", "check CI" |
${CLAUDE_SKILL_DIR}/references/status.md |
| Cleanup |
"clean up branches", "delete merged branch", "prune" |
${CLAUDE_SKILL_DIR}/references/cleanup.md |
| Feedback |
"process PR feedback", "address reviews", "what did reviewers say" |
${CLAUDE_SKILL_DIR}/references/feedback.md |
| Miner |
"mine PRs", "extract review comments", "tribal knowledge", "reviewer patterns" |
${CLAUDE_SKILL_DIR}/references/miner.md |
| Branch name |
"generate branch name", "validate branch name", "name branch", "branch convention", "git branch name" |
${CLAUDE_SKILL_DIR}/references/branch-name.md |
| CI check |
"check CI", "CI status", "actions status", "did CI pass", "build status", "CI passed" |
${CLAUDE_SKILL_DIR}/references/ci-check.md |
| Commit |
"commit changes", "stage and commit", "commit my changes", "commit my files", "commit these" |
${CLAUDE_SKILL_DIR}/references/commit.md |
| Codex review |
"codex review", "second opinion", "code review codex", "gpt review", "cross-model review" |
${CLAUDE_SKILL_DIR}/references/codex-review.md |
| Land |
"land PR", "land the PR", "merge contributor PR", "rebase and merge PR" |
${CLAUDE_SKILL_DIR}/references/land-pr.md |
| Body safety |
any gh call writing or reading a PR/issue body |
${CLAUDE_SKILL_DIR}/references/gh-body-safety.md |
| Changelog |
"update changelog", "release notes", "curate changelog" |
${CLAUDE_SKILL_DIR}/references/changelog-curation.md |
| Decision brief |
"decision brief", "authorization tier", "ask the owner", "is it decision-ready" |
${CLAUDE_SKILL_DIR}/references/owner-decision-briefs.md |
| Risk classify |
automatic pre-review step; also "classify PR risk", "pr risk", "risk check" |
${CLAUDE_SKILL_DIR}/references/pr-risk-policy.md |
| INDEX conflict |
"INDEX.json conflict", "INDEX conflict on rebase", "two PRs regenerated INDEX", "regenerate INDEX after rebase" |
${CLAUDE_SKILL_DIR}/references/index-conflict-resolution.md |
Default action: When invoked with no arguments or ambiguous intent, load sync.md (the most common PR use case).
Review scope
Before dispatching reviewers, load references/pr-risk-policy.md. It owns risk classification, roster selection, and review reuse. Preserve explicit user and /do rosters and repository requirements; do not start a second review at each PR phase.
PR body
Use Summary → Changes → Notes, following .github/pull_request_template.md. Passing --body or --body-file supplies the body instead of loading that template.
- Summary: State what changes and why in 1–3 plain sentences; name the relevant issue or ADR.
- Changes: One fact per line: what changed and where. Summarize large lists by shape and count; let the diff enumerate them.
- Notes: Include non-obvious decisions, deliberate omissions, follow-ups, gotchas, superseded PRs, and material plan deviations. Also include manual verification, gaps in CI coverage, migration/rollout ordering, and security-sensitive changes. Omit the section only when none apply.
Keep command dumps out of the body; GitHub Checks records CI results. Retain verification facts that CI does not establish, such as “Apply the column migration before deploying” or “Not covered by CI — Terraform plan checked manually.”
Use existing planning artifacts for intent and completed work; otherwise use the diff and commits. Describe the final change, not the conversation or abandoned approaches unless they explain a tradeoff.
Write the body to a temporary file with a quoted heredoc, then pass --body-file, following ${CLAUDE_SKILL_DIR}/references/gh-body-safety.md. Read the body back before submitting it.
Execution
Load the matching reference and execute within the user's existing authorization. Ask only for an uncovered action or an explicit applicable repository requirement; do not ask again for actions already authorized. Preserve repository branch protection and review requirements.
1---2name: pr-workflow3description: |4 Pull request lifecycle: commit, codex review, sync, review, fix, status,5 cleanup, and PR mining. Use when user wants to commit changes, get a6 second-opinion code review from Codex, push changes, create a PR, check PR7 status, fix review comments, clean up branches after merge, or mine tribal8 knowledge from PR reviews. Use for "commit my changes", "codex review",9 "push my changes", "create a PR", "pr status", "fix PR comments",10 "clean up branches", "mine PRs", or "address feedback".11user-invocable: true12allowed-tools:13 - Bash14 - Read15 - Write16 - Edit17 - Grep18 - Glob19 - Task20 - Skill21 - AskUserQuestion22routing:23 force_route: true24 not_for: "general disagreement ('push back on a design'), committing to an idea ('commit to this approach'), pushing out the door, push notifications, social media reviews, metaphorical commit/merge ('commit to a decision', 'merge ideas in your head', 'merge the branches in your head', 'move forward and commit'), 'commit' meaning resolve/decide rather than git-commit — only for git push/commit/PR operations"25 triggers:26 - "push changes"27 - "push my changes"28 - "push to GitHub"29 - "push to remote"30 - "create PR"31 - "sync to GitHub"32 - "PR status"33 - "branch status"34 - "merge readiness"35 - "fix PR comments"36 - "resolve PR feedback"37 - "pr-fix"38 - "cleanup branches"39 - "clean up branches"40 - "merged branches"41 - "delete merged branch"42 - "prune branches"43 - "mine PRs"44 - "extract review comments"45 - "tribal knowledge"46 - "process PR feedback"47 - "address review comments"48 - "submit PR"49 - "create pull request"50 - "send for review"51 - "open PR"52 - "generate branch name"53 - "validate branch name"54 - "name branch"55 - "branch convention"56 - "git branch name"57 - "check CI"58 - "CI status"59 - "actions status"60 - "did CI pass"61 - "build status"62 - "CI passed"63 - "stage and commit"64 - "stage files commit"65 - "stage modified commit"66 - "commit staged"67 - "commit changes"68 - "commit these"69 - "commit my changes"70 - "commit my files"71 - "codex review"72 - "second opinion"73 - "code review codex"74 - "gpt review"75 - "cross-model review"76 - "git push"77 - "push to origin"78 - "push my branch"79 - "push the branch"80 - "ship it"81 - "ship this"82 - "ship this work"83 - "merge these fixes"84 - "merge this work"85 - "merge this in"86 - "make a pull request"87 - "draft a PR"88 - "draft pr"89 - "publish my changes"90 - "publish this"91 - "publish my work"92 - "let's get this reviewed"93 - "send this to GitHub"94 - "send to github"95 - "wrap up and merge"96 - "wrap this up and merge"97 - "land PR"98 - "land the PR"99 - "land this PR"100 - "merge contributor PR"101 - "rebase and merge PR"102 - "update changelog"103 - "release notes"104 - "curate changelog"105 - "decision brief"106 - "owner decision brief"107 - "authorization tier"108 category: git-workflow109 pairs_with:110 - verification-before-completion111 - code-linting112 - systematic-code-review113---114115# PR Workflow Skill116117Umbrella skill for the entire pull request lifecycle. Routes to the correct reference based on the PR task requested.118119## Reference Loading Table120121Detect the user's intent and load the appropriate reference file:122123| Intent | Trigger phrases | Reference |124|--------|----------------|-----------|125| **Sync** (default) | "push", "create PR", "sync", "ship this" | `${CLAUDE_SKILL_DIR}/references/sync.md` |126| **Pipeline** | "submit PR", "full PR", "end-to-end PR", "open PR" | `${CLAUDE_SKILL_DIR}/references/pipeline.md` |127| **Fix** | "fix PR comments", "address review", "pr-fix", "resolve feedback" | `${CLAUDE_SKILL_DIR}/references/fix.md` |128| **Status** | "pr status", "branch status", "is my PR ready", "check CI" | `${CLAUDE_SKILL_DIR}/references/status.md` |129| **Cleanup** | "clean up branches", "delete merged branch", "prune" | `${CLAUDE_SKILL_DIR}/references/cleanup.md` |130| **Feedback** | "process PR feedback", "address reviews", "what did reviewers say" | `${CLAUDE_SKILL_DIR}/references/feedback.md` |131| **Miner** | "mine PRs", "extract review comments", "tribal knowledge", "reviewer patterns" | `${CLAUDE_SKILL_DIR}/references/miner.md` |132| **Branch name** | "generate branch name", "validate branch name", "name branch", "branch convention", "git branch name" | `${CLAUDE_SKILL_DIR}/references/branch-name.md` |133| **CI check** | "check CI", "CI status", "actions status", "did CI pass", "build status", "CI passed" | `${CLAUDE_SKILL_DIR}/references/ci-check.md` |134| **Commit** | "commit changes", "stage and commit", "commit my changes", "commit my files", "commit these" | `${CLAUDE_SKILL_DIR}/references/commit.md` |135| **Codex review** | "codex review", "second opinion", "code review codex", "gpt review", "cross-model review" | `${CLAUDE_SKILL_DIR}/references/codex-review.md` |136| **Land** | "land PR", "land the PR", "merge contributor PR", "rebase and merge PR" | `${CLAUDE_SKILL_DIR}/references/land-pr.md` |137| **Body safety** | any `gh` call writing or reading a PR/issue body | `${CLAUDE_SKILL_DIR}/references/gh-body-safety.md` |138| **Changelog** | "update changelog", "release notes", "curate changelog" | `${CLAUDE_SKILL_DIR}/references/changelog-curation.md` |139| **Decision brief** | "decision brief", "authorization tier", "ask the owner", "is it decision-ready" | `${CLAUDE_SKILL_DIR}/references/owner-decision-briefs.md` |140| **Risk classify** | automatic pre-review step; also "classify PR risk", "pr risk", "risk check" | `${CLAUDE_SKILL_DIR}/references/pr-risk-policy.md` |141| **INDEX conflict** | "INDEX.json conflict", "INDEX conflict on rebase", "two PRs regenerated INDEX", "regenerate INDEX after rebase" | `${CLAUDE_SKILL_DIR}/references/index-conflict-resolution.md` |142143**Default action**: When invoked with no arguments or ambiguous intent, load `sync.md` (the most common PR use case).144145## Review scope146147Before dispatching reviewers, load `references/pr-risk-policy.md`. It owns risk classification, roster selection, and review reuse. Preserve explicit user and `/do` rosters and repository requirements; do not start a second review at each PR phase.148149## PR body150151Use **Summary → Changes → Notes**, following `.github/pull_request_template.md`. Passing `--body` or `--body-file` supplies the body instead of loading that template.152153- **Summary:** State what changes and why in 1–3 plain sentences; name the relevant issue or ADR.154- **Changes:** One fact per line: what changed and where. Summarize large lists by shape and count; let the diff enumerate them.155- **Notes:** Include non-obvious decisions, deliberate omissions, follow-ups, gotchas, superseded PRs, and material plan deviations. Also include manual verification, gaps in CI coverage, migration/rollout ordering, and security-sensitive changes. Omit the section only when none apply.156157Keep command dumps out of the body; GitHub Checks records CI results. Retain verification facts that CI does not establish, such as “Apply the column migration before deploying” or “Not covered by CI — Terraform plan checked manually.”158159Use existing planning artifacts for intent and completed work; otherwise use the diff and commits. Describe the final change, not the conversation or abandoned approaches unless they explain a tradeoff.160161Write the body to a temporary file with a quoted heredoc, then pass `--body-file`, following `${CLAUDE_SKILL_DIR}/references/gh-body-safety.md`. Read the body back before submitting it.162163## Execution164165Load the matching reference and execute within the user's existing authorization. Ask only for an uncovered action or an explicit applicable repository requirement; do not ask again for actions already authorized. Preserve repository branch protection and review requirements.