Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getgaal.com/llms.txt

Use this file to discover all available pages before exploring further.

skills:
  - source: <string>
    agents: <[string] | ["*"]>
    global: <bool>          # optional, default false
    target_subdir: <string> # optional
    select: <[string]>      # optional
    tools: <[ToolEntry]>    # optional

Type

array[SkillEntry]

Required

No. Omit skills: if you have nothing to install.

Entry fields

source

FieldTypeRequired
sourcestringyes
Where the skills come from. Accepts:
FormatExample
GitHub shorthandanthropics/skills
Full HTTPS URLhttps://github.com/anthropics/skills
Git SSH URLgit@github.com:anthropics/skills.git
Local path./company-skills or ~/my-skills
The source can contain one or many skills. Each top-level subdirectory containing a SKILL.md is one skill.

agents

FieldTypeRequired
agentsarray of stringsyes
Either a list of registry names ([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

FieldTypeRequiredDefault
globalboolnofalse
ValueInstall layout
false./.<agent>/skills/<name> (per-project)
true~/.<agent>/skills/<name> (per-user)

target_subdir

FieldTypeRequired
target_subdirstringno
Optional subdirectory under the resolved agent skills directory. Use it when an agent supports grouping skills, or when you want two entries from the same source to land in different folders. The value must be relative and cannot contain ...

select

FieldTypeRequired
selectarray of stringsno
Names (matching subdirectory names in the source) of specific skills to install. Empty or omitted = install everything in the source.

tools

FieldTypeRequired
toolsarray of ToolEntryno
CLI tools this skill collection depends on. Checked for presence by gaal doctor and surfaced in the gaal sync missing-tool banner. Accepts the same shorthand and full forms as the top-level tools: block — see Tools.

Example

skills:
  - source: anthropics/skills
    agents: ["*"]
    global: false

  - source: vercel-labs/agent-skills
    agents: [claude-code, cursor]
    select: [test-writer, code-reviewer]
    global: true

  - source: ./company-skills
    agents: [claude-code, cursor]
    global: false

  - source: ./company-skills
    agents: [codex]
    target_subdir: team

  - source: obra/superpowers
    agents: ["*"]
    tools:
      - name: tree-sitter
        hint: "brew install tree-sitter"

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.

Concepts: Skills

Configure skills

Agent integrations