SKILL.md, in the Agent Skills convention, and it lives in a project as a resource, versioned like a query.
The file
SKILL.md
The body is the instructions, as long as they need to be: an agent loads the file only when it decides to, so a long skill costs nothing until then.
The built-in library
The platform ships a library of skills every agent may name:pdf, docx, xlsx, pptx (reading and producing documents), doc-coauthoring, internal-comms, brand-guidelines, frontend-design, canvas-design, theme-factory, web-artifacts-builder, webapp-testing, mcp-builder, skill-creator (how to write a skill).
GET /agents/tools lists them under skills.
Skills of a project
A project adds its own skills as resources:POST /skills with the text (definition, the whole file) or the structured fields (name, description, instructions, …); GET /skills?project_id=, GET /skills/{id}, PATCH, DELETE, POST .../restore; the history under GET /skills/{id}/versions. Like a query, the file lives on the organization’s storage with one copy per data branch (?branch=).
The resource’s name and description are the file’s: renaming the resource rewrites the frontmatter, and a skill handed to an agent is named after the resource, never after a pasted file’s frontmatter.
In an agent
An agent names the skills it may load in its definition, built-in by name, project skills by slug or id:load_skill when a task matches. Typing /skill quarterly-report … at the start of a message loads it before answering, whatever the task.
Klara, the built-in assistant, gets the library plus every skill of the project it works in that the caller may read.
These endpoints are served by the platform and used by the Atlas interface; they are being opened on the public gateway progressively, and the Python library does not wrap them yet. The API reference lists what the gateway exposes today.