Agent skill
glab
Expert guidance for using the GitLab CLI (glab) to manage GitLab issues, merge requests, CI/CD pipelines, repositories, and other GitLab operations from the command line. Use this skill when the user needs to interact with GitLab resources or perform GitLab workflows.
Install this agent skill to your Project
npx add-skill https://github.com/jjmartres/opencode/tree/main/opencode/skill/glab
SKILL.md
GitLab CLI (glab) Skill
Provides guidance for using glab, the official GitLab CLI, to perform GitLab operations from the terminal.
When to Use This Skill
Invoke when the user needs to:
- Create, review, or manage merge requests
- Work with GitLab issues
- Monitor or trigger CI/CD pipelines
- Clone or manage repositories
- Perform any GitLab operation from the command line
Prerequisites
Verify glab installation before executing commands:
glab --version
If not installed, inform the user and provide platform-specific installation guidance.
Authentication Quick Start
Most glab operations require authentication:
# Interactive authentication
glab auth login
# Check authentication status
glab auth status
# For self-hosted GitLab
glab auth login --hostname gitlab.example.org
# Using environment variables
export GITLAB_TOKEN=your-token
export GITLAB_HOST=gitlab.example.org # for self-hosted
Core Workflows
Creating a Merge Request
# 1. Ensure branch is pushed
git push -u origin feature-branch
# 2. Create MR
glab mr create --title "Add feature" --description "Implements X"
# With reviewers and labels
glab mr create --title "Fix bug" --reviewer=alice,bob --label="bug,urgent"
Reviewing Merge Requests
# 1. List MRs awaiting your review
glab mr list --reviewer=@me
# 2. Checkout MR locally to test
glab mr checkout <mr-number>
# 3. After testing, approve
glab mr approve <mr-number>
# 4. Add review comments
glab mr note <mr-number> -m "Please update tests"
Managing Issues
# Create issue with labels
glab issue create --title "Bug in login" --label=bug
# Link MR to issue
glab mr create --title "Fix login" --description "Closes #<issue-number>"
# List your assigned issues
glab issue list --assignee=@me
Monitoring CI/CD
# Watch pipeline in progress
glab pipeline ci view
# Check pipeline status
glab ci status
# View logs if failed
glab ci trace
# Retry failed pipeline
glab ci retry
# Lint CI config before pushing
glab ci lint
Common Patterns
Working Outside Repository Context
When not in a Git repository, specify the repository:
glab mr list -R owner/repo
glab issue list -R owner/repo
Self-Hosted GitLab
Set hostname for all commands:
export GITLAB_HOST=gitlab.example.org
# or per-command
glab repo clone gitlab.example.org/owner/repo
Automation and Scripting
Use JSON output for parsing:
glab mr list --output=json | jq '.[] | .title'
Using the API Command
The glab api command provides direct GitLab API access:
# Basic API call
glab api projects/:id/merge_requests
# IMPORTANT: Pagination uses query parameters in URL, NOT flags
# ❌ WRONG: glab api --per-page=100 projects/:id/jobs
# ✓ CORRECT: glab api "projects/:id/jobs?per_page=100"
# Auto-fetch all pages
glab api --paginate "projects/:id/pipelines/123/jobs?per_page=100"
# POST with data
glab api --method POST projects/:id/issues --field title="Bug" --field description="Details"
Best Practices
- Verify authentication before executing commands:
glab auth status - Use
--helpto explore command options:glab <command> --help - Link MRs to issues using "Closes #123" in MR description
- Lint CI config before pushing:
glab ci lint - Check repository context when commands fail:
git remote -v
Common Commands Quick Reference
Merge Requests:
glab mr list --assignee=@me- Your assigned MRsglab mr list --reviewer=@me- MRs for you to reviewglab mr create- Create new MRglab mr checkout <number>- Test MR locallyglab mr approve <number>- Approve MRglab mr merge <number>- Merge approved MR
Issues:
glab issue list- List all issuesglab issue create- Create new issueglab issue close <number>- Close issue
CI/CD:
glab pipeline ci view- Watch pipelineglab ci status- Check statusglab ci lint- Validate .gitlab-ci.ymlglab ci retry- Retry failed pipeline
Repository:
glab repo clone owner/repo- Clone repositoryglab repo view- View repo detailsglab repo fork- Fork repository
Progressive Disclosure
For detailed command documentation, refer to:
- references/commands-detailed.md - Comprehensive command reference with all flags and options
- references/quick-reference.md - Condensed command cheat sheet
- references/troubleshooting.md - Detailed error scenarios and solutions
Load these references when:
- User needs specific flag or option details
- Troubleshooting authentication or connection issues
- Working with advanced features (API, schedules, variables, etc.)
Common Issues Quick Fixes
"command not found: glab" - Install glab or verify PATH
"401 Unauthorized" - Run glab auth login
"404 Project Not Found" - Verify repository name and access permissions
"not a git repository" - Navigate to repo or use -R owner/repo flag
"source branch already has a merge request" - Use glab mr list to find existing MR
For detailed troubleshooting, load references/troubleshooting.md.
Notes
- glab auto-detects repository context from Git remote
- Most commands have
--webflag to open in browser - Use
--output=jsonfor scripting and automation - Multiple GitLab accounts can be authenticated simultaneously
- Commands respect Git configuration and current repository context
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
file-organizer
Intelligently organizes your files and folders across your computer by understanding context, finding duplicates, suggesting better structures, and automating cleanup tasks. Reduces cognitive load and keeps your digital workspace tidy without manual effort.
Work on Ticket
Fetches Jira ticket details, creates an appropriately named branch, and initiates the task planning workflow. Use when the user says "work on [TICKET_ID]" or similar phrases.
meeting-insights-analyzer
Analyzes meeting transcripts and recordings to uncover behavioral patterns, communication insights, and actionable feedback. Identifies when you avoid conflict, use filler words, dominate conversations, or miss opportunities to listen. Perfect for professionals seeking to improve their communication and leadership skills.
skill-judge
Evaluate Agent Skill design quality against official specifications and best practices. Use when reviewing, auditing, or improving SKILL.md files and skill packages. Provides multi-dimensional scoring and actionable improvement suggestions.
MCP Builder Skill
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
notion
Manage Notion pages and databases from the CLI using notion-cli. Create, read, search, and update pages. Query databases, add entries, and manage blocks and properties.
Didn't find tool you were looking for?