Skills

Manage team and system skills (reusable knowledge packs).

get

List all skills for the current team, including system skills.

Authorizations
AuthorizationstringRequired

API key authentication. Get your API key from the Duvo dashboard.

Responses
200

Default Response

application/json
get
/v1/skills
post

Create or update a skill from a JSON body. The server constructs SKILL.md from the provided fields and stores it. If a skill with the same name already exists in the team, it is updated.

Authorizations
AuthorizationstringRequired

API key authentication. Get your API key from the Duvo dashboard.

Body
namestring · min: 1 · max: 64Required

Skill name. 1-64 lowercase alphanumeric chars and hyphens; no leading/trailing or consecutive hyphens.

descriptionstring · min: 1 · max: 1024Required

1-1024 chars describing what the skill does and when to invoke it.

contentstringRequired

Markdown body of SKILL.md without YAML frontmatter. The server prepends the frontmatter from the other fields.

licensestringOptional

Optional: license name or reference to a bundled license file.

compatibilitystring · max: 500Optional

Optional: 1-500 chars describing environment requirements.

allowed-toolsstringOptional

Optional (experimental): space-delimited list of pre-approved tools.

Responses
200

Default Response

application/json
post
/v1/skills
post

Create or update a skill by uploading a SKILL.md file or a ZIP archive containing SKILL.md at the root. If a skill with the same name exists in the team, it will be updated.

Authorizations
AuthorizationstringRequired

API key authentication. Get your API key from the Duvo dashboard.

Responses
200

Default Response

application/json
post
/v1/skills/upload
get

List all system skills (skills available to all teams).

Authorizations
AuthorizationstringRequired

API key authentication. Get your API key from the Duvo dashboard.

Responses
200

Default Response

application/json
get
/v1/skills/system
delete

Delete a skill for the current team.

Authorizations
AuthorizationstringRequired

API key authentication. Get your API key from the Duvo dashboard.

Path parameters
skill_idstring · uuidRequired

Skill ID.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
Responses
200

Default Response

application/json
successbooleanRequired

True if the skill was deleted

messagestringRequired

Human-readable result message

delete
/v1/skills/{skill_id}
get

Download a custom skill as a ZIP archive. Only custom (team-owned) skills can be downloaded.

Authorizations
AuthorizationstringRequired

API key authentication. Get your API key from the Duvo dashboard.

Path parameters
skill_idstring · uuidRequired

Skill ID.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
Responses
200

Default Response

application/json
anyOptional
get
/v1/skills/{skill_id}/download

No content

get

List all files in a skill.

Authorizations
AuthorizationstringRequired

API key authentication. Get your API key from the Duvo dashboard.

Path parameters
skill_idstring · uuidRequired

Skill ID.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
Responses
200

Default Response

application/json
get
/v1/skills/{skill_id}/files
get

Get the content of a file in a skill.

Authorizations
AuthorizationstringRequired

API key authentication. Get your API key from the Duvo dashboard.

Path parameters
skill_idstring · uuidRequired

Skill ID.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
*string · min: 1Required

Relative path to the file inside the skill, e.g. SKILL.md.

Responses
200

Default Response

application/json
contentstringRequired

UTF-8 decoded contents of the file

pathstringRequired

Relative path of the file inside the skill

contentTypestringOptional

MIME content type inferred from the file extension

get
/v1/skills/{skill_id}/files/{*}
put

Update the content of a file in a skill. Only team skills can be edited.

Authorizations
AuthorizationstringRequired

API key authentication. Get your API key from the Duvo dashboard.

Path parameters
skill_idstring · uuidRequired

Skill ID.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
*string · min: 1Required

Relative path to the file inside the skill, e.g. SKILL.md.

Body
contentstringRequired

New UTF-8 text content for the file.

Responses
200

Default Response

application/json
successbooleanRequired

True if the file was updated

messagestringRequired

Human-readable result message

put
/v1/skills/{skill_id}/files/{*}
get

List the assignments in the current team whose live build references the given skill. Used to warn users that editing a skill will affect every assignment that uses it.

Authorizations
AuthorizationstringRequired

API key authentication. Get your API key from the Duvo dashboard.

Path parameters
skill_idstring · uuidRequired

Skill ID.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
Responses
200

Default Response

application/json
totalinteger · max: 9007199254740991Required

Total number of assignments referencing the skill

get
/v1/skills/{skill_id}/assignments

Last updated