Agent skill
pr-merge
Merge GitHub pull requests with strict CI validation. Never bypasses failed checks. Use when merging PRs or when user says /pr-merge.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/pr-merge-dohernandez-claude-project-skill
SKILL.md
PR Merge
Purpose
Merge GitHub pull requests with strict CI validation and merge state checking. Enforces the rule: NEVER bypass failed CI checks. Only offers bypass for missing reviews when all checks pass.
Quick Reference
- Merges: GitHub PR via
gh pr merge --squash - Requires: GitHub CLI installed and authenticated, PR exists for branch
Critical Rule
NEVER offer to bypass failed CI checks.
Failed checks mean broken code. The only acceptable bypass is for missing review when ALL checks pass.
All checks pass + CLEAN -> Auto-merge
All checks pass + BEHIND -> Update branch, re-check
All checks pass + BLOCKED -> Ask: "Bypass review?"
Any check FAILED -> STOP. Investigate failure.
Conflicts (DIRTY) -> Cannot auto-merge
Checks still running -> Wait and re-check
Merge Flow
Step 1: Get PR
# If PR number provided, use it
gh pr view 123 --json state,mergeable,mergeStateStatus,statusCheckRollup
# Otherwise, find PR for current branch
gh pr list --head $(git branch --show-current) --json number,state
Step 2: Check PR State
| State | Action |
|---|---|
MERGED |
"PR already merged" - done |
CLOSED |
"PR is closed" - stop |
OPEN |
Continue to CI check |
Step 3: Check CI Status
For each check in statusCheckRollup:
| Status | Action |
|---|---|
IN_PROGRESS |
Wait 30s, retry (max 5 retries) |
FAILURE |
STOP. Display failed check name. Investigate. |
SUCCESS |
Continue |
CRITICAL: On FAILURE, do NOT offer to bypass. Say:
"CI check '' failed. Please investigate before merging."
Step 4: Check Merge State
| mergeStateStatus | Action |
|---|---|
CLEAN |
Proceed to merge |
BEHIND |
Update branch, re-check CI |
BLOCKED |
If all checks pass -> ask "Bypass review?" |
DIRTY |
"Conflicts detected. Resolve before merging." |
Step 5: Execute Merge
gh pr merge <number> --squash
Update Behind Branch
When mergeStateStatus is BEHIND:
git fetch origin main
git merge origin/main --no-edit
git push
# Then re-check from Step 3
Automation
See skill.yaml for the full procedure and patterns.
See sharp-edges.yaml for common failure modes.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?