merge-prlisted
Install: claude install-skill lukas-grigis/ralphctl
# Merge PR
Standard end-of-PR landing flow for `lukas-grigis/ralphctl`.
Repo + branch-protection facts that shape this flow (verified via `gh repo view` /
`gh api .../branches/main/protection`):
- Only **merge commits** allowed — squash and rebase are off. `gh pr merge --squash` would 422.
- `deleteBranchOnMerge: true` — branches auto-delete after merge. **Do not pass `--delete-branch`.**
- `main` requires 1 approving review. Solo maintainer can't self-approve, so admin bypass is the standard tool here.
`enforce_admins` is `false`, so the bypass is honored by the API.
## Args
- `<pr-number>` (optional) — when omitted, derive from the current branch via `gh pr view --json number,...`.
## Flow
1. **Resolve the PR.** If no number given:
```bash
gh pr view --json number,title,state,headRefName,baseRefName,mergeable
```
Bail if `state != OPEN` or `baseRefName != main`. Show the user `title` + `headRefName` so they see what they're
about to land.
2. **Watch CI.** Block until checks finish:
```bash
gh pr checks <num> --watch --fail-fast
```
On failure: surface the failing check name + URL. **Do not retry, do not merge.** Hand back to the user — they decide
whether to push a fix or close the PR.
3. **Merge with admin bypass.**
```bash
gh pr merge <num> --merge --admin
```
`--admin` is the load-bearing flag — it tells the GitHub API to use the caller's admin permissions to merge through
the required-review rule.
4. **Confi