gaal skill is the registry entry point. Use it to find skills in a registry, add selected skills to a gaal.yaml, and optionally run the normal sync immediately.
The default registry is skills.sh.
For the
skills.sh registry, gaal uses the official skills.sh CLI surface through npx skills find. Make sure npx is available on PATH. No VERCEL_OIDC_TOKEN or skills.sh API auth is required for gaal’s v1 registry workflow.Commands
Search
gaal.yaml. For the skills.sh registry, gaal discovers matches through npx skills find <query> and prints the results in the selected output format.
Search flags
Plus all global flags. Use
-o table or -o text for a compact table, or -o json for structured fields.
Search examples
Install
gaal.yaml, and runs gaal sync by default.
gaal does not delegate the final install side effect to npx skills add. The source of truth remains gaal.yaml; registry lookup only helps gaal choose the normal skills: entry to write.
When the config file does not exist, install creates a compact minimal file:
gaal.yaml
Accepted references
All of these refer to the same skill:frontend-design, can match more than one registry result. In an interactive terminal, gaal shows a picker. In a non-interactive shell, gaal prints the choices and exits non-zero. --yes skips confirmation, but it does not choose among ambiguous results.
Install flags
Plus all global flags, including
--config.
Install behavior
- Install defaults to global scope and writes
global: true. --projectwritesglobal: false.--configselects which config file to create or update.- The registry is stored as
registry:on the skill entry for provenance. gaal syncremains source-based. It fetches thesource:value;registry:records where the entry came from.- For the
skills.shregistry, discovery usesnpx skills find; final installation still happens through gaal sync. - gaal does not require
VERCEL_OIDC_TOKENor skills.sh API auth for this workflow. - Registry-backed entries do not collapse with legacy entries that lack
registry:. - Omitted
agentsandagents: ["*"]are distinct for registry installs. The install command writesagents: ["*"]when you use the default. - If an existing matching entry has no
select:, the requested skill is already covered because empty or omittedselect:means install every skill in the source.