Awesome-omni-skill gitlab-cli-skills
Comprehensive GitLab CLI (glab) command reference and workflows for all GitLab operations via terminal. Use when user mentions GitLab CLI, glab commands, GitLab automation, MR/issue management via CLI, CI/CD pipeline commands, repo operations, authentication setup, or any GitLab terminal operations. Routes to specialized sub-skills for auth, CI, MRs, issues, releases, repos, and 30+ other glab commands. Triggers on glab, GitLab CLI, GitLab commands, GitLab terminal, GitLab automation.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/cli-automation/gitlab-cli-skills" ~/.claude/skills/diegosouzapw-awesome-omni-skill-gitlab-cli-skills && rm -rf "$T"
skills/cli-automation/gitlab-cli-skills/SKILL.mdGitLab CLI Skills
Comprehensive GitLab CLI (glab) command reference and workflows.
Quick start
# First time setup glab auth login # Common operations glab mr create --fill # Create MR from current branch glab issue create # Create issue glab ci view # View pipeline status glab repo view --web # Open repo in browser
Skill organization
This skill routes to specialized sub-skills by GitLab domain:
Core Workflows:
- Merge requests: create, review, approve, mergeglab-mr
- Issues: create, list, update, close, commentglab-issue
- CI/CD: pipelines, jobs, logs, artifactsglab-ci
- Repositories: clone, create, fork, manageglab-repo
Project Management:
- Release planning and milestone trackingglab-milestone
- Sprint/iteration managementglab-iteration
- Label management and organizationglab-label
- Software releases and versioningglab-release
Authentication & Config:
- Login, logout, Docker registry authglab-auth
- CLI configuration and defaultsglab-config
- SSH key managementglab-ssh-key
- GPG keys for commit signingglab-gpg-key
- Personal and project access tokensglab-token
CI/CD Management:
- Individual job operationsglab-job
- Scheduled pipelines and cron jobsglab-schedule
- CI/CD variables and secretsglab-variable
- Secure files for pipelinesglab-securefile
- Runner controller and token management (EXPERIMENTAL, admin-only)glab-runner-controller
Collaboration:
- User profiles and informationglab-user
- Code snippets (GitLab gists)glab-snippet
- Incident managementglab-incident
Advanced:
- Direct REST API callsglab-api
- Kubernetes cluster integrationglab-cluster
- Deploy keys for automationglab-deploy-key
- Stacked/dependent merge requestsglab-stack
- Terraform/OpenTofu state managementglab-opentofu
Utilities:
- Custom command aliasesglab-alias
- Shell autocompletionglab-completion
- Command help and documentationglab-help
- Version informationglab-version
- Update checkerglab-check-update
- Changelog generationglab-changelog
- Software supply chain securityglab-attestation
- GitLab Duo AI assistantglab-duo
- Model Context Protocol server for AI assistant integration (EXPERIMENTAL)glab-mcp
When to use glab vs web UI
Use glab when:
- Automating GitLab operations in scripts
- Working in terminal-centric workflows
- Batch operations (multiple MRs/issues)
- Integration with other CLI tools
- CI/CD pipeline workflows
- Faster navigation without browser context switching
Use web UI when:
- Complex diff review with inline comments
- Visual merge conflict resolution
- Configuring repo settings and permissions
- Advanced search/filtering across projects
- Reviewing security scanning results
- Managing group/instance-level settings
Common workflows
Daily development
# Start work on issue glab issue view 123 git checkout -b 123-feature-name # Create MR when ready glab mr create --fill --draft # Mark ready for review glab mr update --ready # Merge after approval glab mr merge --when-pipeline-succeeds --remove-source-branch
Code review
# List your review queue glab mr list --reviewer=@me --state=opened # Review an MR glab mr checkout 456 glab mr diff npm test # Approve glab mr approve 456 glab mr note 456 -m "LGTM! Nice work on the error handling."
CI/CD debugging
# Check pipeline status glab ci status # View failed jobs glab ci view # Get job logs glab ci trace <job-id> # Retry failed job glab ci retry <job-id>
Decision Trees
"Should I create an MR or work on an issue first?"
Need to track work? ├─ Yes → Create issue first (glab issue create) │ Then: glab mr for <issue-id> └─ No → Direct MR (glab mr create --fill)
Use
+ glab issue create
when:glab mr for
- Work needs discussion/approval before coding
- Tracking feature requests or bugs
- Sprint planning and assignment
- Want issue to auto-close when MR merges
Use
directly when:glab mr create
- Quick fixes or typos
- Working from existing issue
- Hotfixes or urgent changes
"Which CI command should I use?"
What do you need? ├─ Overall pipeline status → glab ci status ├─ Visual pipeline view → glab ci view ├─ Specific job logs → glab ci trace <job-id> ├─ Download build artifacts → glab ci artifact <ref> <job-name> ├─ Validate config file → glab ci lint ├─ Trigger new run → glab ci run └─ List all pipelines → glab ci list
Quick reference:
- Pipeline-level:
,glab ci status
,glab ci viewglab ci run - Job-level:
,glab ci trace
,glab job retryglab job view - Artifacts:
(by pipeline) or job artifacts viaglab ci artifactglab job
"Clone or fork?"
What's your relationship to the repo? ├─ You have write access → glab repo clone group/project ├─ Contributing to someone else's project: │ ├─ One-time contribution → glab repo fork + work + MR │ └─ Ongoing contributions → glab repo fork, then sync regularly └─ Just reading/exploring → glab repo clone (or view --web)
Fork when:
- You don't have write access to the original repo
- Contributing to open source projects
- Experimenting without affecting the original
- Need your own copy for long-term work
Clone when:
- You're a project member with write access
- Working on organization/team repositories
- No need for a personal copy
"Project vs group labels?"
Where should the label live? ├─ Used across multiple projects → glab label create --group <group> └─ Specific to one project → glab label create (in project directory)
Group-level labels:
- Consistent labeling across organization
- Examples: priority::high, type::bug, status::blocked
- Managed centrally, inherited by projects
Project-level labels:
- Project-specific workflows
- Examples: needs-ux-review, deploy-to-staging
- Managed by project maintainers
Related Skills
MR and Issue workflows:
- Start with
to create/track workglab-issue - Use
to create MR that closes issueglab-mr - Script:
automates thisscripts/create-mr-from-issue.sh
CI/CD debugging:
- Use
for pipeline-level operationsglab-ci - Use
for individual job operationsglab-job - Script:
for quick failure diagnosisscripts/ci-debug.sh
Repository operations:
- Use
for repository managementglab-repo - Use
for authentication setupglab-auth - Script:
for fork synchronizationscripts/sync-fork.sh
Configuration:
- Use
for initial authenticationglab-auth - Use
to set defaults and preferencesglab-config - Use
for custom shortcutsglab-alias