Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions agent_skills_spec.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Agent Skills Spec

A skill is a folder of instructions, scripts, and resources that agents can discover and load dynamically to perform better at specific tasks. In order for the folder to be recognized as a skill, it must contain a `SKILL.md` file.

# Skill Folder Layout

A minimal skill folder looks like this:

```
my-skill/
- SKILL.md
```

More complex skills can add additional directories and files as needed.


# The SKILL.md file

The skill's "entrypoint" is the `SKILL.md` file. It is the only file required to exist. The file must start with a YAML frontmatter followed by regular Markdown.

## YAML Frontmatter

The YAML frontmatter has 2 required properties:

- `name`
- The name of the skill in hyphen-case
- Restricted to lowercase Unicode alphanumeric + hyphen
- Must match the name of the directory containing the SKILL.md
- `description`
- Description of what the skill does and when Claude should use it

There are 3 optional properties:

- `license`
- The license applied to the skill
- We recommend keeping it short (either the name of a license or the name of a bundled license file)
- `allowed-tools`
- A list of tools that are pre-approved to run
- Currently only supported in Claude Code
- `metadata`
- A map from string keys to string values
- Clients can use this to store additional properties not defined by the Agent Skills Spec
- We recommend making your key names reasonably unique to avoid accidental conflicts

## Markdown Body

The Markdown body has no restrictions on it.

# Additional Information

For a minimal example, see the `template-skill` example.

# Version History

- 1.0 (2025-10-16) Public Launch