| name | glab-release |
| description | Manage GitLab Releases using the glab CLI. Use this skill whenever the user wants to create a release, publish a new version, upload release assets, download release binaries, or view release history. Trigger on phrases like "create a release", "publish v1.2.0", "upload release assets", "download the latest release", "list releases", or any GitLab release/versioning task. |
GitLab Release Management
Use glab CLI to create and manage GitLab releases (version tags with release notes and assets).
Create a Release
glab release create <tag>
glab release create v1.2.0 --description "Release notes here"
glab release create v1.2.0 --notes-file CHANGELOG.md
glab release create v1.2.0 --ref <branch-or-sha>
glab release create v1.2.0 --milestone "v1.2"
glab release create v1.2.0 --released-at "2025-06-01T10:00:00Z"
Key flags:
<tag> the git tag name (e.g., v1.2.0)
--description / --notes release body (markdown supported)
--notes-file <file> read description from a file
--ref branch or SHA to create the tag from (if tag doesn't exist yet)
--milestone associate a milestone
--released-at ISO 8601 timestamp for scheduled releases
List Releases
glab release list
glab release list -O json
View a Release
glab release view <tag>
glab release view v1.2.0
Upload Release Assets
glab release upload <tag> <file>
glab release upload v1.2.0 ./dist/app-linux-amd64
glab release upload v1.2.0 ./dist/app-linux-amd64 --name "app-linux-amd64"
Upload multiple assets by running the command multiple times.
Download Release Assets
glab release download <tag>
glab release download v1.2.0 --asset-name <name>
Delete a Release
glab release delete <tag>
Note: This deletes the release record but does NOT delete the git tag.
Behavior Guidelines
- Release notes: Recommend
--notes-file CHANGELOG.md when the project maintains a changelog. This produces professional release notes automatically.
- Tag creation: If the specified tag doesn't exist, use
--ref <branch> to create it from the right commit. Without --ref, GitLab defaults to the project's default branch HEAD.
- Asset naming: Use descriptive
--name values like app-linux-amd64, app-darwin-arm64 to make assets easy to identify.
- Milestones: Link releases to milestones so closed issues in that milestone appear in the release automatically.
- Deletion warning: Remind users that deleting a release is separate from deleting the git tag — they may need
git push --delete origin <tag> to fully clean up.