File Structure
--- on its own line. Everything after the closing delimiter is the body.
Frontmatter Fields
Required
Skill identifier.
- 1–64 characters
- Lowercase letters, numbers, hyphens
- No leading hyphen
- No trailing hyphen
- No consecutive hyphens
- Unicode allowed (NFKC normalized)
When the skill should be used.
- 1–1024 characters
Optional
License identifier (e.g.,
MIT, Apache-2.0).Runtime requirements or environment notes.
- Maximum 500 characters
Space-delimited list of tool names.
Arbitrary key-value pairs.
Name Validation
| Input | Valid | Reason |
|---|---|---|
customer-support | Yes | |
order-lookup | Yes | |
销售分析 | Yes | Unicode allowed |
Customer-Support | No | Uppercase |
-customer-support | No | Leading hyphen |
customer-support- | No | Trailing hyphen |
customer--support | No | Consecutive hyphens |
Body
The body is Markdown. No schema constraints apply. Content appears verbatim in the agent’s context when the skill is activated.Example
API
List Skills
Get Skill
Create Skill
{ "content": "<full SKILL.md content>" }
Update Skill
Delete Skill
Validation Errors
| Code | Message | Cause |
|---|---|---|
VALIDATION_ERROR | name is required | Missing name field |
VALIDATION_ERROR | name must be lowercase | Uppercase characters in name |
VALIDATION_ERROR | invalid name format | Hyphenation rules violated |
VALIDATION_ERROR | description is required | Missing description field |
VALIDATION_ERROR | description exceeds 1024 characters | Description too long |
VALIDATION_ERROR | compatibility exceeds 500 characters | Compatibility too long |
Token Estimates
| Content | Typical Range |
|---|---|
| Metadata only | 50–100 tokens |
| Full skill | 500–5000 tokens |

