# Anatomy of a Skill: Folder, SKILL.md, Frontmatter, Body — Claude Code Skills & SKILL.md

Source: https://www.geekswithgeeks.com/en/claude-code-skills/b-anatomy

> 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`.

```markdown
---
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.

**Quiz:** Which two frontmatter fields does every skill need?

- [x] 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.
