gitlabmerge-requestlisted
Install: claude install-skill bendrucker/claude
# Merge Requests
Working with GitLab merge requests via `glab mr`.
Scripts directory (absolute, for invocations from other skills where `${CLAUDE_SKILL_DIR}` points elsewhere): !`mkdir -p /tmp/claude/gitlab-skill 2>/dev/null; touch "/tmp/claude/gitlab-skill/${CLAUDE_SESSION_ID}" 2>/dev/null; echo "${CLAUDE_SKILL_DIR}/scripts"`
## Arguments
`$0` (optional verb) routes to a section below. With no verb, infer the operation from the request.
- `create`: open an MR. See [Patterns](#patterns). `--draft` opens it as a draft (`glab mr create --draft`).
- `merge`: merge the MR. See [Merging](#merging). `--auto` enables auto-merge (`merge.ts --auto-merge`).
- `review`: review MRs. See [Reviews](#reviews). `--role reviewer` (default) fetches MRs awaiting your review; `--role author` triages threads on MRs you authored.
- `discussions`: work MR discussion threads. See [Discussions](#discussions).
- `block`: block an MR until another merges. See [Blocking](#blocking).
Flag defaults: `--draft` off, `--auto` off, `--role reviewer`.
## Merging
Always use `merge.ts` to merge. It handles merge trains, auto-merge, and squash, falling back to `glab mr merge` internally when appropriate.
```bash
bun ${CLAUDE_PLUGIN_ROOT}/scripts/merge.ts
bun ${CLAUDE_PLUGIN_ROOT}/scripts/merge.ts --auto-merge
bun ${CLAUDE_PLUGIN_ROOT}/scripts/merge.ts feature-branch --auto-merge --squash
```
### Re-Arm Auto-Merge After a Push
Pushing new commits cancels queued auto-merge and drops the MR from the merge