Free SKILL.md validator · Runs in your browser

Validate your SKILL.md in seconds

Paste a Claude Code skill and this free linter checks the YAML frontmatter, the name and description rules, body length, and the when-to-use structure — then tells you exactly what to fix. Nothing leaves your browser.

SKILL.md

Paste your SKILL.md to validate it live, or load an example to see the linter in action.

100% client-side · nothing uploaded · works for any Claude Code / Agent Skill

What it checks

Every rule the spec (and reviewers) care about

A skill only fires when its metadata is exactly right. The validator enforces the hard requirements and flags the conventions that separate a good skill from a great one.

🧾

Valid YAML frontmatter

Confirms the file opens with a fenced --- block, the block closes, and every top-level line is parseable key: value YAML.

🔑

name rules

Required, kebab-case only (lowercase, numbers, hyphens), max 64 characters, and a reminder to match the skill's folder name.

📝

description rules

Required, under 1024 characters, third-person, and starting with a clear “Use when…” trigger so Claude loads it at the right moment.

📏

Body under 500 lines

Flags bloated skills and nudges you to move long detail into linked reference files — the pattern Anthropic recommends.

🧭

When-to-use / when-not

Checks for explicit boundaries so the skill triggers on the right tasks and stays quiet on the wrong ones.

🚦

Unknown keys & structure

Warns on unrecognised frontmatter keys, missing H1 titles, and empty bodies before they cost you a broken skill.

SKILL.md format guide

What a valid SKILL.md looks like

A Claude Code Agent Skill is a folder with a SKILL.md at its root. The file has two parts: YAML frontmatter and a Markdown body. Here's the anatomy.

SKILL.md — annotated
---  # frontmatter must be first
name: pdf-form-filler  # kebab-case, ≤ 64 chars, matches folder
description: Use when a user needs to fill PDF forms…
  # ≤ 1024 chars · third person · leads with a trigger
allowed-tools: [Read, Write, Bash]  # optional
---
# PDF Form Filler  # H1 title
## When to use this skill
## When NOT to use this skill
## Instructions  # keep the whole body under 500 lines

name

Lowercase letters, numbers and hyphens only — like web-security-audit. No spaces, capitals, or underscores. Maximum 64 characters, and it should match the name of the folder the SKILL.md lives in.

description

The single most important field: it is all Claude sees when deciding whether to load your skill. Write it in the third person, keep it under 1024 characters, and start with the trigger — "Use when…" — followed by what the skill does.

Body length

Keep SKILL.md under ~500 lines. If you need more, split reference material (schemas, long examples, checklists) into separate files in the skill folder and link to them from the body.

When-to-use / when-not

Explicit boundaries are what stop a skill from firing on the wrong task. Add a short “When to use” and “When NOT to use” section so the model has crisp guardrails.

FAQ

SKILL.md validation questions

What is a SKILL.md file?+
A SKILL.md is the entry point of a Claude Code Agent Skill. It's a Markdown file with YAML frontmatter (at minimum a name and a description) followed by instructions that tell Claude how to perform a task. Claude reads the description to decide when to load the skill.
What makes a SKILL.md invalid?+
The hard failures are: no --- frontmatter block, a missing name or description, a name that isn't lowercase kebab-case or exceeds 64 characters, or a description over 1024 characters. This tool flags each of these as an error.
Why should the description start with "Use when…"?+
The description is the only thing Claude sees when deciding whether to activate a skill. Leading with the trigger condition — "Use when the user needs to…" — makes the activation criteria unambiguous and dramatically improves how reliably the skill fires at the right time.
How long should a SKILL.md be?+
Keep the body under about 500 lines. Skills are loaded into context, so a bloated SKILL.md wastes tokens and dilutes the instructions. Move long reference material — schemas, examples, checklists — into separate files in the skill folder and link to them.
Is my skill uploaded when I validate it?+
No. The entire validator runs client-side in your browser using JavaScript. Nothing you paste is sent to a server, logged, or stored. You can disconnect from the internet after the page loads and it will still work.
Does passing this validator guarantee my skill works?+
It guarantees your SKILL.md meets the common formatting rules and conventions, which is where most broken skills fail. It doesn't test your instructions' quality or run the skill — treat it as a fast linting loop: validate, fix, repeat, then test the skill in Claude Code.
Go further

Want 103 skills that already pass?

This validator is free. The ClaudeThings kits give you a whole library of production-grade agents, skills, and slash commands — every one written to the exact bar this linter enforces.

🛠️
Most popular

Engineering Kit

Battle-tested Claude skills & workflows for builders.

  • 58 agents · 61 skills · 159 commands
  • Security, testing & code-review skills
  • Every skill formatted to spec
  • Lifetime updates
Get the Engineering Kit
📣
For founders

Marketing Kit

Turn Claude into your growth team.

  • 31 agents · 42 skills · 32 commands
  • Content, SEO & email-sequence skills
  • Landing-page & funnel templates
  • Lifetime updates
Get the Marketing Kit

Or grab all 89 agents, 103 skills & 181 commands in the Complete Bundle →