Create Skill
POST /skillsRequest body — SkillCreate
Section titled “Request body — SkillCreate”| Field | Type | Notes | |
|---|---|---|---|
slug | string | required | — |
description | string | required | min length 1 |
instructions | string | required | min length 1 |
reference_docs | ReferenceDoc[] | optional | — |
scope | workspace | organization | platform | null | optional | — |
owner_agent_id | string (uuid) | null | optional | — |
owner_user_id | string (uuid) | null | optional | — |
curation_state | pending | reviewed | promoted | superseded | retired | optional | Default "reviewed". |
origin | human | agent | import | derived | optional | Default "human". |
is_active | boolean | optional | Default true. |
Responses
Section titled “Responses”| Status | Description | Body |
|---|---|---|
201 | Successful Response | SkillView |
422 | Validation Error | HTTPValidationError |
Example
Section titled “Example”The body shows the fields the schema always carries. Which combination is legal is a service rule the schema cannot express, so read the description above before copying this.
curl -X POST https://your-deployment.example.com/skills \ -H "Authorization: Bearer $COBRE_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "slug": "string", "description": "string", "instructions": "string" }'Response — SkillView
Section titled “Response — SkillView”| Field | Type | Notes | |
|---|---|---|---|
id | string (uuid) | required | — |
scope | workspace | organization | platform | required | — |
organization_id | string (uuid) | null | required, nullable | — |
workspace_id | string (uuid) | null | required, nullable | — |
owner_agent_id | string (uuid) | null | required, nullable | — |
owner_user_id | string (uuid) | null | required, nullable | — |
slug | string | required | — |
description | string | required | — |
instructions | string | required | — |
reference_docs | ReferenceDoc[] | required | — |
version | integer | required | — |
curation_state | pending | reviewed | promoted | superseded | retired | required | — |
origin | human | agent | import | derived | required | — |
use_count | integer | required | — |
last_used_at | string (date-time) | null | required, nullable | — |
is_active | boolean | required | — |
created_at | string (date-time) | required | — |
updated_at | string (date-time) | required | — |