Claude Skills Documentation: Official Reference & API Docs

The developer reference for Claude Skills — covering SKILL.md format, directory structure, API endpoints, Claude Code integration, and authoring best practices. All sourced from Anthropic's official documentation.

SKILL.md File Format

Every skill requires a SKILL.md file. It has two parts: YAML frontmatter that tells Claude when to use the skill, and Markdown content with instructions Claude follows when invoked.

Frontmatter (Required)

The frontmatter sits between --- markers at the top of SKILL.md. Two fields are required:

YAML
--- name: my-skill-name description: A clear description of what this skill does and when to use it ---

Writing effective descriptions:

The description field is the most important part of frontmatter — it's the only content Claude sees before deciding whether to load the full skill. Include:
  • What the skill does
  • When Claude should use it
  • Trigger phrases that users might say
YAML
--- name: explain-code description: Explains code with visual diagrams and analogies. Use when explaining how code works, teaching about a codebase, or when the user asks "how does this work?" ---

Source: Claude Code Docs — Extend Claude with skills; Skill authoring best practices — Claude API Docs

Markdown Content (Required)

After the frontmatter, write instructions in Markdown. This is the prompt Claude receives when the skill is invoked.

markdown

Markdown
--- name: explain-code description: Explains code with visual diagrams and analogies. --- When explaining code, always include: 1. **Start with an analogy**: Compare the code to something from everyday life 2. **Draw a diagram**: Use ASCII art to show the flow, structure, or relationships 3. **Walk through the code**: Explain step-by-step what happens 4. **Highlight a gotcha**: What's a common mistake or misconception?

Content guidelines:
  • Keep SKILL.md focused on core instructions — under 500 lines to minimize context bloat
  • Move detailed content to separate files in references/ or scripts/
  • Reference external files explicitly so Claude knows they exist and when to read them
  • Include concrete examples, not abstract instructions
  • Write for another Claude instance, not a human — include information that would be beneficial and non-obvious to Claude

Source: anthropics/skills GitHub — skill-creator/SKILL.md; Skill authoring best practices — Claude API Docs

Skill Directory Structure

A skill is a folder. The SKILL.md file is required; everything else is optional.

Plain Text
my-skill/ ├── SKILL.md # Required — instructions + YAML frontmatter ├── scripts/ # Optional — executable code (Python, Bash, etc.) │ ├── validate.py │ └── generate.sh ├── references/ # Optional — documentation loaded into context as needed │ ├── workflows.md │ └── style-guide.md ├── assets/ # Optional — files used in output (templates, icons, fonts) │ ├── template.html │ └── logo.png └── LICENSE.txt # Optional — license file

Three content types and their loading behavior

This three-level progressive disclosure system means:

  • Installing many skills has near-zero context cost
  • Only relevant content loads when needed
  • Scripts execute efficiently without polluting the context window

Source: Agent Skills Overview — Claude API Docs; Anthropic Engineering Blog — Equipping agents for the real world

Claude API — Skills Endpoints

Skills are available via the Claude Messages API with the Code Execution Tool. Both pre-built and custom skills work identically.

Prerequisites

Using Skills via the API requires three beta headers:

Plain Text
code-execution-2025-05-22 # Code execution tool support extended-cache-ttl-2025-04-11 # Optional extended prompt cache TTL interleaved-thinking-2025-05-14 # Optional interleaved thinking

Using Pre-Built Skills

Reference a pre-built skill by its skill_id in the container parameter:

JSON
{ "model": "claude-sonnet-4-5-20250929", "max_tokens": 16384, "tools": [{ "type": "code_execution_20250522" }], "container": { "skill_ids": ["pptx"] }, "messages": [ { "role": "user", "content": "Create a 5-slide presentation about Q4 results" } ] }

Available pre-built skill_id values:

Using Custom Skills

Create custom skills via the /v1/skills endpoint, then reference them by skill_id:

JSON
{ "container": { "skill_ids": ["pptx", "your-custom-skill-id"] } }

The /v1/skills endpoint supports:
  • Creating new custom skills
  • Viewing existing skills
  • Upgrading skill versions
  • Programmatic skill management

Custom skills can also be managed via the Claude Console.

Source: Agent Skills Overview — Claude API Docs; Skills API Quickstart — Claude API Docs

Skills Across Platforms

Skills use the same format everywhere but install differently depending on the platform.

Claude.ai

Claude Code

Claude API

Agent Skills Open Standard

Source: Claude Help Center — What are Skills?; Claude Code Docs — Extend Claude with skills; Agent Skills Overview — Claude API Docs

Skill Authoring Best Practices

Guidance from Anthropic's official documentation and the skill-creator reference implementation.

Description Writing

SKILL.md Content

Progressive Disclosure

Testing

Source: Skill authoring best practices — Claude API Docs; anthropics/skills GitHub — skill-creator/SKILL.md

Official Documentation Links

A curated index of every official Anthropic resource related to Claude Skills.

