Skip to content

SKILL.md Frontmatter

Skills are defined as SKILL.md files in skill directories. The YAML frontmatter controls the skill's behavior, visibility, and tool access.

Fields

FieldTypeRequiredDescription
namestringyesLowercase with hyphens, max 64 chars, no reserved words (anthropic, claude)
descriptionstringyesMin 10 chars, third-person voice
when_to_usestringnoAdditional context for when Claude should invoke the skill (trigger phrases, examples). Appended to description in the skill listing
argument-hintstringnoHint text shown during autocomplete (e.g., [issue-number])
argumentsstring | string[]noNamed positional arguments for $name substitution. Accepts a space-separated string or YAML list
disable-model-invocationbooleannoPrevent model from invoking this skill
user-invocablebooleannoWhether users can invoke directly via /skill-name
versionstringnoSemantic version (e.g., 1.0.0) (claudelint extension)
modelstringnosonnet, opus, haiku, or inherit (valid values)
effortstringnoEffort level: low, medium, high, xhigh, or max
contextstringnofork (valid values)
agentstringnoAgent name (required when context: fork)
allowed-toolsstring | string[]noTool names to allow. Accepts a space-separated string or YAML list
pathsstring | string[]noGlob patterns that limit when this skill is auto-activated. Accepts a comma-separated string or YAML list
shellstringnoShell to use for inline !`command` blocks: bash (default) or powershell
tagsstring[]noCategorization tags (claudelint extension)
hooksobjectnoHooks configuration

Cross-field validations:

  • When context is fork, the agent field is required

Example

yaml
---
name: deploy-staging
description: Deploys the current branch to the staging environment using the project's CI pipeline.
user-invocable: true
version: 1.0.0
model: sonnet
allowed-tools:
  - Bash
  - Read
tags:
  - deployment
  - ci
---