About glab-label
A skill for managing GitLab labels with the glab command. It covers project and group labels, from creation and listing to updates, deletion, and JSON retrieval.
Key features
- 01Create project and group labels
- 02List labels with pagination
- 03Edit and delete labels
- 04Retrieve label details as JSON
Use cases
- 01Set shared label taxonomies across a group
- 02Manage project-specific workflow labels
- 03Review labels across paginated results
- 04Retrieve label data for agent automation
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ vince-winkintel/ gitlab-cli-skills --skill glab-labelAfter installing, type/glab-labelin Claude Code to confirm it loaded.
Bundled filesreferences/commands.mdscripts/batch-label-issues.sh
Details
From the project READMEglab label
Manage labels at project and group level.
Quick start
# Create project label
glab label create --name bug --color "#FF0000"
# Create group label
glab label create --group my-group --name priority::high --color "#FF6B00"
# List labels
glab label list
# Update label
glab label edit bug --color "#CC0000" --description "Software defects"
# Delete label
glab label delete bug
Decision: Project vs Group Labels?
Where should this label live?
├─ Used across multiple projects in a group
│ └─ Group-level: glab label create --group <group> --name <label>
└─ Specific to one project
└─ Project-level: glab label create --name <label>
Use group-level labels when:
- You want consistent labeling across all projects in a group
- Managing organization-wide workflows
- Examples:
priority::high,type::bug,status::blocked - Reduces duplication and ensures consistency
Use project-level labels when:
- Label is specific to project workflow
- Team wants control over their own labels
- Examples:
needs-ux-review,deploy-to-staging,legacy-code
Common workflows
Creating a label taxonomy
Set up priority labels (group-level):
glab label create --group engineering --name "priority::critical" --color "#FF0000"
glab label create --group engineering --name "priority::high" --color "#FF6B00"
glab label create --group engineering --name "priority::medium" --color "#FFA500"
glab label create --group engineering --name "priority::low" --color "#FFFF00"
Set up type labels (group-level):
glab label create --group engineering --name "type::bug" --color "#FF0000"
glab label create --group engineering --name "type::feature" --color "#00FF00"
glab label create --group engineering --name "type::maintenance" --color "#0000FF"
Managing project-specific labels
Create workflow labels:
glab label create --name "needs-review" --color "#428BCA"
glab label create --name "ready-to-merge" --color "#5CB85C"
glab label create --name "blocked" --color "#D9534F"
Bulk operations
List all labels to review:
glab label list --per-page 100 > labels.txt
When GitLab supplies a total in its pagination response, the text header reports that real total label count rather than merely the number returned on the current page. Use --page and --per-page to retrieve additional pages; do not infer that every label is present just because the displayed total is larger than the rows shown.
Delete deprecated labels:
glab label delete old-label-1
glab label delete old-label-2
Related Skills
Using labels:
- See
glab-issuefor applying labels to issues - See
glab-mrfor applying labels to merge requests - Script:
scripts/batch-label-issues.shfor bulk labeling
Structured output
glab label get supports --output json / -F json for structured output, which is useful for agent automation.
# Get a label with JSON output
glab label get <label-id> --output json
glab label get <label-id> -F json
Command reference
For complete command documentation and all flags, see references/commands.md.
Available commands:
create- Create label (project or group)list- List labelsedit- Update label propertiesdelete- Delete labelget- View single label details