← ClaudeAtlas

admin-mergelisted

Merge a solo-owner PR whose only blocker is branch protection, after verifying the merge gate. Two shapes with different authority — Claude auto-runs the plain shape (a bare `gh pr merge --squash --admin`, no protection change); the `enforce_admins` toggle shape stays print-only for the repo admin. Triggers on /admin-merge and when /wrap or /babysit-pr hits a branch-protection block.
auerbachb/claude-code-config · ★ 5 · Code & Development · score 70
Install: claude install-skill auerbachb/claude-code-config
Merge a PR whose only remaining blocker is branch protection on a **solo-owner** repo — either by auto-running the no-protection-change shape, or by printing the protection-toggle command for the user. ## Portable helper resolution Before any step, resolve the required helper. Stop visibly if it is unavailable. ```bash resolve_script() { local name="$1" candidate for candidate in \ "$HOME/.claude/skills-worktree/.claude/scripts/$name" \ "$HOME/.claude/scripts/$name" \ ".claude/scripts/$name"; do if [[ -x "$candidate" ]]; then echo "$candidate"; return 0; fi done return 1 } ADMIN_MERGE_SH=$(resolve_script admin-merge.sh || true) [[ -n "$ADMIN_MERGE_SH" ]] || { echo "ERROR: admin-merge.sh not found (checked all three paths) — admin merge unavailable" >&2; exit 1; } ``` ## The safety boundary (non-negotiable) — a split, not a blanket Claude's safety rules **permanently prohibit Claude from modifying branch protection** — non-negotiable, applies to every user and repo regardless of authorization or workflow history. That prohibition is about **protection modification**, not about the `--admin` flag, and the two bypass shapes fall on opposite sides of it (issues #720, #754): | Shape | Condition | Command | Authority | |-------|-----------|---------|-----------| | **plain** | `enforce_admins: false` + `required_status_checks.strict: true` + verified clean-`BEHIND` | `gh pr merge --squash --admin` — nothing else | **Claude auto-runs it** via `--auto-pla