mr-status
Skill2 starsChanged 41 days agoMITView on GitHub
Display comprehensive status overview for GitLab merge request. Run only when the user explicitly asks for it.
We split this skill into the rules it gives an agent
8 rules. About 0 are common, 6 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈6
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
⚠️ Permission: Read-only command, NO permission required
- Distinctive: line 275
Verify MR number is correct
- Distinctive: line 276
Check you have access to the project
- Very specific: line 277
Ensure MR is in <PROJECT_PATH> project
- Very specific: line 281
Check token in ~/.config/glab-cli/config.yml
- Distinctive: line 286
Check web UI for details
- Distinctive: line 290
Read-only command, safe to use anytime
- Distinctive: line 291
Does not modify MR state
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/mr-status
Project resolution (project-agnostic)
This command works in any GitLab repo — nothing here is tied to a specific project. Resolve the target at runtime:
- Instance, project path, and IDs — auto-detected by
glabfrom the current repo's git remotes; never hardcode them.glabreadsorigin/upstreamdirectly. When a numeric id is needed:glab api projects/$(git remote get-url origin | sed -E 's#^[a-z]+://[^/]+/##; s#^.*@[^:]+:##; s#\.git$##' | sed 's#/#%2F#g') | jq -r '.id' - Fork vs single-repo — if both
originandupstreamremotes exist, treatoriginas your fork (push target) andupstreamas the MR/issue target; otherwise operate onorigin. - Optional extras — if
.claude/gitlab-config.jsonexists in the current repo, loaddevelopers(assignee/reviewer shortcuts) andlabels(auto-label rules) from it. If it is absent, those features degrade gracefully: ask the user for the assignee/reviewer/labels instead of resolving a shortcut.
All URLs, namespaces, and IDs in the examples below (
<GITLAB_URL>,<PROJECT_PATH>,projects/<FORK_ID>, etc.) are illustrative placeholders — resolve real values per the steps above.
Displays a comprehensive status overview for a GitLab merge request without opening the browser.
⚠️ Permission: Read-only command, NO permission required
Usage
/mr-status <mr-number>Arguments:
<mr-number>- MR number (e.g.,1598or!1598)
Examples:
/mr-status 1598 # Show status for MR !1598
/mr-status !1598 # Show status for MR !1598What it shows
Core Information:
- MR title and description
- Status (open, merged, closed)
- Author
- Source → Target branches
- Web URL
Team & Review:
- Assignee(s)
- Reviewers
- Approvals status (count, required, who approved)
CI/CD Pipeline:
- Pipeline status (passed, failed, running, pending)
- Pipeline URL
- Job failures (if any)
Merge Status:
- Conflicts detected
- Mergeable status
- Work in progress (WIP/Draft)
- Discussions resolved
Metadata:
- Created/updated timestamps
- Labels
- Milestones
Example Output
Example 1: Ready to merge
📋 MR #1598: feat(shipments): add pickup details to API responses
Status: Open ✓
Author: dana.lee
Source: <FORK_PATH>:feature/add-pickup-details
Target: <PROJECT_PATH>:dev
👤 Assignee: alice
👥 Reviewers: alice ✓, bob ✓
✅ Approvals: 2/2 (Required: 2)
- Eng Alice ✓
- Eng Bob ✓
🔄 Pipeline: ✓ Passed (#12345)
URL: <GITLAB_URL>/<PROJECT_PATH>/-/pipelines/12345
✅ Merge Status:
✓ No conflicts
✓ All discussions resolved
✓ Ready to merge
🏷️ Labels: feature, backend, reviewed
📅 Created: 2025-12-27 10:30 AM
📅 Updated: 2025-12-27 11:45 AM
🔗 View: <GITLAB_URL>/<PROJECT_PATH>/-/merge_requests/1598Example 2: Has issues
📋 MR #1597: fix(auth): token expiration handling
Status: Open ⏳
Author: dana.lee
Source: <FORK_PATH>:feature/fix-auth-bug
Target: <PROJECT_PATH>:dev
👤 Assignee: None
👥 Reviewers: bob (pending)
⚠️ Approvals: 0/2 (Required: 2)
🔄 Pipeline: ❌ Failed (#12344)
Failed jobs:
- test-backend (PHP 8.4)
- lint-frontend (ESLint)
URL: <GITLAB_URL>/<PROJECT_PATH>/-/pipelines/12344
❌ Merge Status:
❌ Has merge conflicts
❌ 3 unresolved discussions
❌ Pipeline must pass
❌ Cannot merge
⚠️ Action Required:
1. Resolve merge conflicts
2. Fix failing tests
3. Address review comments
4. Get 2 approvals
🔗 View: <GITLAB_URL>/<PROJECT_PATH>/-/merge_requests/1597Example 3: Work in progress
📋 MR #1596 (DRAFT): refactor(orders): validation logic
Status: Draft 🚧
Author: dana.lee
Source: <FORK_PATH>:feature/refactor-validation
Target: <PROJECT_PATH>:dev
👤 Assignee: carol
👥 Reviewers: None
🔄 Pipeline: ⏳ Running (#12343)
Running jobs:
- test-backend (in progress)
URL: <GITLAB_URL>/<PROJECT_PATH>/-/pipelines/12343
🚧 Work in Progress
This MR is marked as draft and cannot be merged yet.
🔗 View: <GITLAB_URL>/<PROJECT_PATH>/-/merge_requests/1596Process
- Parse MR number: Extract MR number from argument
- Fetch MR details: Get comprehensive MR data via GitLab API
- Fetch pipeline status: Get latest pipeline info
- Fetch approvals: Get approval status and approvers
- Check conflicts: Determine if MR has merge conflicts
- Format output: Display comprehensive status overview
- Return URL: Provide link to view in browser
GitLab API
Endpoints Used:
# Get MR details
glab api projects/2/merge_requests/1598
# Get MR approvals
glab api projects/2/merge_requests/1598/approvals
# Get latest pipeline
glab api projects/2/merge_requests/1598/pipelines | jq '.[0]'
# Get pipeline jobs (if failed)
glab api projects/2/pipelines/{pipeline_id}/jobsExample API Call:
# Get full MR status
glab api projects/2/merge_requests/1598 | jq '{
title,
state,
author: .author.username,
assignee: .assignee.username,
reviewers: [.reviewers[].username],
source_branch,
target_branch,
merge_status,
has_conflicts,
work_in_progress,
pipeline: .pipeline.status,
web_url
}'Status Icons
| Icon | Meaning |
| ✓ | Success / Passed / Approved |
| ❌ | Failed / Blocked / Conflicts |
| ⏳ | Running / Pending / In Progress |
| ⚠️ | Warning / Action Required |
| 🚧 | Draft / Work in Progress |
| 📋 | MR Information |
| 👤 | Assignee |
| 👥 | Reviewers |
| 🔄 | Pipeline |
| 🏷️ | Labels |
| 📅 | Dates |
| 🔗 | Link |
Use Cases
Before merging:
/mr-status 1598
# Check if MR is ready to merge:
# - All approvals received
# - Pipeline passed
# - No conflicts
# - Discussions resolvedDuring review:
/mr-status 1598
# Check review progress:
# - Who has approved
# - Who still needs to review
# - Any blocking issuesDebugging CI/CD:
/mr-status 1598
# Check pipeline status:
# - Which jobs failed
# - Pipeline URL for details
# - Can retry pipeline from web UIQuick overview:
/mr-status 1598
# Get snapshot without opening browser:
# - Current status
# - Who's assigned/reviewing
# - Any blockersPermissions
This command is READ-ONLY:
- ✅ No permission required
- ✅ No state changes
- ✅ Can run anytime
- ✅ Safe for automation
Related Commands
/mr-list- List all open MRs/mr-review-request <mr> <dev>- Request code review/mr-assign <mr> <dev>- Assign MR to developer/mr-approve <mr>- Approve MR/mr-merge <mr>- Merge MR (if ready)
Troubleshooting
"MR not found"
- Verify MR number is correct
- Check you have access to the project
- Ensure MR is in
<PROJECT_PATH>project
"Permission denied"
- Your GitLab token needs
apiscope - Check token in
~/.config/glab-cli/config.yml
"Pipeline information unavailable"
- MR might not have a pipeline yet
- Push might still be in progress
- Check web UI for details
Notes
- Read-only command, safe to use anytime
- Does not modify MR state
- Shows real-time status (not cached)
- Useful for quick checks without browser
- Can be used in scripts/automation
Created: 2025-12-27
Last updated: 2025-12-27
Config file: .claude/gitlab-config.json
Other versions1 project uses a version of this.
Word for word · 1
- AhmedMerza/claude-skills★ 2100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository53 other files it gives its agents.
- animateSkill
- api-docs-completeSkill
- best-optionSkill
- browseSkill
- changelog-generateSkill
- checkpointSkill
- claimSkill
- commitSkill
- courtSkill
- design-driftSkill
- designSkill
- expandSkill
- explainSkill
- fix-reviewSkill
- grill-meSkill
- handover-listSkill
- handover-resumeSkill
- handover-saveSkill
- i18n-syncSkill
- issueSkill
- leadSkill
- mr-approveSkill
- mr-assignSkill
- mr-createSkill
- mr-guideSkill
- mr-listSkill
- mr-mergeSkill
- mr-review-requestSkill
- mr-reviewSkill
- persona-walkthroughSkill
- ponytailSkill
- prove-the-testSkill
- qa-crawlSkill
- qa-sweepSkill
- reflectSkill
- reviewSkill
- root-causeSkill
- scoutSkill
- second-opinionSkill
- ship-checkSkill
- skill-auditSkill
- skill-compareSkill
- spinoffSkill
- story-siteSkill
- tool-compareSkill
- ui-auditSkill
- ui-polishSkill
- usage-weekSkill
- ux-auditSkill
- validate-planSkill
- video-teardownSkill
- wait-whatSkill
- where-were-weSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

