Interact with GitLab using the `glab` CLI. Use when Claude needs to work with GitLab merge requests, CI/CD pipelines, issues, releases, or make API requests. Supports gitlab.com and self-hosted instances.
Scanned 2/10/2026
Install to Claude Code
npx -y skills add majiayu000/claude-skill-registry --skill glab-cli --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Glab Cli?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-glab-cli)More formats (shields.io, HTML) on the badges page.
---
name: glab
description: Interact with GitLab using the `glab` CLI. Use when Claude needs to work with GitLab merge requests, CI/CD pipelines, issues, releases, or make API requests. Supports gitlab.com and self-hosted instances.
---
# GitLab Skill
Use the `glab` CLI to interact with GitLab. Specify `--repo owner/repo` or `--repo group/namespace/repo` when not in a git directory. Also accepts full URLs.
## Merge Requests
List open merge requests:
```bash
glab mr list --repo owner/repo
```
View MR details:
```bash
glab mr view 55 --repo owner/repo
```
Create an MR from current branch:
```bash
glab mr create --fill --target-branch main
```
Approve, merge, or check out:
```bash
glab mr approve 55
glab mr merge 55
glab mr checkout 55
```
View MR diff:
```bash
glab mr diff 55
```
## CI/CD Pipelines
Check pipeline status for current branch:
```bash
glab ci status
```
View pipeline interactively (navigate jobs, view logs):
```bash
glab ci view
```
List recent pipelines:
```bash
glab ci list --repo owner/repo
```
Trace job logs in real time:
```bash
glab ci trace
glab ci trace 224356863 # specific job ID
glab ci trace lint # by job name
```
Retry a failed pipeline:
```bash
glab ci retry
```
Validate `.gitlab-ci.yml`:
```bash
glab ci lint
```
## Issues
List and view issues:
```bash
glab issue list --repo owner/repo
glab issue view 42
```
Create an issue:
```bash
glab issue create --title "Bug report" --label bug
```
Add a comment:
```bash
glab issue note 42 -m "This is fixed in !55"
```
## API for Advanced Queries
Use `glab api` for endpoints not covered by subcommands. Supports REST and GraphQL.
Get project releases:
```bash
glab api projects/:fullpath/releases
```
Get MR with specific fields (pipe to jq):
```bash
glab api projects/owner/repo/merge_requests/55 | jq '.title, .state, .author.username'
```
Paginate through all issues:
```bash
glab api issues --paginate
```
GraphQL query:
```bash
glab api graphql -f query='
query {
currentUser { username }
}
'
```
## JSON Output
Pipe to `jq` for filtering:
```bash
glab mr list --repo owner/repo | jq -r '.[] | "\(.iid): \(.title)"'
```
## Variables and Releases
Manage CI/CD variables:
```bash
glab variable list
glab variable set MY_VAR "value"
glab variable get MY_VAR
```
Create a release:
```bash
glab release create v1.0.0 --notes "Release notes here"
```
## Key Differences from GitHub CLI
| Concept | GitHub (`gh`) | GitLab (`glab`) |
| ------------------------- | ------------- | -------------------------------------- |
| Pull/Merge Request | `gh pr` | `glab mr` |
| CI runs | `gh run` | `glab ci` |
| Repo path format | `owner/repo` | `owner/repo` or `group/namespace/repo` |
| Interactive pipeline view | N/A | `glab ci view` |
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!