Skills
Named instructions in the platform catalogue, one SKILL.md per skill, consumed by cluster Agents at session start and synced to laptops with exo skill sync.
A skill is a named piece of operating knowledge (a SKILL.md with a description and a body) stored in the platform catalogue instead of scattered across repos and laptops. Author it once; cluster Agents resolve it at session start, and local coding agents pull it down with exo skill sync.
Author a skill

The dashboard's Agents → Skills page is the editor: name, one-line description, markdown body. The same surface exists in the CLI and the API:
exo skill list
exo skill create --from-file triage-runbook.yaml
exo skill update <id> --from-file triage-runbook.yaml
exo skill get <id>
Give skills to Agents
Cluster Agents take skills through spec.bootstrap.skills. The agentlet materialises them into the runtime's instruction files at the start of every session, so an edited skill is live on the next run with no redeploy:
1spec:2 bootstrap:3 skills:4 - triage-runbook5 - review-checklistBare names resolve against the platform catalogue at session start. You can also point at a ConfigMap (configMapRef: { name }) or inline a bundle (inline: { name, content }) when a skill lives outside the catalogue.
Sync skill to your local machine
exo skill sync --runtime=claude writes each catalogue skill into the on-disk layout your local agent expects, with provenance frontmatter so re-syncs never clobber hand-authored files. The full story (layouts, --prune, --dry-run) is on Skill Sync.
Who sees which skill
Skills support per-skill access grants: the read and sync surfaces only return skills you've been granted, while holders of skills:write see everything. Grants are managed on the skill's row in the dashboard.