mr-status

Inspects GitLab merge requests and reports pipeline, approval, and review-thread status.

15|1|Updated Jan 3, 2026
One-click install
npx skills add https://github.com/fprochazka/claude-code-plugins --skill mr-status-fprochazka
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: mr-status
Source: https://github.com/fprochazka/claude-code-plugins/tree/main/plugins/glab/skills/mr-status
Command: npx skills add https://github.com/fprochazka/claude-code-plugins --skill mr-status-fprochazka

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires glab-discussion, glab-pipeline, and includes scripts (resource) components.

What problem does it solve? Determining whether a GitLab merge request is actually ready to merge requires checking draft state, rebase status, pipeline results, approvals, AI-reviewer verdicts, and unresolved human threads scattered across multiple API surfaces. This Skill consolidates all of that into one scripted read with change tracking, so you always know what blocks the merge and whose court the ball is in. ## Core Features & Use Cases - Single-script MR state read: Runs mr-state.py to fetch the MR object, approvals, discussion dump, pipeline dump, and external commit statuses, then prints what changed since the last run. - Wait mode for state changes: Probes a set of MRs every minute and exits the moment a change appears, ideal for babysitting MRs toward green. - AI-reviewer profiling: Guides you to derive each reviewer's verdict vocabulary and behavior from its own threads, and to persist profiles as Claude memories. - Use Case: Ask "which of my five open MRs are ready to merge" and get a per-MR report covering pipeline, approvals, unresolved threads, and the current merge gate. ## Quick Start Ask the assistant to check the status of the merge request for the current branch, or provide one or more MR URLs to inspect.

Frequently Asked Questions about mr-status

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check the status of a GitLab merge request?▼

Run the mr-state.py script with no arguments to read the current branch's MR, or pass one or more --mr-url flags to inspect a set across repos and hosts. It prints change lines, detail paths, and a scorecard summarizing pipeline, approvals, and merge blockers.

How to monitor a merge request for pipeline or review changes?▼

Use the wait mode by passing --wait-for-state-change-timeout-minutes with a value under 8 minutes. The script probes every minute and exits as soon as a change appears, fetching only the discussion or pipeline dump that the change requires.

Does this work without glab-discussion and glab-pipeline installed?▼

The script runs without them but cannot fetch threads or pipeline details, and it prints a DEPENDENCY MISSING line with the install command. Install both with uv tool install glab-discussion glab-pipeline to get full reads.

Why is a canceled pipeline not treated as green?▼

A canceled pipeline means nothing ran to completion, and the job list shows no red, which makes it easy to misread. Only a pipeline with status success on a SHA equal to the MR head counts as green evidence.

How are AI reviewer verdicts evaluated on a merge request?▼

Each reviewer is profiled from its own threads: what it posts, where the latest verdict lives, whether it reads replies, and its verdict vocabulary. Only the latest verdict per reviewer plus the count of unresolved threads is used, never historical finding notes.

What are the limitations of the MR status snapshot?▼

Every reported value is a point-in-time snapshot since the target branch keeps moving. A red pipeline on a branch behind its target ran on a superseded base and must be judged again after the rebase.