Skills are reusable, filesystem-based resources that give your agent domain-specific expertise: workflows, context, and best practices that turn a general-purpose agent into a specialist. Unlike prompts (conversation-level instructions for one-off tasks), skills load on demand, only impacting the context window when needed.
You can attach two types of skill. Both work the same way: your agent invokes them automatically when they are relevant to the task.
pptx, xlsx, docx, pdf).To learn how to author custom skills, see Agent Skills and Skill authoring best practices. To upload a custom skill to your workspace, see Create a custom skill.
All Managed Agents API requests require the managed-agents-2026-04-01 beta header. The SDK sets the beta header automatically.
A custom skill is a directory containing a SKILL.md file plus any supporting files, uploaded to your workspace as a zip archive or as individual files. Creating the skill returns the skill_* ID you reference when attaching it to an agent. Anthropic pre-built skills are already available in every workspace and don't require this step. To use only pre-built skills, skip to Attach skills to an agent.
When you call the Skills API directly with cURL or the CLI, pass the anthropic-beta: skills-2025-10-02 header explicitly. The SDKs send it automatically.
These examples omit the optional display_title field, so the skill's title is derived from SKILL.md. An explicitly passed display_title must be unique among the custom skills in your workspace.
ant beta:skills create \
--file example_skill.zip \
--beta skills-2025-10-02To list, retrieve, delete, and version custom skills, see Managing custom skills. For the full request and response schemas, see the Create Skill API reference. Skill bundles upload directly to the Skills API rather than through the Files API.
Attach skills when creating an agent. Each session supports up to 20 skills total, counted across every agent in the session (see Multi-agent sessions).
Each entry in the skills array uses the following fields:
| Field | Description |
|---|---|
type | Either anthropic for pre-built skills or custom for workspace-authored skills. |
skill_id | The skill identifier. For Anthropic skills, use the short name (for example, xlsx). For custom skills, use the skill_* ID returned at creation (see Create a custom skill). |
version | Custom skills only. Pin to a specific version or use latest. Optional. Defaults to latest when omitted. |
ant beta:agents create <<'YAML'
name: Financial Analyst
model: claude-opus-4-8
system: You are a financial analysis agent.
skills:
- type: anthropic
skill_id: xlsx
- type: custom
skill_id: skill_abc123
version: latest
YAMLCustomize cloud sandboxes for your sessions.
Learn how to use Agent Skills to extend Claude's capabilities through the API.
Upload files once and reference them across API requests.
Learn how to use Agent Skills to create documents with the Claude API in under 10 minutes.
Was this page helpful?