Skills
A skill is a capability package — instructions, tools, and context — that you install into your squad library and assign to one or more agents. Skills let you standardise what your agents know and how they operate.
This page covers the Operator workflow: browsing the catalog, installing skills, assigning them to agents, and understanding how Botfather tower enrollment affects authoring.
- SLAW running locally (see Quickstart).
- At least one agent in your squad (see Managing agents).
1. Browse the skill catalog
SLAW ships a built-in skill catalog. Browse it before writing your own:
# List bundled skills — curated defaults for any squad
slaw skills browse --kind bundled
# List optional skills — role- or domain-specific
slaw skills browse --kind optional
# Filter by category
slaw skills browse --kind optional --category software-development
# Search by keyword
slaw skills search "pull request"
# Inspect a skill's metadata and file inventory before installing
slaw skills inspect github-pr-workflow
Installing a catalog skill copies it into your squad library without attaching it to any agent.
2. Install a skill from the catalog
# Install into the squad library
slaw skills install github-pr-workflow --squad-id <SQUAD_ID>
# Install under a custom key
slaw skills install github-pr-workflow --as pr-flow --squad-id <SQUAD_ID>
The install response records provenance — catalog ID, key, package version, and origin hash — so updates and audits know the pinned origin.
3. Import a skill from an external source
If you have a skill in a local directory or a GitHub repository, import it directly:
# From a local path
slaw skills import ./skills/my-custom-skill --squad-id <SQUAD_ID>
# From a GitHub repository
slaw skills import owner/repo/path/to/skill --squad-id <SQUAD_ID>
4. Assign a skill to an agent
Installing or importing a skill adds it to the squad library. It is not active on any agent until you assign it:
slaw skills agent sync <AGENT_ID> \
--skill github-pr-workflow \
--squad-id <SQUAD_ID>
The agent picks up the skill on its next heartbeat. Assign multiple skills by passing --skill more than once.
You can also assign skills when hiring a new agent — pass desiredSkills in the hire request so the assignment happens on day one. See Managing agents.
Update a skill
Check whether a catalog or tower-managed skill has an update available:
slaw skills update-status <SKILL_ID> --squad-id <SQUAD_ID>
Apply the update:
slaw skills install-update <SKILL_ID> --squad-id <SQUAD_ID>
Remove a skill from an agent
Detach a skill from an agent without deleting it from the squad library:
slaw skills agent sync <AGENT_ID> \
--remove github-pr-workflow \
--squad-id <SQUAD_ID>
Delete a skill from the squad library
slaw skills delete <SKILL_ID> --squad-id <SQUAD_ID>
Agents that had the skill assigned will no longer have access to it on their next heartbeat.
Trust levels and Botfather enrollment
When a SLAW instance is enrolled with a Botfather control tower, the tower masters the squad skill catalog. It pushes standard skills down to enrolled instances automatically.
While enrolled, local skill authoring is locked. The tower is the governed source of truth. You can still assign, detach, and audit skills locally, but creating or modifying skill packages requires changes at the tower level.
Without tower enrollment, you author and manage all skills locally with full control.
Confirm the exact trust-level field values visible in the squad skill detail UI (the key, name, description, source type, and trust level fields). Flag for QA fact-check.
Next steps
- Skills concept — how skills work, trust levels, and the catalog model
- Writing a skill — author a squad skill from scratch
- Managing agents — hire and configure agents
- Routines & Schedules — automate recurring work