Skip to main content
POST
Creates a private skill owned by the caller. Send its name, description and instructions, or send a whole SKILL.md as skill_md. To import a skill folder, such as a Claude skill:
  1. Upload every file in the folder except SKILL.md with the Files API.
  2. Send the SKILL.md text as skill_md.
  3. Send each uploaded file in files with its path in the folder, such as references/policy.md.
The front matter of skill_md gives the name and description; other keys are ignored. Its body becomes the instructions. A name or description sent beside skill_md wins over the front matter. The Wordsmith agent finds each file at its path in the skill’s folder. Paths follow the app’s rules: relative, with no empty, . or .. segments, and no two files at one path. SKILL.md at the root is reserved for the skill itself.

Authentication

Requires an API key, or an OAuth token with skills:write. Sending files also needs files:read, because the Wordsmith agent reads them.

Body parameters

string
The skill’s name, up to 200 characters. Required unless the skill_md front matter has one.
string
When to use the skill, up to 2,000 characters. Wordsmith matches requests against it.
string
The skill’s markdown body, up to 100,000 characters. Send this or skill_md, not both.
string
A whole SKILL.md, up to 100,000 characters: YAML front matter between --- lines, then the instructions. Send this or instructions, not both.
object[]
Up to 100 files to bundle, each as {"path": "...", "file_id": "..."}. Each file must be one the caller can read, and its malware scan must be clean.

Response

Returns 201 with the new skill, as Get Skill returns it.

Errors