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 122 skills that already pass?

This validator is free. The AgentsKit 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 · 61 skills · 32 commands
  • Content, SEO & email-sequence skills
  • Landing-page & funnel templates
  • Lifetime updates
Get the Marketing Kit

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