SKILL.md file (and any supporting files in the same directory). Coding agents pick up skills from a known directory on disk, .claude/skills, .cursor/skills, .github/skills, and so on.
gaal’s job is to take a single skill source and install it into the right directory for every agent you target.
Why skills are interesting
Each agent has its own skill convention, but the content is portable. Acode-review skill written for Claude Code works in Cursor, Codex, and Copilot with no changes. Without gaal you copy the directory three times. With gaal you write one entry and let the renderers fan it out.
Sources
A skill source can be any of:| Source 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.
Targeting agents
Every skill entry says which agents to install it for:["*"] is a wildcard that resolves at sync time to the agents currently installed on this machine. Agents that aren’t installed are skipped. Use gaal sync --force to install into every registered agent regardless of whether the agent is detected.
Project vs global
Each entry chooses one of two install layouts:global | Where skills are installed |
|---|---|
false (default) | Per-project: ./.claude/skills/<skill>, ./.cursor/skills/<skill>, … |
true | Per-user: ~/.claude/skills/<skill>, ~/.cursor/skills/<skill>, … |
Selecting a subset
By default every skill in the source is installed. Useselect: to install only specific ones:
What gets written where
For every (source × agent) pair, gaal writes the selected skills under the agent’s skills directory using the agent’s native layout. For example, with this entry:Behaviour during sync
- Skills already at the right version are reported
= unchanged. - New skills are added.
- Skills that are no longer in the config are left alone unless you pass
--prune. - Sources are fetched once per sync and reused across all agents that target them.