All posts
April 12, 2026

The SKILL.md Spec, Explained Field by Field

A practical walkthrough of every field in the SKILL.md spec: name, description, allowed-tools, scripts, and the body markdown. With copyable examples.

The SKILL.md Spec, Explained

Every Claude Skill — and every Lovable Skill — is a folder with a single mandatory file: SKILL.md. The file is plain Markdown with YAML frontmatter on top. This guide walks each field with copy-paste examples.

The minimum viable skill

---
name: my-skill
description: When the user asks to do X, do Y.
---

# My skill

Detailed instructions here.

That is a fully valid skill. Zip the folder, drop it into Lovable, done.

name: (required)

Lowercase, hyphens, no spaces. Becomes the folder name and the identifier the model uses to refer to your skill.

description: (required)

The single most important field. The model decides whether to load your skill by matching the user message against this text. Bad descriptions = silent skill. Include literal trigger phrases.

Use our SKILL.md generator to draft strong descriptions.

allowed-tools: (optional)

List of tool names the skill is permitted to call. Omit it for read-only or pure-text skills. Add it when your skill writes files, calls APIs, or runs commands.

scripts/ folder (optional)

Executable scripts the skill can invoke. .sh, .py, .js, .ts all work. Skills with scripts feel like extensions of the agent rather than passive instructions.

Body markdown

Numbered steps beat prose. Tell the model exactly what to do, in order. End with the expected output shape — "return a JSON object with…", "produce a single PDF download…".

Where to go next

Related posts