Prerequisites
- An agent — see create and configure an agent.
- An access token.
Steps
Get a skill
Create one from inline content:Import one from GitHub by passing
github_url instead of content, upload a
directory with POST /v1/workspaces/{workspace}/skills/upload, or install one from the catalog with
POST /v1/workspaces/{workspace}/skills/{skill_id}/install. All four produce the same object; only
source_type differs. Every one is stored as a package in object storage; the
row holds only metadata.A catalog install is a pin: the skill points at the catalog item’s package and
keeps that version until an admin updates it. Passing a catalog skill’s id in
skill_ids installs it the same way. A catalog install and a GitHub URL
import both ask the workspace’s install policy first; a GitHub URL import
counts as the registry registry:github with trust community. See
add a skill registry for the rules.Update an installed skill, when the catalog moves on
An installed skill whose catalog item has a new version reads
"update_available": true. A workspace admin moves it to that version:POST /v1/workspaces/{workspace}/skills/update-all updates every installed
skill that has an update and was not edited in the workspace. An edited one
reads "customized": true; update it alone with ?discard_changes=true,
which replaces the edit with the catalog’s version.Compose skills, if useful
A skill can contain skills, through
POST /v1/workspaces/{workspace}/skills/{skill_id}/members. Attach
the parent and the agent gets the set. POST /v1/workspaces/{workspace}/skills/{skill_id}/flatten
resolves a composed skill into its effective content, which is the fastest way
to see what an agent will actually receive.Verify
Read back the agent and confirm the skill ids:Troubleshooting
The agent never activates the skill
The agent never activates the skill
Activation is a model decision. If the skill’s
description does not make
its trigger obvious, the model has nothing to match on — the description is
what appears in the catalog, not the content.The skill's files are missing in the sandbox
The skill's files are missing in the sandbox
Files land in the task workspace at activation, not at attach time. A task
that never activated the skill has no reason to have its files.
Install or import answers 403 "Install refused by policy"
Install or import answers 403 "Install refused by policy"
An install rule refuses the item’s registry or its trust level; the message
names the rule. A GitHub URL import is refused by a rule on
registry:github
or on registry_trust:community. An admin changes the rule under
Policies, or installs from a registry the rules allow.An installed skill is no longer offered to tasks
An installed skill is no longer offered to tasks
A workspace install rule written after the install denies the skill’s
registry or trust level; the task’s feed shows a
skill.withheld event
naming the rule. Activating it in a running task
returns a tool error naming the rule. Lift or narrow the rule under
Policies and the next task offers the skill again.Update answers 409 skill_customized
Update answers 409 skill_customized
The skill was edited in this workspace. Pass
discard_changes=true to
replace the edit with the catalog’s version, or leave it as it is.Context is exhausted despite progressive disclosure
Context is exhausted despite progressive disclosure
Attaching many skills still costs their catalog entries. Consider the
dynamic context strategy — see
context strategies .Related
Skills
A skill is a folder of files an agent loads only when a task calls for it
Create and configure an agent
Create an agent, bind it to a model instance, and give it instructions and
tools
Add a skill registry
Your own source of skills, and the policy on where installs come from