Skip to main content
A skill is versioned markdown an agent loads on demand. Seven methods. API detail: Skills.

push

POST /v1/skills — create-or-version by slug. An unknown slug creates the skill; a known slug with changed content mints a new version; an identical push is a no-op (content-addressed).
string
required
The skill’s stable handle.
string
required
The markdown body.
string
One-line summary.
string
An integrity claim checked against the server’s own digest of content — never the digest of record. A mismatch is rejected with validation_failed, param: "sha256".
The reply is the version plus id and slug — which is what makes chaining into pushVersion work.

pushVersion

POST /v1/skills/{ref}/versions — the same push addressed at a skill that already exists, by id or slug. Distinct from push on purpose: an unknown ref is a 404, not a create, so a release pipeline pinned to a skill id cannot silently mint a second skill after a rename.

list

GET /v1/skills, cursor-paginated.

get

GET /v1/skills/{slug} — by slug or id. Metadata only; the body costs a getVersion call.

listVersions

GET /v1/skills/{slug}/versions. Newest first. The cursor is the version number, not an id — versions have none of their own.

getVersion

GET /v1/skills/{slug}/versions/{version}. This is the call that returns the content — progressive disclosure: the body costs this second call, never every turn.

delete

DELETE /v1/skills/{slug}. Removes the skill and its versions.