Skills

A skill is a folder of instructions and files the session mounts. It holds the procedure that a system prompt is too small to carry, and the model reads it when the task calls for it.

A skill is not a tool. It adds no entry to the tool list. The session mounts the folder under /workspace/skills and tells the model the name, the description and the path. The model opens it with read, so a skill needs an agent that carries the hosted toolset.

Uploading

Post the files as multipart form data under files[], with each file's name carrying its path inside the folder. coreloop expands a single .zip. The cap is 30 MB.

cURL
curl https://coreloop.run/anthropic/v1/skills \
  -H "x-api-key: $CORELOOP_API_KEY" \
  -F "files[][email protected];filename=release-notes/SKILL.md" \
  -F "files[][email protected];filename=release-notes/template.md"

The bundle must hold a SKILL.md that opens with YAML frontmatter. Its name and description name the skill. Without them, the top-level folder names it. A name may not contain XML tags or the words "anthropic" and "claude".

Versions

Attaching a skill

Attach skills to an agent, or override the list on one session. An entry omitting version reads latest at every turn, so a new version reaches the running agent.

await client.beta.agents.update(agent.id, {
  skills: [{ type: "custom", skill_id: "skill_...", version: "latest" }],
});

A session mounts at most 500 skills.

Anthropic's own skills

source must be custom. Anthropic's pre-built skills, xlsx and docx and pptx and pdf, are not ours to serve.

Soon: skills read from a mounted repository.

Endpoints