Skip to navigation

Update a skill's draft

Beta

Write a skill’s SKILL.md content (name, description, markdown body and the optional frontmatter) to its draft. Only the fields you send change; an omitted field keeps its current value, and a list or text field you send replaces the old one whole. The write goes to the live draft, the same draft the Athena editor shows, under the asset’s existing id. Once the asset has been published, runs keep using the published version until you publish the draft with POST /api/v0/assets/{asset_id}/publish; one never published runs from its draft. Requires edit access to the asset; an archived asset is refused with 409. Unknown fields are refused with 422. The frontmatter is validated as it will read after the write; a skill that would not be spec-compliant is refused with 422 and nothing is written. A new name also becomes the asset title.

Authentication

X-API-KEYstring
API Key authentication via header

Path parameters

asset_idstringRequired
ID of the skill to update

Headers

X-Athena-Session-CredentialstringOptional

Request

This endpoint expects an object.
allowed_toolsstring or nullOptional

Space-separated list of pre-approved tools (experimental); an empty string clears it

body_markdownstring or nullOptional
The markdown instructions below the SKILL.md frontmatter. Replaces the whole body.
compatibilitystring or nullOptional

Environment requirements (max 500 chars); an empty string clears it

descriptionstring or nullOptional

What the skill does and when to use it (max 1024 chars)

licensestring or nullOptional

License name or reference; an empty string clears it

metadatamap from strings to strings or nullOptional

Additional string metadata; replaces the whole map

namestring or nullOptional

Skill name slug (lowercase letters, numbers, single hyphens; max 64 chars). Also becomes the asset title.

Response

Successful Response
asset_idstring
ID of the updated asset
asset_typestring

Type of the asset: skill or collab_agent

publishedboolean

Always false: the write changed the draft only. Publish it with POST /api/v0/assets/{asset_id}/publish.

titlestring
Title of the asset after the write
warningslist of stringsOptional

Non-fatal notes, such as tool or toolkit IDs the registry does not know

Errors

400
Bad Request Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
422
Unprocessable Entity Error
503
Service Unavailable Error