glab-cli

Use when interacting with GitLab via the glab CLI: creating/reviewing merge requests, managing issues, monitoring CI/CD pipelines, making API calls, or performing any GitLab operation from the terminal. Triggers on glab, gitlab cli, merge request, MR create, pipeline status, ci lint.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "glab-cli" with this command: npx skills add wenerme/ai/wenerme-ai-glab-cli

GitLab CLI (glab)

Rules

  • ALWAYS verify auth before first command: glab auth status
  • ALWAYS use -R owner/repo when not inside the target git repo
  • For self-hosted GitLab, set GITLAB_HOST or use --hostname
  • Use --output=json when parsing output programmatically
  • NEVER hardcode tokens in commands — use glab auth login or GITLAB_TOKEN env var
  • Pagination params go in URL, not flags: glab api "projects/:id/jobs?per_page=100" (NOT --per-page)
  • When creating MRs, ALWAYS add --remove-source-branch --squash-before-merge unless the user explicitly says otherwise

Auth

glab auth login                                    # Interactive
glab auth login --hostname gitlab.example.org      # Self-hosted
glab auth status                                   # Verify

MR Workflow

git push -u origin feature-branch
glab mr create --title "Fix bug" --description "Closes #123" \
  --remove-source-branch --squash-before-merge --reviewer=alice,bob
glab mr list --reviewer=@me                        # MRs to review
glab mr checkout 42                                # Test locally
glab mr approve 42
glab mr merge 42 --remove-source-branch

Issue Workflow

glab issue create --title "Bug" --label=bug --assignee=@me
glab issue list --assignee=@me
glab issue close 123 -m "Fixed in MR !42"

CI/CD

glab ci status                    # Current pipeline status
glab ci status --live             # Watch until pipeline completes
glab pipeline ci view             # Watch pipeline (interactive)
glab ci trace                     # View job logs
glab ci lint                      # Validate .gitlab-ci.yml
glab ci run                       # Trigger pipeline
glab ci retry                     # Retry failed pipeline

Wait for pipeline in scripts (glab has no built-in blocking wait):

while true; do
  status=$(glab api "projects/:id/pipelines?ref=$(git branch --show-current)&per_page=1" \
    | jq -r '.[0].status')
  case "$status" in
    success) echo "Pipeline passed"; break ;;
    failed|canceled) echo "Pipeline $status"; exit 1 ;;
    *) echo "Status: $status, waiting..."; sleep 15 ;;
  esac
done

Auto-merge when pipeline succeeds:

glab mr merge <MR_ID> --when-pipeline-succeeds

API

glab api projects/:id/merge_requests
glab api --paginate "projects/:id/pipelines/123/jobs?per_page=100"
glab api --method POST projects/:id/issues --field title="Bug"

Quick Fixes

ErrorFix
401 Unauthorizedglab auth login
404 Project Not FoundCheck repo name + access permissions
not a git repositorycd to repo or use -R owner/repo
source branch already has MRglab mr list to find existing
pipeline must succeedglab ci status then fix/retry

References

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

chrome-devtools

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

argocd-cli-guide

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

orpc-implementation-sops

No summary provided by upstream source.

Repository SourceNeeds Review