FieldRequiredPurpose
name✅ YesBecomes the /slash-command in Claude Code. Used as the skill identifier
description✅ YesTells Claude when to load this skill. Appears in the system prompt at session start. Keep it concise — this is what Claude reads to decide relevance
compatibility❌ OptionalNotes if the skill is designed for a specific platform's capabilities
context❌ OptionalControls execution context. fork runs in a forked agent session
agent❌ OptionalSpecifies which subagent to use (e.g., Explore, Plan, or custom)
Content TypeWhen LoadedContext Cost
Frontmatter (name + description)Always — at session startup~100 words per skill. Minimal cost, safe to install many skills
SKILL.md body + referenced filesOn demand — when Claude determines the skill is relevantFull content loaded into context window
ScriptsOn execution — Claude runs via bashScript code never enters context. Only output consumes tokens
skill_idSkill
pptxPowerPoint creation and editing
xlsxExcel spreadsheet generation with formulas and charts
docxWord document creation with formatting
pdfPDF reading, form filling, merging, and creation
FeatureDetails
Pre-built skillsAvailable automatically — Claude invokes when relevant
Custom skillsUpload via Settings → Skills
Quick-createDescribe what you want in natural language, Claude builds the skill
Skills DirectoryPartner-built skills available through the directory
Admin managementTeam and Enterprise admins can centrally provision and control skills
PlansAvailable to Pro, Max, Team, and Enterprise users
RuntimeCode execution environment with filesystem access. No runtime package installation — only pre-installed packages. Varying network access based on settings
FeatureDetails
Personal skills~/.claude/skills/ — available across all projects
Project skills.claude/skills/ — shared via version control with your team
Plugin marketplaceInstall from the anthropics/skills repo: /plugin install document-skills@anthropic-agent-skills
Slash commandsThe name field becomes /skill-name for direct invocation
Auto-discoveryClaude Code scans skill directories and loads relevant skills automatically
Live editingSkills in --add-dir directories support live change detection — edit during a session without restarting
Subagent integrationSkills can specify context: fork and agent: Explore to run in isolated subagent sessions
RuntimeFull filesystem access, full network access, can install packages
FeatureDetails
Pre-built skillsReference by skill_id in container parameter
Custom skillsCreate and manage via /v1/skills endpoint
VersioningProgrammatic version management via Console or API
RequirementsCode Execution Tool beta headers required
FeatureDetails
SpecificationPublished at agentskills.io
Reference SDKPython SDK available for implementing support in other platforms
Adoptersa growing number of agent products and development tools
PortabilitySkills created for Claude work on any platform adopting the standard
DoDon't
Include what the skill does AND when to use itWrite a vague one-liner like "Helps with tasks"
Add trigger phrases: "Use when user asks to..."Assume Claude will figure out when to activate
Keep under ~100 wordsWrite a full paragraph in the description
DoDon't
Keep under 500 linesDump all information into one file
Move deep content to references/ filesInclude setup docs, testing procedures, or user-facing docs
Reference external files explicitly with clear guidance on when to read themAssume Claude will discover unreferenced files
Include concrete examples with expected inputs and outputsWrite abstract, theoretical instructions
Write for another Claude instance, not a human readerInclude obvious information Claude already knows
DoDon't
Put core instructions in SKILL.mdLoad everything into SKILL.md body
Split references by theme so Claude loads only what's neededCreate one massive reference file
Use scripts for computation — output enters context, code doesn'tHave Claude read and reason about script source code
StepPurpose
Test with Claude B (fresh instance with skill loaded)Verify the skill works for a Claude that didn't create it
Test with varied promptsEnsure robustness across different phrasings
Review for concisenessRemove unnecessary explanations Claude already knows
Test alongside other skillsVerify it composes well and doesn't conflict
ResourceURLDescription
Agent Skills Overviewplatform.claude.com/docs/en/agents-and-tools/agent-skills/overviewCore API documentation — architecture, endpoints, usage
Skill Authoring Best Practicesplatform.claude.com/docs/en/agents-and-tools/agent-skills/best-practicesOfficial writing and design guidelines
Claude Code: Extend with Skillscode.claude.com/docs/en/skillsClaude Code-specific installation and usage
Skills API Quickstartplatform.claude.com (Skills Cookbook)Getting started with pre-built and custom skills via API
What are Skills? (Help Center)support.claude.com/en/articles/12512176-what-are-skillsNon-technical overview for Claude.ai users
How to Create Custom Skillssupport.claude.comStep-by-step guide for custom skill creation
anthropics/skills GitHubgithub.com/anthropics/skillsPublic repository with example and reference skills
Agent Skills Open Standardagentskills.ioOpen specification and reference Python SDK
Engineering Blog: Agent Skillsanthropic.com/engineering/equipping-agents-for-the-real-world-with-agent-skillsTechnical deep dive on architecture and design patterns
Announcement: Introducing Agent Skillsanthropic.com/news/skillsOfficial launch announcement (Oct 16, 2025)

Frequently Asked Questions

Where is the official Claude Skills documentation?
Anthropic maintains Claude Skills documentation across several locations: the Claude API Docs at platform.claude.com (for API and architecture reference), Claude Code Docs at code.claude.com (for CLI usage), the Claude Help Center at support.claude.com (for Claude.ai users), and the anthropics/skills GitHub repository (for example implementations). The Official Resources section above links to all of them.
What is the SKILL.md file format?
SKILL.md is a Markdown file with YAML frontmatter. The frontmatter requires two fields — name and description — which Claude reads at session startup to decide when to load the skill. The Markdown body contains the actual instructions Claude follows when the skill is invoked. Optional fields include context and agent for advanced execution control.
What are the pre-built skill IDs for the API?
Anthropic provides four pre-built skills: pptx (PowerPoint), xlsx (Excel), docx (Word), and pdf (PDF). Reference them in the container.skill_ids parameter of your Messages API request. The Code Execution Tool beta is required.
Can I use Claude Skills with platforms other than Claude?
Yes. Anthropic published Agent Skills as an open standard in December 2025 at agentskills.io. Skills you create for Claude can also work in other products that adopt the same format. Platform support varies, so verify current compatibility in each tool.
How does Verdent work with Claude Skills documentation?
Verdent supports Claude Skills natively through its Claude Code integration. Verdent's multi-agent architecture lets you run skill-powered tasks in parallel across isolated workspaces. Install skills via Claude Code plugins, invoke them with slash commands, and orchestrate complex workflows that combine multiple skills — with Verdent's built-in planning, diff review, and context-switching capabilities.