docs: refresh glab skills for v1.108.0 (#77)

This commit is contained in:
Vince Lozada
2026-07-16 09:33:00 -05:00
committed by GitHub
parent 80b30af17f
commit 587e9c15b2
14 changed files with 227 additions and 85 deletions
+7 -1
View File
@@ -1,8 +1,14 @@
1.13.16 1.13.17
Release/version change metadata for this skill set lives here, not in individual skill files. Release/version change metadata for this skill set lives here, not in individual skill files.
Historical notes consolidated from skill docs: Historical notes consolidated from skill docs:
- v1.13.17
- glab v1.108.0 refresh: documented `glab ci status --wait` for non-interactive pipeline completion waits, including the JSON-output incompatibility shared by the polling/compact text modes.
- Updated `glab-securefile` for deletion by exact file name via `--name`, with explicit confirmation and non-interactive `--yes` safety guidance.
- Updated `glab-mr` for note/discussion IDs and absolute-plus-relative timestamps in `glab mr note list`, including filters and JSON output for stable automation identifiers.
- Updated `glab-duo` for the GA Duo CLI path, current prerequisites, auto-run/download settings, and `--update`; refreshed `glab-config` with the complete documented global setting set.
- Documented that interactive re-authentication preserves saved API host, SSH host, and container-registry domains unless explicitly overridden. Reviewed issue/MR rendering fixes and experimental security synopsis changes; no additional operational skill changes were needed for those fixes.
- v1.13.16 - v1.13.16
- glab v1.107.0 refresh: added `glab-security` coverage for experimental `glab security config enable|disable|status <profile>` project security scan profile management, including Maintainer/Owner and explicit `-R/--repo` safety guidance. Reviewed Duo CLI v9 auto-update release note; existing `glab-duo` forward guidance remains current and no content change was needed there. - glab v1.107.0 refresh: added `glab-security` coverage for experimental `glab security config enable|disable|status <profile>` project security scan profile management, including Maintainer/Owner and explicit `-R/--repo` safety guidance. Reviewed Duo CLI v9 auto-update release note; existing `glab-duo` forward guidance remains current and no content change was needed there.
- v1.13.15 - v1.13.15
+8
View File
@@ -60,6 +60,14 @@ glab auth login \
--container-registry-domains "registry.gitlab.com,gitlab.com" --container-registry-domains "registry.gitlab.com,gitlab.com"
``` ```
When re-authenticating interactively, `glab` preserves saved per-host values such as a custom API host, SSH host, and container-registry domains unless you explicitly override them with flags or prompts. Verify these values after re-authentication instead of deleting the config preemptively:
```bash
glab config get api_host --host gitlab.company.com
glab config get ssh_host --host gitlab.company.com
glab config get container_registry_domains --host gitlab.company.com
```
**CI auto-login:** when enabled, token environment variables such as `GITLAB_TOKEN`, `GITLAB_ACCESS_TOKEN`, or `OAUTH_TOKEN` still take precedence over stored credentials and `CI_JOB_TOKEN`. **CI auto-login:** when enabled, token environment variables such as `GITLAB_TOKEN`, `GITLAB_ACCESS_TOKEN`, or `OAUTH_TOKEN` still take precedence over stored credentials and `CI_JOB_TOKEN`.
### Agentic and multi-account setups ### Agentic and multi-account setups
+5 -1
View File
@@ -30,6 +30,9 @@ glab ci status --output=json --jq '.pipeline.status'
# View current pipeline status # View current pipeline status
glab ci status glab ci status
# Wait non-interactively until the current pipeline finishes
glab ci status --wait
# View detailed pipeline info # View detailed pipeline info
glab ci view glab ci view
@@ -184,7 +187,8 @@ glab ci delete <pipeline-id>
**Watching live pipeline status:** **Watching live pipeline status:**
- `glab ci status --live` keeps polling while the pipeline is in transient in-progress states such as `created`, `waiting_for_resource`, `preparing`, `pending`, `running`, and `scheduled`. - `glab ci status --live` keeps polling while the pipeline is in transient in-progress states such as `created`, `waiting_for_resource`, `preparing`, `pending`, `running`, and `scheduled`.
- `--live` is for terminal watching; it is not compatible with `--output json` / `--jq`. For automation, run `glab ci status --output=json --jq ...` repeatedly or poll the API. - `glab ci status --wait` also polls until the pipeline reaches a terminal state, but suppresses the post-run interactive action prompt. It exits non-zero when the final pipeline fails and follows a newer pipeline if the observed one is auto-canceled and replaced for the same branch.
- `--live` and `--wait` are text-mode polling options, and `--compact` is also text-only. None of these modes is compatible with `--output json` / `--jq`. For structured automation, run `glab ci status --output=json --jq ...` repeatedly or poll the API.
**Pipeline stuck/pending:** **Pipeline stuck/pending:**
- Check runner availability: View pipeline in web UI - Check runner availability: View pipeline in web UI
+34 -26
View File
@@ -380,33 +380,41 @@ Command "artifact" is deprecated, use 'glab job artifact' instead.
## ci status ## ci status
``` ```
View CI/CD pipeline status.
View a running CI/CD pipeline on current or other branch specified. Defaults to the current branch.
Use --live for real-time updates. Use --compact for a condensed view.
USAGE
USAGE
glab ci status [--flags] glab ci status [flags]
EXAMPLES EXAMPLES
# View the pipeline status in real time
$ glab ci status --live glab ci status --live
# A more compact view # Wait until the pipeline is finished, without an interactive action prompt
$ glab ci status --compact glab ci status --wait
# Get the pipeline for the main branch # A more compact view
$ glab ci status --branch=main glab ci status --compact
# Get the pipeline for the current branch # Get the pipeline for the main branch
$ glab ci status glab ci status --branch=main
FLAGS # Get the pipeline for the current branch
glab ci status
-b --branch Check pipeline status for a branch. (default current branch)
-c --compact Show status in compact format. FLAGS
-h --help Show help for this command. -b, --branch string Check pipeline status for a branch. Defaults to the current branch.
-l --live Show status in real time until the pipeline ends. -c, --compact Show status in compact format.
-R --repo Select another repository. Can use either `OWNER/REPO` or `GROUP/NAMESPACE/REPO` format. Also accepts full URL or Git URL. --jq string Filter JSON output with a jq expression.
-l, --live Show status in real time until the pipeline ends.
-F, --output string Format output as: text, json. JSON is not compatible with --live, --wait, or --compact. (default "text")
-w, --wait Wait to return until the pipeline is finished, and provide output without a prompt.
INHERITED FLAGS
-h, --help Show help for this command.
-R, --repo string Select another repository. OWNER/REPO, GROUP/NAMESPACE/REPO, full URL, and Git URL are accepted.
``` ```
## ci trace ## ci trace
+21 -9
View File
@@ -11,19 +11,24 @@ description: Manage glab CLI configuration settings including defaults, preferen
Manage key/value strings. Manage key/value strings.
Current respected settings: Current respected settings:
- branch_prefix: Prefix used by glab stack for generated branch names.
- browser: If unset, uses the default browser. Override with environment variable $BROWSER. - browser: If unset, uses the default browser. Override with environment variable $BROWSER.
- check_update: If true, notifies of new versions of glab. Defaults to true. Override with environment variable - check_update: Notify about new glab versions. Override with $GLAB_CHECK_UPDATE.
$GLAB_CHECK_UPDATE. - display_hyperlinks: Enable terminal hyperlinks. Override with $FORCE_HYPERLINKS.
- display_hyperlinks: If true, and using a TTY, outputs hyperlinks for issues and merge request lists. Defaults to - duo_cli_auto_download / duo_cli_auto_run: Skip Duo CLI download/run prompts.
false.
- editor: If unset, uses the default editor. Override with environment variable $EDITOR. - editor: If unset, uses the default editor. Override with environment variable $EDITOR.
- glab_pager: Your desired pager command to use, such as 'less -R'. - git_protocol: Git protocol, ssh or https.
- glamour_style: Your desired Markdown renderer style. Options are dark, light, notty. Custom styles are available - glab_pager: Pager command, such as less -R.
using [glamour](https://github.com/charmbracelet/glamour#styles). - glamour_style: Markdown renderer style: dark, light, notty, or a custom glamour style.
- host: If unset, defaults to `https://gitlab.com`. - host: If unset, defaults to `https://gitlab.com`.
- no_prompt: Disable interactive prompts. Prefer the $GLAB_NO_PROMPT override in automation.
- notify_skill_updates: Show installed agent-skill update notices. Override with $GLAB_NOTIFY_SKILL_UPDATES.
- orbit_local_auto_download / orbit_local_auto_run: Skip Orbit local CLI download/run prompts.
- remote_alias: Preferred Git remote name when multiple remotes exist.
- show_whats_new: Show the one-time post-upgrade glab whatsnew banner. Override with $GLAB_SHOW_WHATS_NEW.
- telemetry: Enable usage data to the GitLab instance. Override with $GLAB_SEND_TELEMETRY.
- token: Your GitLab access token. Defaults to environment variables. - token: Your GitLab access token. Defaults to environment variables.
- visual: Takes precedence over 'editor'. If unset, uses the default editor. Override with environment variable - visual: Takes precedence over editor. Override with $VISUAL.
$VISUAL.
USAGE USAGE
glab config [command] [--flags] glab config [command] [--flags]
COMMANDS COMMANDS
@@ -107,6 +112,13 @@ glab config set glab_pager "less -R" --global
# Disable update checks # Disable update checks
glab config set check_update false --global glab config set check_update false --global
# Select the Git remote glab should prefer
glab config set remote_alias origin --global
# Allow Duo CLI to download and run without wrapper prompts
glab config set duo_cli_auto_download true --global
glab config set duo_cli_auto_run true --global
# Set default host # Set default host
glab config set host https://gitlab.mycompany.com --global glab config set host https://gitlab.mycompany.com --global
``` ```
+20 -13
View File
@@ -8,19 +8,26 @@
Current respected settings: Current respected settings:
- browser: If unset, uses the default browser. Override with environment variable $BROWSER. - branch_prefix: Prefix used by glab stack when naming generated branches. Defaults to $USER, then glab-stack.
- check_update: If true, notifies of new versions of glab. Defaults to true. Override with environment variable - browser: If unset, uses the default browser. Override with $BROWSER.
$GLAB_CHECK_UPDATE. - check_update: Notify about new glab versions. Defaults to true. Override with $GLAB_CHECK_UPDATE.
- display_hyperlinks: If true, and using a TTY, outputs hyperlinks for issues and merge request lists. Defaults to - display_hyperlinks: Enable terminal hyperlinks. Defaults to true. Override with $FORCE_HYPERLINKS.
false. - duo_cli_auto_download: Automatically download Duo CLI without prompting.
- editor: If unset, uses the default editor. Override with environment variable $EDITOR. - duo_cli_auto_run: Automatically run Duo CLI without prompting.
- glab_pager: Your desired pager command to use, such as 'less -R'. - editor: If unset, uses the default editor. Override with $EDITOR.
- glamour_style: Your desired Markdown renderer style. Options are dark, light, notty. Custom styles are available - git_protocol: Git protocol. Supported values: ssh, https. Defaults to ssh.
using [glamour](https://github.com/charmbracelet/glamour#styles). - glab_pager: Pager command, such as less -R.
- host: If unset, defaults to `https://gitlab.com`. - glamour_style: Markdown renderer style: dark, light, notty, or a custom glamour style.
- token: Your GitLab access token. Defaults to environment variables. - host: If unset, defaults to https://gitlab.com.
- visual: Takes precedence over 'editor'. If unset, uses the default editor. Override with environment variable - no_prompt: Disable interactive prompts. Defaults to false.
$VISUAL. - notify_skill_updates: Show installed agent-skill update notices. Defaults to true. Override with $GLAB_NOTIFY_SKILL_UPDATES.
- orbit_local_auto_download: Automatically download Orbit local CLI without prompting.
- orbit_local_auto_run: Automatically run Orbit local CLI without prompting.
- remote_alias: Preferred Git remote name when multiple remotes exist.
- show_whats_new: Show the one-time post-upgrade glab whatsnew banner. Defaults to true. Override with $GLAB_SHOW_WHATS_NEW.
- telemetry: Send usage data to the GitLab instance. Defaults to true. Override with $GLAB_SEND_TELEMETRY.
- token: GitLab access token. Defaults to environment variables.
- visual: Takes precedence over editor. Override with $VISUAL.
USAGE USAGE
+1 -1
View File
@@ -7,7 +7,7 @@ description: Manage GitLab container registry repositories and tags with glab. U
Manage GitLab container registry repositories and tags from the CLI. Manage GitLab container registry repositories and tags from the CLI.
> Added in glab v1.103.0. Repository IDs come from registry repository list/view output, not from Git repository project IDs. Repository IDs come from registry repository list/view output, not from Git repository project IDs.
## Common workflows ## Common workflows
+11 -4
View File
@@ -28,7 +28,7 @@ description: Interact with GitLab Duo AI assistant for code suggestions and chat
COMMANDS COMMANDS
ask <prompt> [--flags] Generate Git commands from natural language. ask <prompt> [--flags] Generate Git commands from natural language.
cli [command] Run the GitLab Duo CLI (EXPERIMENTAL) cli [command] Run the GitLab Duo CLI
FLAGS FLAGS
@@ -51,11 +51,13 @@ Treat `glab duo ask` as legacy guidance only for older installed versions that s
glab duo cli glab duo cli
``` ```
Use `glab duo cli` when you specifically want the experimental GitLab Duo CLI surface that `glab` now exposes. Use `glab duo cli` for the forward-looking GitLab Duo Agent Platform experience. `glab` handles authentication for the Duo CLI after you authenticate once with `glab auth login`.
Prerequisites for the GA path are GitLab 19.2 or later and the GitLab Duo Agent Platform prerequisites. GitLab Self-Managed and Dedicated instances must also allow Duo CLI access. GitLab 18.11 through 19.1 require beta and experimental features to be enabled.
### Installing GitLab Duo CLI ### Installing GitLab Duo CLI
`glab duo cli` supports `--install` and `--yes` flags: `glab duo cli` supports install, update, and non-interactive confirmation flags:
```bash ```bash
# Install GitLab Duo CLI interactively # Install GitLab Duo CLI interactively
@@ -63,13 +65,18 @@ glab duo cli --install
# Install GitLab Duo CLI non-interactively (auto-confirm) # Install GitLab Duo CLI non-interactively (auto-confirm)
glab duo cli --install --yes glab duo cli --install --yes
# Check for and install a Duo CLI update
glab duo cli --update
``` ```
Use `--install` to download and install the GitLab Duo CLI binaries. Use `--yes` to skip confirmation prompts during installation, which is useful for automation and CI/CD pipelines. Use `--install` to download and install the GitLab Duo CLI binaries. Use `--yes` to skip confirmation prompts during installation, which is useful for automation and CI/CD pipelines.
To persist prompt behavior, set `duo_cli_auto_download` and `duo_cli_auto_run` with `glab config set ... --global`. All unrecognized arguments and flags after `glab duo cli` pass through to the Duo CLI binary.
### Important documentation note ### Important documentation note
Guidance that recommends `glab duo update` is stale; rely on live help before using any Duo subcommand that is not documented here. Guidance that recommends `glab duo update` is stale; the current wrapper form is `glab duo cli --update`. Rely on live help before using any Duo subcommand that is not documented here.
When local CLI help and external documentation diverge during a transition, document the current upstream direction clearly and note compatibility caveats only when they materially affect usage. When local CLI help and external documentation diverge during a transition, document the current upstream direction clearly and note compatibility caveats only when they materially affect usage.
+23 -1
View File
@@ -78,8 +78,10 @@ glab mr create --draft --title "WIP: Feature X"
glab mr note create 123 --file src/cache.ts --line 42 -m "Please extract this branch" glab mr note create 123 --file src/cache.ts --line 42 -m "Please extract this branch"
glab mr note create 123 --file src/cache.ts --old-line 17 -m "Why was this removed?" glab mr note create 123 --file src/cache.ts --old-line 17 -m "Why was this removed?"
# List discussion threads on the MR (experimental) # List discussion threads and expose note/discussion IDs (experimental)
glab mr note list 123 glab mr note list 123
glab mr note list 123 --state unresolved --type diff
glab mr note list 123 --output json
# Resolve or reopen a discussion by note/discussion ID (experimental) # Resolve or reopen a discussion by note/discussion ID (experimental)
glab mr note resolve 3107030349 123 glab mr note resolve 3107030349 123
@@ -157,6 +159,26 @@ glab mr merge 123
**Automation:** **Automation:**
- Script: `scripts/mr-review-workflow.sh` for automated review + test workflow - Script: `scripts/mr-review-workflow.sh` for automated review + test workflow
## Listing and targeting MR discussions
`glab mr note list` text output includes each note ID and discussion ID, plus both relative and absolute timestamps. Use those identifiers with `resolve`, `reopen`, or `--reply` rather than scraping author/body text.
```bash
# Filter the text view
glab mr note list 123 --type diff --state unresolved
glab mr note list 123 --file src/app.ts
# Prefer JSON when an automation needs stable IDs
glab mr note list 123 --output json \
--jq '.[] | {discussion_id: .id, note_ids: [.notes[].id]}'
# Act on the verified identifier
glab mr note resolve <discussion-or-note-id> 123
glab mr note reopen <discussion-or-note-id> 123
```
`--type` accepts `all`, `general`, `diff`, or `system`; `--state` accepts `all`, `resolved`, or `unresolved`; `--file` limits results to diff notes on one path. These subcommands remain experimental, so confirm live help when scripting across mixed `glab` versions.
## Native MR note flow (`glab mr note create`) ## Native MR note flow (`glab mr note create`)
`glab mr note create` is the preferred command surface for posting new MR discussions. `glab mr note create` is the preferred command surface for posting new MR discussions.
+43
View File
@@ -466,6 +466,49 @@ Command "for" is deprecated, use `glab mr create --related-issue <issueID>`
--unique Don't create a comment or note if it already exists. --unique Don't create a comment or note if it already exists.
``` ```
## mr note list
```
Fetches and displays merge request discussions.
Uses the same output format as glab mr view --comments.
Supports filtering by note type, resolution state, and file path.
Supports JSON output for scripting. Text output includes note and discussion IDs
and shows absolute time alongside relative time.
USAGE
glab mr note list [<id> | <branch>] [flags]
EXAMPLES
# List all discussions on the current branch's MR
glab mr note list
# List diff comments only
glab mr note list --type diff
# List unresolved discussions
glab mr note list --state unresolved
# List discussions on a specific file
glab mr note list --file src/main.go
# JSON output for scripting
glab mr note list -F json --jq '.[].notes[].body'
# List discussions on MR 123
glab mr note list 123
FLAGS
--file string Show only diff notes on this file path.
-F, --output string Format output as: text, json. (default "text")
--jq string Filter JSON output with a jq expression.
--state string Resolution state: all, resolved, unresolved. (default "all")
-t, --type string Note type: all, general, diff, system. (default "all")
INHERITED FLAGS
-h, --help Show help for this command.
-R, --repo string Select another repository. OWNER/REPO, GROUP/NAMESPACE/REPO, full URL, and Git URL are accepted.
```
## mr rebase ## mr rebase
``` ```
+1 -1
View File
@@ -7,7 +7,7 @@ description: List, upload, download, and delete GitLab project package registry
List packages in a GitLab project's package registry, upload/download generic package files, and delete package registry entries by ID. List packages in a GitLab project's package registry, upload/download generic package files, and delete package registry entries by ID.
> Added in glab v1.103.0. `glab packages list` / `ls` lists project package registries. glab v1.104.0 added `glab packages upload` / `ul` for generic package uploads. glab v1.106.0 added `glab packages download` / `dl` for generic package downloads and `glab packages delete` / `rm` for package deletion by numeric ID. `glab packages list` / `ls` lists project package registries. The current command surface also includes `upload` / `ul` for generic package uploads, `download` / `dl` for generic package downloads, and `delete` / `rm` for package deletion by numeric ID.
## Quick start ## Quick start
+18 -1
View File
@@ -25,7 +25,8 @@ description: Manage secure files for CI/CD including upload, download, list, and
download <fileID> [--flags] Download a secure file for a project. download <fileID> [--flags] Download a secure file for a project.
get <fileID> Get details of a project secure file. (GitLab 18.0 and later) get <fileID> Get details of a project secure file. (GitLab 18.0 and later)
list [--flags] List secure files for a project. list [--flags] List secure files for a project.
remove <fileID> [--flags] Remove a secure file. remove [<fileID> | --id <id> | --name <name>] [--flags]
Remove a secure file.
FLAGS FLAGS
@@ -39,6 +40,22 @@ description: Manage secure files for CI/CD including upload, download, list, and
glab securefile --help glab securefile --help
``` ```
## Removing secure files
Secure-file deletion accepts a positional numeric ID, `--id`, or an exact file name via `--name`:
```bash
# Interactive confirmation
glab securefile remove 1
glab securefile remove --id 1
glab securefile remove --name signing-certificate.p12
# Approved non-interactive deletion
glab securefile remove --name signing-certificate.p12 --yes
```
Deletion is permanent. In non-interactive environments, `--yes` / `-y` is required. Resolve and verify the intended project with `-R/--repo` before deleting, and prefer an ID when duplicate or ambiguous naming is possible.
## Subcommands ## Subcommands
See [references/commands.md](references/commands.md) for full `--help` output. See [references/commands.md](references/commands.md) for full `--help` output.
+34 -26
View File
@@ -20,7 +20,8 @@
download <fileID> [--flags] Download a secure file for a project. download <fileID> [--flags] Download a secure file for a project.
get <fileID> Get details of a project secure file. (GitLab 18.0 and later) get <fileID> Get details of a project secure file. (GitLab 18.0 and later)
list [--flags] List secure files for a project. list [--flags] List secure files for a project.
remove <fileID> [--flags] Remove a secure file. remove [<fileID> | --id <id> | --name <name>] [--flags]
Remove a secure file.
FLAGS FLAGS
@@ -161,31 +162,38 @@
## securefile remove ## securefile remove
``` ```
Remove a secure file from a project.
Remove a secure file. USAGE
glab securefile remove [<fileID> | --id <id> | --name <name>] [flags]
USAGE
ALIASES
glab securefile remove <fileID> [--flags] rm
delete
EXAMPLES
EXAMPLES
Remove a project's secure file using the file's ID. # Remove a secure file by ID
- glab securefile remove 1 glab securefile remove 1
glab securefile remove --id 1
Skip the confirmation prompt and force delete.
- glab securefile remove 1 -y # Remove a secure file by name
glab securefile remove --name example.txt
Remove a project's secure file with 'rm' alias.
- glab securefile rm 1 # Skip the confirmation prompt
glab securefile remove 1 -y
Remove a project's secure file with 'delete' alias. glab securefile remove --name example.txt -y
- glab securefile delete 1
# Aliases
FLAGS glab securefile rm 1
glab securefile delete --name example.txt
-h --help Show help for this command.
-R --repo Select another repository. Can use either `OWNER/REPO` or `GROUP/NAMESPACE/REPO` format. Also accepts full URL or Git URL. FLAGS
-y --yes Skip the confirmation prompt. --id int ID of the secure file to remove.
--name string Name of the secure file to remove.
-y, --yes Skip the confirmation prompt.
INHERITED FLAGS
-h, --help Show help for this command.
-R, --repo string Select another repository. OWNER/REPO, GROUP/NAMESPACE/REPO, full URL, and Git URL are accepted.
``` ```
+1 -1
View File
@@ -66,4 +66,4 @@ glab security config status "$PROFILE" -R "$PROJECT"
## Subcommands ## Subcommands
See [references/commands.md](references/commands.md) for current `--help` output captured from glab v1.107.0. See [references/commands.md](references/commands.md) for the current captured `--help` output.