BusinessMCP

Getting started

Claude Skills: How to Write a SKILL.md (Format + Examples)

Skills are the simplest way to teach Claude a repeatable procedure: a folder with a SKILL.md file that loads only when it’s relevant. Here’s the exact format, a complete example, the rules that make skills trigger reliably — and an honest answer to when you want a skill versus an MCP server.

By the BusinessMCP team11 min readAugust 15, 2026
Claude Skills: How to Write a SKILL.md (Format + Examples) — illustrated overview

Key takeaways

  • A Claude skill is a folder containing a SKILL.md file — YAML frontmatter (name + description are the only required fields) plus markdown instructions Claude follows when the skill activates.
  • Skills load by progressive disclosure: only the name and description sit in context at startup, the full body loads on activation, and bundled reference files load only when needed.
  • The description is the trigger. Write it as “what this does + when to use it” with the words a user would actually say, or the skill will never fire.
  • Skills and MCP compose rather than compete: skills carry procedures and knowledge, MCP servers carry live tools and data — and a good skill often instructs Claude in how to use MCP tools.
  • Skills work across Claude apps, Claude Code and the API, so one SKILL.md written well is portable across every surface.

What is a Claude skill?

A Claude skill is a folder of instructions Claude loads on demand: at minimum a single SKILL.md file with a name, a description of when to use it, and a markdown body telling Claude how to perform a task. Skills can also bundle scripts, templates and reference files alongside the SKILL.md.

Anthropic introduced Agent Skills in October 2025 as a first-class way to package expertise, and they run across the Claude apps, Claude Code and the API — the same SKILL.md works on every surface. Partners like Box, Canva and Notion shipped skills at launch, but the interesting part for most teams is writing your own.

The mental model that makes skills click: a skill is an onboarding doc for an AI teammate. You are not programming — you are writing down the procedure a competent new hire would need, in the order they’d need it, with the judgment calls spelled out. If you browse our skills directory you’ll see the best ones read exactly like that.

How skills load: progressive disclosure

Skills stay cheap because Claude doesn’t read them until they matter. Loading happens in three tiers:

At startup: only each skill’s name + description enter context (~100 tokens per skill)
When a request matches a description: Claude loads that skill’s full SKILL.md body
Only if the task needs them: bundled reference files and scripts load too

This is why the description matters more than anything else in the file — it is the only part Claude sees before deciding whether to use the skill.

The practical consequences: you can install many skills without burning your context window, the SKILL.md body should stay focused (Anthropic’s guidance is to keep it well under a few thousand tokens and push bulk material into reference files), and a skill with a vague description is effectively invisible — Claude has no other signal to activate it.

The SKILL.md format, exactly

A valid SKILL.md needs just two things: YAML frontmatter between --- markers with a name and a description, and a markdown body with the instructions. Everything else — extra frontmatter fields, bundled files, scripts — is optional.

The two required frontmatter fields
FieldRulesWhat it’s for
nameLowercase, hyphens instead of spaces (e.g. weekly-metrics-report)The skill’s identifier — how it’s referenced and listed
descriptionOne or two plain sentences: what the skill does AND when to use itThe trigger — the only text Claude sees before deciding to load the skill

Here is a complete, working example — a skill that standardizes how a weekly metrics report gets written:

---
name: weekly-metrics-report
description: Writes the weekly growth report from analytics data. Use when the user asks for a weekly report, growth summary, KPI update, or "how did we do this week".
---

# Weekly metrics report

## Instructions

1. Pull visitors, leads, conversions and revenue for the last 7 days
   and for the 7 days before that.
2. Open with the two biggest changes — each as a number, a direction,
   and the comparison period. No adjectives without a number.
3. Then cover the funnel in order: traffic, leads, conversion rate,
   revenue. One short paragraph each.
4. Close with exactly three suggested actions, ranked by expected
   impact, each tied to a metric that motivated it.

## Guidelines

- Never invent or estimate a number. If a metric is unavailable,
  say so and move on.
- Flag any metric that moved more than 30% week-over-week for a
  deeper look before drawing conclusions.
- Keep the whole report under 400 words.

## Example opening

"Leads grew 22% week-over-week (61 vs 50) while conversion rate
dipped from 3.1% to 2.6% — traffic quality, not volume, is this
week's story."

Note what the body is doing: numbered steps for the procedure, guidelines for the judgment calls, and one concrete example of the desired output. That trio covers most skills. In Claude Code, personal skills live in the .claude/skills folder of your home directory and project skills in the repo’s .claude/skills folder — one subfolder per skill, each containing its SKILL.md.

