Anthropic · install guide
Claude API skills. Where they live and how to install them.
Where Claude API loads skills
- Docs
- platform.claude.com
- Website
- platform.claude.com
- Skills run inside the code execution tool, so every request needs that tool enabled and a model that supports it.
- Reference skills in the container.skills parameter of a Messages request with type, skill_id and optional version. Up to 20 skills per request.
- Anthropic's pre-built skills use type anthropic with ids pptx, xlsx, docx and pdf. Custom skills get generated ids (skill_...) and type custom.
- Custom skills are workspace-wide: any API key in the workspace can read, invoke and delete them. Use a separate workspace per tenant.
- API containers have no network access and no runtime package installation.
- The Skills API is out of beta and needs no beta header; requests still sending skills-2025-10-02 keep working.
- name: lowercase letters, numbers and hyphens, up to 64 characters, no 'anthropic' or 'claude'. description: up to 1,024 characters.
- Agent Skills are not covered by zero data retention arrangements.
How to install a skill
ant apply {skill}Uploads the skill folder to your workspace with the ant CLI (see Anthropic's CLI quickstart for install and authentication). The folder needs SKILL.md at its top level.
ant apply mcp-builderExample with MCP Server Builder.
curl -X POST "https://api.anthropic.com/v1/skills" -H "x-api-key: $ANTHROPIC_API_KEY" -H "anthropic-version: 2023-06-01" -F "files[]=@{skill}/SKILL.md;filename={skill}/SKILL.md"Add one more -F flag for each extra file in the skill, keeping the skill folder name in the filename. You can also upload a zip archive.
curl -X POST "https://api.anthropic.com/v1/skills" -H "x-api-key: $ANTHROPIC_API_KEY" -H "anthropic-version: 2023-06-01" -F "files[]=@mcp-builder/SKILL.md;filename=mcp-builder/SKILL.md"Example with MCP Server Builder.
Guide
How to use agent skills with the Claude API
What skills are in the Claude API
On the Claude API, skills are not files that sit in a folder next to your code. They are resources attached to your workspace or referenced by ID, and they run inside the code execution tool's container. Anthropic documents two kinds. Pre-built skills are maintained by Anthropic and referenced by short IDs: pptx, xlsx, docx and pdf. Custom skills are ones you upload; each gets a generated ID that starts with skill_.
Because Skills need the code execution tool, every request that uses one must enable that tool and use a model that supports it.
Where skills live
There are no project or user folders. Custom skills are stored in your Anthropic workspace, and the documentation warns that they are workspace-wide: any API key with access to the workspace can read, invoke and delete every custom skill in it. If you build a multi-tenant product on the Skills API, Anthropic recommends a separate workspace per tenant.
Skills uploaded to claude.ai are not available here, and skills uploaded here do not appear in claude.ai or Claude Code.
Upload a custom skill
A skill bundle is a directory with a SKILL.md at the top level that has name and description frontmatter, plus any scripts or resources. The name can use lowercase letters, numbers and hyphens, up to 64 characters, and cannot contain anthropic or claude. The description can be up to 1,024 characters. The examples use frontend-design from anthropics/skills, located at skills/frontend-design.
First, get the folder:
git clone --depth 1 https://github.com/anthropics/skills.git skills-src
cp -r skills-src/skills/frontend-design frontend-design
Then upload it with the ant command-line tool, which uploads the directory itself:
ant apply frontend-design
Or send the files to the endpoint directly. One -F flag is needed for each file in the skill:
curl -X POST "https://api.anthropic.com/v1/skills" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-F "files[]=@frontend-design/SKILL.md;filename=frontend-design/SKILL.md"
You can also upload a zip archive. The Python SDK has a files_from_dir helper that takes a directory path. The Skills API is out of beta and does not need a beta header, although requests that still send skills-2025-10-02 keep working.
Use a skill in a request
Skills go in the container parameter of a Messages request, alongside the code execution tool. Each entry has a type (anthropic or custom), a skill_id and an optional version. You can include up to 20 skills per request. Anthropic's pre-built skills use date-based versions or latest; custom skills use a version ID or latest. See the skills guide for the exact request shape in cURL and each SDK.
When a skill creates a document, the response includes a file_id, and you download the file with the Files API.
Check that it worked
Call the list endpoint, GET /v1/skills, and filter with source=custom to see your uploads. Fetch one skill by ID to see its versions. A successful request that includes the skill in container.skills and produces output that follows the skill's instructions is the real test.
Update and remove
New versions are uploaded to the skill's /versions endpoint, and requests can pin a version or use latest. Deleting a skill with DELETE /v1/skills/{skill_id} now removes every version along with the skill, so check before calling it.
Troubleshooting
- Requests with skills fail: confirm the code execution tool is in the
toolslist and the model supports it. - The skill cannot reach the internet or install packages: API containers have no network access and no runtime package installation, so skills must work with what is already installed.
- Upload is rejected: check that
SKILL.mdis at the top level of the bundle, the frontmatter hasnameanddescription, and the name avoids reserved words. - A teammate's key can see your skill: this is expected, because custom skills are shared across the workspace.
- Zero data retention: Anthropic states that Agent Skills are not covered by zero data retention arrangements.
Safety
Anthropic advises using skills only from sources you trust and auditing everything in a skill, including scripts and any external URLs it fetches, because a malicious skill can direct Claude to misuse tools or code execution. Since every key in the workspace can invoke every custom skill, review uploads before they land in a shared workspace.
Top skills to try in Claude API
| # | Skill | Repository | Stars | Used in | Tokens | Auto-check | Licence | Updated |
|---|---|---|---|---|---|---|---|---|
| 1 | Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation. | anthropics/ | 180k | 62 repos | ~2.3k | Automated safety check: Pass | Apache-2.0 | 2 days ago |
| 2 | Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR. | anthropics/ | 180k | 48 repos | ~2k | Automated safety check: Pass | Proprietary | 2 days ago |
| 3 | Builds multi-component claude.ai HTML artifacts as a small React, TypeScript and Tailwind project, then bundles it into one shareable HTML file. | anthropics/ | 180k | 40 repos | ~769 | Automated safety check: Pass | Apache-2.0 | 2 days ago |
| 4 | Builds animated HTML slide decks that run in the browser with no dependencies, or converts PowerPoint files to the web, starting from visual style previews. | zarazhangrui/ | 30k | 16 repos | ~7k | Automated safety check: Pass | MIT | 3 mo ago |
| 5 | Design and build AI agents for any domain. An agent skill from shareAI-lab/learn-claude-code. | shareAI-lab/ | 78k | 6 repos | ~1.2k | Automated safety check: Pass | MIT | 9 days ago |
| 6 | Lets Claude Code ask questions of your Google NotebookLM notebooks through browser automation and return answers grounded in your uploaded sources. | PleasePrompto/ | 7.8k | 13 repos | ~2.4k | Automated safety check: Notes | MIT | 27 days ago |
| 7 | Scans React code for lint, accessibility, bundle size and architecture issues, reports a health score and checks that changes do not lower it. | makeplane/ | 60k | 12 repos | ~657 | Automated safety check: Pass | AGPL-3.0 | yesterday |
| 8 | Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree. | obra/ | 296k | 5 repos | ~1.9k | Automated safety check: Pass | MIT | today |
| 9 | Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart. | anthropics/ | 37k | 11 repos | ~4.1k | Automated safety check: Notes | Apache-2.0 | today |
| 10 | Produces math and technical explainer videos with Manim Community Edition: concept animations, equation derivations, algorithm walkthroughs and data stories. | browser-use/ | 28k | 6 repos | ~3k | Automated safety check: Pass | MIT | 5 days ago |
| 11 | Guides a conversation that takes a vague idea through divergent and convergent thinking and ends in a markdown one-pager covering scope and assumptions. | addyosmani/ | 102k | 6 repos | ~2k | Automated safety check: Pass | MIT | 4 days ago |
| 12 | Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking… | vercel-labs/ | 44k | 24 repos | ~864 | Automated safety check: Pass | Apache-2.0 | yesterday |
| 13 | Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications. | rolling-scopes/ | 10k | 24 repos | ~4.2k | Automated safety check: Pass | MPL-2.0 | 3 days ago |
| 14 | A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions | farm-fe/ | 5.6k | 34 repos | ~1.4k | Automated safety check: Pass | MIT | 15 days ago |
| 15 | Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review. | obra/ | 296k | 2 repos | ~5.1k | Automated safety check: Pass | MIT | today |
| 16 | Explores a web app with the agent-browser CLI to find bugs and UX problems, then writes a report with screenshots, repro videos and step-by-step reproduction for each issue. | vercel-labs/ | 44k | 8 repos | ~2.7k | Automated safety check: Pass | Apache-2.0 | yesterday |
| 17 | Creates original generative art in two steps: a written algorithmic philosophy, then a p5.js sketch with seeded randomness and an interactive viewer for exploring parameters. | anthropics/ | 180k | 37 repos | ~4.9k | Automated safety check: Pass | Apache-2.0 | 2 days ago |
| 18 | Perform comprehensive exploratory data analysis on scientific data files across 200+ file formats. | spacering-net/ | 3.8k | 15 repos | ~3.6k | Automated safety check: Pass | MIT | today |
| 19 | 19.Matplotlib Low-level plotting library for full customization. An agent skill from zLanqing/codex-claude-academic-skills. | zLanqing/ | 4.6k | 17 repos | ~2.9k | Automated safety check: Pass | MIT | 4 mo ago |
| 20 | A skill your agent uses whenever the user mentions Horizon by name in a Laravel context. | coollabsio/ | 63k | 4 repos | ~898 | Automated safety check: Pass | MIT | today |
| 21 | Gives the agent Postgres rules to consult before writing or changing tables, queries, indexes, RLS policies or migrations, and when diagnosing slow queries. | supabase/ | 2.7k | 24 repos | ~808 | Automated safety check: Pass | MIT | 5 days ago |
| 22 | Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way. | openinterpreter/ | 69k | 3 repos | ~4.2k | Automated safety check: Pass | Apache-2.0 | today |
| 23 | Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design. | anthropics/ | 37k | 8 repos | ~2.8k | Automated safety check: Pass | Apache-2.0 | today |
| 24 | Create new skills, modify and improve existing skills, and measure skill performance. | Azure/ | 794 | 89 repos | ~8.2k | Automated safety check: Pass | Apache-2.0 | 2 days ago |
Questions, answered from the data.
How do I install a skill in Claude API?
Skills API (ant CLI): ant apply {skill}. Skills API (curl): curl -X POST "https://api.anthropic.com/v1/skills" -H "x-api-key: $ANTHROPIC_API_KEY" -H "anthropic-version: 2023-06-01" -F "files[]=@{skill}/SKILL.md;filename={skill}/SKILL.md". Replace the placeholders with the skill's GitHub owner, repository and name; every skill page here shows the filled-in command.
What are the best skills for Claude API?
Agent skills are portable SKILL.md folders, so the catalogue's top skills work in Claude API too. The highest-ranked right now are MCP Server Builder (anthropics/skills), PDF Processing (anthropics/skills) and Web Artifacts Builder (anthropics/skills).
Sources
- https://platform.claude.com/docs/en/build-with-claude/skills-guide
- https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview
- https://platform.claude.com/docs/en/cli-sdks-libraries/cli/quickstart
- https://github.com/anthropics/skills
Checked October 7, 2026