Help us improve
Share bugs, ideas, or general feedback.
From gitlab
Manages GitLab merge requests via glab: create from commits, list/view/checkout, merge with auto-handling, block MRs, handle reviews/discussions/stacks.
npx claudepluginhub bendrucker/claude --plugin gitlabHow this skill is triggered — by the user, by Claude, or both
Slash command
/gitlab:merge-requestThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Working with GitLab merge requests via `glab mr`.
Automates GitLab Merge Requests to mergeable state: generates User Story docs with blob links, pushes branches, creates/updates MRs, polls CI pipelines via API, fixes failures, resolves conflicts until checks pass.
Creates merge requests in GitLab projects via prompts for project ID/path, source/target branches, title, and description. Uses GitLab MCP tool; returns MR number and URL.
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
Working with GitLab merge requests via glab mr.
glab mr create --fill # Create from commits (push branch first!)
glab mr list # List MRs
glab mr view # View current branch's MR
glab mr checkout <id> # Check out MR branch
Use glab mr --help and glab mr <command> --help for full options.
Always use merge.ts to merge. It handles merge trains, auto-merge, and squash automatically, falling back to glab mr merge internally when appropriate.
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
Always push before creating:
git push -u origin feature-branch && glab mr create --fill
Draft MRs: Use --draft to prevent accidental merges.
Auto-fill vs custom: --fill auto-populates from commits but cannot combine with --title/--description. Choose one approach.
Body from file: No --body-file flag; use --description "$(cat file.md)".
Username resolution: Flags like --reviewer and --assignee require exact usernames. Invalid names are silently ignored. Look up users first:
glab api projects/:id/members/all --paginate | jq '.[] | select(.name | test("<name>"; "i")) | {name, username}'
Prevent an MR from merging until another MR merges first. Uses the REST API directly since glab mr has no blocking subcommand.
# Block MR !10 until MR !5 merges
glab api projects/:id/merge_requests/10/blocks -X POST -f blocking_merge_request_iid=5
# List blocks on an MR
glab api projects/:id/merge_requests/10/blocks
# Remove a block
glab api projects/:id/merge_requests/10/blocks/<block-id> -X DELETE
Submit review feedback as draft notes that accumulate before publishing. See review.md for the draft notes workflow, code suggestions, and approvals.
Fetch, filter, resolve, and summarize MR discussion threads. See discussions.md for the discussions script, resolution workflow, and pagination pitfalls.
glab stack manages stacked diffs—small changes that build on each other. See stack.md.