feat(skills): add glab skills get
Description
Adds glab skills get <name> [<path>] to print bundled skill files without installing them. This lets repositories embed
!`glab skills get glab`and use the skill shipped with the installed glab binary instead of maintaining a separate copy. Agents can also read the skill without installing it.
get deliberately serves only bundled skills because the command is meant to be expanded offline at agent session start and must stay version-matched to the binary; remote skills from glab skills list are installed with glab skills install <name>.
This follows the original discussion and the Orbit reference implementation.
Related Issues
There is no gitlab-org/cli issue for this change; the motivation and references are included above.
How has this been tested?
go build ./...go test ./internal/commands/skills/...go test -race ./internal/commands/skills/get/...golangci-lint run ./internal/commands/skills/...go run ./scripts/comment-overlaplefthook run pre-commitlefthook run pre-push
Screenshots (if appropriate):
Not applicable.
Agent context
The command reads only compile-time embedded bundled skills. It validates paths before lookup, appends the on-disk link hint only to SKILL.md, and writes supporting files byte-for-byte so redirected scripts remain runnable. Errors list either bundled skill names or the selected skill's sorted file paths and never write partial content to stdout.
Tests cover default and explicit manifest equivalence, footer placement, path validation, missing and unknown names, and unknown or escaping paths. Command documentation was regenerated with make gen-docs.