Type
array[SkillEntry]
Required
No. Omitskills: if you have nothing to install.
Entry fields
source
| Field | Type | Required |
|---|---|---|
source | string | yes |
| Format | Example |
|---|---|
| GitHub shorthand | anthropics/skills |
| Full HTTPS URL | https://github.com/anthropics/skills |
| Git SSH URL | git@github.com:anthropics/skills.git |
| Local path | ./company-skills or ~/my-skills |
SKILL.md is one skill.
agents
| Field | Type | Required |
|---|---|---|
agents | array of strings | yes |
[claude-code, cursor, codex]) or the wildcard ["*"].
["*"] resolves at sync time to agents currently detected on this machine. Use gaal sync --force to expand it to every registered agent regardless of detection.
global
| Field | Type | Required | Default |
|---|---|---|---|
global | bool | no | false |
| Value | Install layout |
|---|---|
false | ./.<agent>/skills/<name> (per-project) |
true | ~/.<agent>/skills/<name> (per-user) |
select
| Field | Type | Required |
|---|---|---|
select | array of strings | no |
Example
Behaviour
- Sources are fetched once per sync and reused across all targeted agents.
- Skills already at the right version are reported
= unchanged. - Skills no longer in the config are left alone unless you pass
--prune.