configs/agents/skills/glab/SKILL.md
Use when interacting with GitLab from the command line — creating and managing merge requests, issues, CI/CD pipelines, releases, repositories, and any other GitLab operation. Covers all glab CLI commands including mr, issue, ci, release, repo, api, variable, snippet, schedule, stack, label, milestone, incident, and auth.
npx skillsauth add Ehrax/dotfiles glabInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage GitLab projects entirely from the terminal using glab. This skill covers creating merge requests, triaging issues, running pipelines, cutting releases, and making raw API calls — all without leaving your shell.
glab installed (brew install glab, apt install glab, or see https://gitlab.com/gitlab-org/cli)glab auth login (minimum scopes: api, write_repository)-R OWNER/REPO to target another project)glab <command> <subcommand> [flags]
All commands support -h/--help and -R/--repo OWNER/REPO (to target a different project).
| Topic | File | Load when... |
|-------|------|-------------|
| Merge requests | references/merge-requests.md | Creating, reviewing, approving, merging, or listing MRs |
| Issues | references/issues.md | Creating, listing, updating, closing, or triaging issues/incidents |
| CI/CD pipelines & jobs | references/ci-cd.md | Running, viewing, retrying, canceling pipelines or jobs; linting CI config |
| Releases | references/releases.md | Creating releases, uploading assets, managing changelogs |
| Repo, auth & config | references/repo-and-config.md | Cloning, forking, creating repos; authenticating; configuring glab |
| API, variables & advanced | references/api-and-advanced.md | Making raw API calls; managing variables, snippets, schedules, stacks, labels, milestones, aliases |
| Writing issues & MRs | references/writing-issues-and-mrs.md | REQUIRED before creating or updating any issue or MR title/description |
REQUIRED: Read references/writing-issues-and-mrs.md for full guidelines before writing titles/descriptions.
Title format: <type>[scope]: <imperative description> (closes #N)
Types: feat, fix, docs, refactor, test, chore, perf, ci
Max 72 chars. Imperative mood ("Add", not "Added").
# Interactive — prompts for title, description, target branch
glab mr create
# Non-interactive with conventional title, reviewers, and labels
glab mr create -t "feat(auth): add OAuth2 login (closes #123)" --yes -a assignee --reviewer reviewer1 --label "ready for review" -b main
# Draft MR for early feedback
glab mr create -f --draft
glab mr list --reviewer=@me # MRs awaiting your review
glab mr diff 42 # View changes
glab mr approve 42 # Approve
glab mr merge 42 # Merge (prompts for method)
REQUIRED: Read references/writing-issues-and-mrs.md for full guidelines before writing titles/descriptions.
Title format: [Type]: <specific problem/action> <context>
Types: [Bug], [Feature], [Docs], [Task]
50-70 chars. Sentence case. Include location + symptom.
glab issue create -t "[Bug]: Login fails on iOS Safari 17 after timeout" -l bug,P1 -m v2.0
glab issue list --label bug --assignee=@me
glab issue close 99
glab ci run -b main # Trigger pipeline on branch
glab ci status # Current pipeline status
glab ci view # Interactive pipeline viewer
glab ci retry lint # Retry a specific job by name
glab ci lint # Validate .gitlab-ci.yml
glab release create v1.2.0 ./dist/*.tar.gz \
--notes "Bugfix release" \
--milestone v1.2.0
# REST
glab api projects/:fullpath/members
# GraphQL
glab api graphql -f query='{ currentUser { username } }'
# With pagination
glab api issues --paginate --output ndjson
glab variable list
glab variable set MY_SECRET "s3cret"
glab variable get MY_SECRET
glab variable delete MY_SECRET
| Command | Purpose |
|---------|---------|
| glab alias | Create command shortcuts |
| glab api | Make authenticated REST/GraphQL API calls |
| glab attestation | Manage attestations |
| glab auth | Authenticate to GitLab instances |
| glab changelog | Generate changelogs |
| glab check-update | Check for glab updates |
| glab ci | Manage CI/CD pipelines and jobs |
| glab cluster | Manage cluster agents |
| glab completion | Generate shell completions (bash/zsh/fish/PowerShell) |
| glab config | Set and get glab configuration |
| glab deploy-key | Manage deploy keys |
| glab duo | Interact with GitLab Duo AI |
| glab gpg-key | Manage GPG keys |
| glab incident | Manage incidents |
| glab issue | Manage issues |
| glab iteration | Manage iterations |
| glab job | Manage CI/CD jobs |
| glab label | Manage labels |
| glab mcp | Model Context Protocol server |
| glab milestone | Manage milestones |
| glab mr | Manage merge requests |
| glab opentofu | OpenTofu integration |
| glab release | Manage releases |
| glab repo | Manage repositories |
| glab schedule | Manage pipeline schedules |
| glab securefile | Manage secure files |
| glab snippet | Manage snippets |
| glab ssh-key | Manage SSH keys |
| glab stack | Stacked diffs (experimental) |
| glab token | Manage personal access tokens |
| glab user | Interact with user accounts |
| glab variable | Manage CI/CD variables |
| glab version | Show glab version |
| Flag | Description |
|------|-------------|
| -h, --help | Show help for any command |
| -R, --repo OWNER/REPO | Target a different repository (also accepts GROUP/NAMESPACE/REPO or full URL) |
| -v, --version | Show glab version |
feat:, fix:, docs:, etc.) and descriptive problem-statement titles for issues. See references/writing-issues-and-mrs.md.--repo when inside the project directory.glab auth login for each GitLab host. glab picks the right credentials based on your remote URL.list commands accept -F json for machine-readable output.glab alias set mrc 'mr create --fill --yes' then use glab mrc.EDITOR or VISUAL env vars to control which editor opens for descriptions.--recover on mr create and issue create to save progress if creation fails.documentation
Compact the current conversation into a handoff document for another agent to pick up.
development
Tell the agent to zoom out and give broader context or a higher-level perspective. Use when you're unfamiliar with a section of code or need to understand how it fits into the bigger picture.
data-ai
Triage issues through a state machine driven by triage roles. Use when user wants to create an issue, triage issues, review incoming bugs or feature requests, prepare issues for an AFK agent, or manage issue workflow.
tools
Turn the current conversation context into a PRD and publish it to the project issue tracker. Use when user wants to create a PRD from the current context.