SKILL.md Format Reference
The anatomy of a SKILL.md file โ every field, every section, and how agents read them
Directory Structure
workspace/skills/
โโโ my-skill/
โโโ SKILL.md # Required โ the skill definition
โโโ helpers/ # Optional โ helper scripts called by tools
โ โโโ action.js # Node.js helper
โ โโโ process.py # Python helper
โ โโโ run.sh # Shell helper
โโโ context/ # Optional โ static context files (data, templates)
โโโ reference.mdFull SKILL.md Template
---
name: skill-name
description: One-sentence description of what this skill enables.
version: 1.0.0
author: your-name
---
# Skill Name
## Description
A longer description of what this skill does, why it exists, and when an
agent should use it. Aim for 2โ4 sentences. Be precise โ agents read this
to decide if the skill is relevant to the current task.
## Instructions
Detailed instructions for the agent on how to use this skill. This section
is loaded directly into the agent's context. Write it as you would write a
system prompt:
- Be explicit about what the skill can and cannot do
- List prerequisite state (e.g., "wallet must be authenticated before calling buy")
- Describe error conditions and how to handle them
- Use numbered steps for multi-step processes
## Tools
### tool_name
**Description:** What this tool does in one sentence.
**Parameters:**
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `param1` | string | Yes | The thing to act on |
| `param2` | number | No | Optional configuration value |
**Returns:** Description of the return value.
**Example call:**
```json
{
"tool": "tool_name",
"parameters": {
"param1": "example-value"
}
}another_tool
Examples
Example 1: Basic Use Case
Example 2: Edge Case
Error Handling
Error
Meaning
Recommended Action
Description
Instructions
Tools
Examples
Optional Sections
Helpers Directory
Context Directory
Naming Conventions
Rule
Example
Best Practices
Last updated