How to write skills that actually trigger

Most skill problems are description problems. The rules we’ve converged on after writing and reviewing a lot of them:

  • Write the description in two halves: what the skill does, then the literal phrases a user would say when they need it (“Use when the user asks for X, Y, or Z”). Trigger phrasing beats elegant prose.
  • Front-load the procedure, not the philosophy. Claude follows numbered steps well; it follows mission statements poorly.
  • Encode your standards as constraints, not vibes — “under 400 words”, “never invent a number”, “always cite the timeframe” are checkable; “be concise and accurate” is not.
  • Show one example of great output. A single worked example does more than three paragraphs of description.
  • Iterate against real transcripts. When the skill misfires, the fix is almost always sharpening the description or tightening a step — treat SKILL.md like code and revise it.

Anthropic also ships a skill-creator skill that scaffolds this interactively, and its public skills repository is a good source of working examples to imitate.

Claude skills vs MCP: which one do you need?

This is the most common point of confusion, and the honest answer is that they solve different halves of the same problem. Skills carry knowledge and procedure; MCP carries capability — live tools, data and systems the model can call. A skill can tell Claude *how* to write your weekly report; only an MCP server can give it the analytics tools to pull the real numbers.

Skills vs MCP servers, dimension by dimension
DimensionSkillMCP server
What it isA folder of markdown instructions (+ optional scripts/files)A running program exposing tools, resources and prompts
What it addsProcedure, standards, domain knowledge, output formatsLive data access and the ability to act on external systems
Effort to buildMinutes — write a markdown fileA software project: code, hosting, auth
Runs whereLoaded into context on demandAs a local process or a remote HTTPS service
Failure modeDoesn’t trigger, or gives stale guidanceDowntime, auth errors, over-broad permissions
Best togetherA skill that instructs how and when to use specific MCP toolsAn MCP server whose tools a skill orchestrates

The composition is the point. Our own platform pairs them deliberately: connected data arrives as MCP tools, while playbooks — our in-app equivalent of skills — teach the analyst *your* way of using them. If you’re deciding between building a skill and a server, the question is simply: does Claude lack knowledge (write a skill) or access (it needs an MCP server — start with our what-is-MCP doc)?

Where skills run, and what to do next

Skills work across the Claude surfaces: the Claude apps on paid plans, Claude Code (including via plugin marketplaces), and the API, which exposes a skills endpoint so the same packaged skill runs in your own agents. Anthropic’s Agent Skills documentation covers each surface’s specifics.

A sensible path from here:

  1. 1Write one narrow skill for a task you do weekly, using the template above.
  2. 2Test it by asking for the task in the words a colleague would use — not the words in your description.
  3. 3Browse the skills directory for prior art before writing anything generic.
  4. 4When your skill needs live data, pair it with the right server from setup guides like connecting Claude Desktop or the Claude Code MCP setup.

Frequently asked questions

What is the SKILL.md format?

A SKILL.md file has YAML frontmatter between --- markers with two required fields — name (lowercase, hyphenated) and description (what the skill does and when to use it) — followed by a markdown body of instructions. Optional extras include bundled reference files and scripts in the same folder.

What’s the difference between Claude skills and MCP?

Skills are packaged knowledge — markdown procedures Claude loads when relevant. MCP servers are packaged capability — live tools and data the model can call. They compose: a skill can teach Claude exactly how to use the tools an MCP server provides, and the best setups use both.

Where do Claude skills work?

Across Claude’s surfaces: the Claude apps on paid plans, Claude Code (personal skills in ~/.claude/skills, project skills in .claude/skills, plus plugin marketplaces), and the Claude API, which supports skills for developer-built agents. The same SKILL.md is portable across all of them.

Why doesn’t my Claude skill trigger?

Almost always the description. Claude only sees the name and description before deciding to load a skill, so a vague description makes the skill invisible. Rewrite it as “what this does + use when the user asks for [the literal phrases users say]”, keep the skill narrow, and test with realistic wording.

How long should a SKILL.md be?

Keep the body focused — Anthropic recommends staying well under a few thousand tokens, with bulk material pushed into separate reference files that load only when needed. Numbered steps, a short guidelines list, and one example of great output cover most skills in under a page.

BM

BusinessMCP Team

Every guide is written from running BusinessMCP on its own platform — the match rates, reply rates, and deliverability lessons are from our own data, not recycled blog folklore. About BusinessMCP

Turn your business into one AI-ready MCP server

Connect your tools, install one tracking script, and expose your unified data to any AI agent through a single secure endpoint.

Get started free