Skip to main content
POST
Create a skill
Creates a skill in your catalog. Attach it to agents by name in their skills list. Returns 201 with the created skill object.

Request body

string
required
Catalog identifier, kebab-case with an optional single org/ namespace prefix. The h/ prefix is reserved for H’s catalog (rejected with 403). Any other name creates a custom skill, private to your organization. Immutable after creation.
string
required
When to use the skill. The agent reads it to decide whether to load the skill. Non-empty.
string
required
The Markdown instructions the agent loads when it uses the skill. Non-empty.
string
Optional provenance URL.
string
Optional, informational regex hinting at URLs where the skill applies. 1 to 1024 characters.
string | null
Optional environment requirements shown to the agent, for example "Needs a code sandbox with Python 3". Not enforced.
object
Optional supporting files (scripts, references, assets), keyed by relative path, each value base64-encoded:
Up to 511 files, 2 MiB each and 4 MiB in total. Paths are relative POSIX paths, unique ignoring case, and a file can’t share a path with a folder. SKILL.md is reserved: it is generated from the other fields. The catalog stores the files and returns them unchanged. Agents don’t install them in their environment yet.
string[]
default:"[]"
Paths in files that keep their execute bit, for example ["scripts/check.sh"]. Each must be a key of files.

Examples

Response

Errors