Lesson 2 / 26

Anatomy of a Skill: Folder, SKILL.md, Frontmatter, Body

Read a SKILL.md file part by part.

Metadata on top, instructions below

A skill is a folder whose name is the skill's name, containing a file called SKILL.md. That file has two parts. The frontmatter between --- lines is YAML metadata: name (lowercase letters, digits and hyphens, matching the folder, up to 64 characters) and description (what the skill does and when to use it, up to 1024 characters). Some skills add optional fields such as allowed-tools to list tools the skill may use without extra prompts; check the docs for the fields your version supports. The body is ordinary Markdown: when to use the skill, the steps to follow, examples, and gotchas. The folder can also hold scripts, reference documents and templates that the instructions point to. Because it is just text files, a skill can be reviewed, diffed and version-controlled like code.

A minimal SKILL.md

The smallest useful skill: metadata plus a short procedure. Save it as release-notes/SKILL.md.

---
name: release-notes
description: "Draft release notes from merged pull requests since the last tag. Use when asked to write a changelog, release notes or what changed in a release. Triggers on: release notes, changelog, what changed."
---

# release-notes

## Steps
1. Find the latest tag: `git describe --tags --abbrev=0`.
2. List merged PRs since it: `git log <tag>..HEAD --merges --oneline`.
3. Group entries under **Features**, **Fixes** and **Chores**; one line each, user-facing wording.
4. Output Markdown using the template in `templates/notes.md`.

## Gotchas
- Skip dependency-bump PRs unless they fix a security issue.
- Never invent PR numbers; only use what `git log` printed.

Keep the frontmatter simple

Plain key: value lines and quoted descriptions parse most reliably. Avoid tabs and exotic YAML.

Quick check: Which two frontmatter fields does every skill need?

  • name and description
  • author and licence
  • model and temperature
  • port and host
Answer

name and description — The name identifies the skill and the description tells Claude when to use it.