A cookbook for Anthropic Claude Skills

Learn Claude Skills, chapter by chapter

A binder for Anthropic Claude Skills — from "what is this" to "how does a team maintain them." Each chapter goes a little deeper, and the binder gets a little more intense.

Claude / Anthropic only — not a cross-platform guide
Straight from anthropics/skills

Real Skills, not more theory

Anthropic · Official

document-skills

Creates and edits Word, PDF, PowerPoint, and Excel files. The same skills behind Claude's built-in document creation — install them directly instead of reading about how they work.

name: document-skills
description: Create and edit
  DOCX, PDF, PPTX, and XLSX files
plugin: document-skills@anthropic-agent-skills
Interactive

Record a Skill instead of writing one

In Cowork on Claude for Mac, record yourself doing the task on screen. Claude proposes the Skill from the recording — no SKILL.md required to get started.

brand-guidelines.zip
proposed from recording · 6 min
Example

skill-creator

Turns a description of what you want into a working Skill for you to review.

anthropics/skills
168.9k stars
Example

brand-guidelines

The official worked example this Cookbook's own SKILL.md sample is drawn from.

support.claude.com
Official example

What is a Skill?

A Skill is a folder of instructions, scripts, and resources that Claude loads dynamically to get better at a specific, repeatable task — brand guidelines, a data workflow, a formatting convention, anything you'd otherwise have to re-explain every conversation.

The folder

my-skill/ ├── SKILL.md    ← required ├── references/ ← optional, overflow docs ├── scripts/     ← optional, executable code └── assets/      ← optional, files it needs

Only SKILL.md is required. Everything else is added only if the skill actually needs it — a simple skill can be nothing but a Markdown file with two lines of frontmatter.

Progressive disclosure

This is Anthropic's own term for how Skills work, not a metaphor we invented. Claude doesn't load every Skill's full content into every conversation — it scans lightweight metadata (name + description) first, and only loads the full SKILL.md body when a task actually matches. This is what keeps Skills cheap to have many of, without bloating the context window.

Skills vs. everything else Claude has

CapabilityWhat it's for
SkillsTask-specific procedures that load only when relevant
ProjectsStatic background knowledge, always loaded in that project's chats
MCPConnects Claude to external tools/data — Skills teach it how to use them well
Custom instructionsBroad, always-on preferences across every conversation
Skills and MCP pair naturally: MCP gives Claude access to a tool (say, your CRM); a Skill teaches it your team's specific way of using that tool.

The four official types

  1. Anthropic skills — built-in, e.g. the document skills behind Word/Excel/PowerPoint/PDF creation. Available to everyone, Claude invokes them automatically.
  2. Custom skills — the ones you or your org write for your own workflows.
  3. Organization-provisioned — an admin pushes a skill to every member of a Team/Enterprise plan, optionally on by default.
  4. Partner skills — professionally built by companies like Notion, Figma, and Atlassian, usually paired with that company's MCP connector.

Sourced directly from Anthropic's official "What are skills?" doc, not secondhand.

Using an existing Skill

Skills are available on Free, Pro, Max, Team, and Enterprise plans, and in beta for Claude Code and API users. The one requirement: code execution must be enabled on your account.

On claude.ai

  1. Go to Customize → Skills (claude.ai/customize/skills)
  2. Click "+", then "Browse skills" to open the directory
  3. Enable the one you want, or upload your own ZIP

In Claude Code

Register Anthropic's example-skills repo as a plugin marketplace, then install from it:

/plugin marketplace add anthropics/skills

Then either use the interactive menu (Browse and install plugins → anthropic-agent-skills → document-skills or example-skills → Install now), or install directly:

/plugin install document-skills@anthropic-agent-skills
/plugin install example-skills@anthropic-agent-skills

Verified directly against the anthropics/skills GitHub repo — this is real, current syntax, not a paraphrase.

Before you install someone else's Skill

Enterprise tip: orgs can turn on skill scanning, which automatically checks uploaded skills and plugins for malicious content before they're usable.

Troubleshooting

"Installed successfully" but Claude won't use it: this is a known issue — restart your session. If it still doesn't trigger, your description field may be too vague; see Chapter 04 for how Claude decides when to invoke a skill.

Making your own Skill

There are two ways to create one — and most guides only tell you about the harder one.

Path A — Record it (the easy one)

In Cowork on Claude for Mac, you can record yourself doing the task on screen — clicks, typing, and optional narration — for up to ~10 minutes. Claude watches the recording and proposes a Skill for you to review and save. No SKILL.md writing required to get started.

  1. Update Claude for Mac to the latest version
  2. Grant Accessibility and Screen Recording permissions when asked
  3. Open Cowork → click "+" → "Record a skill" (or Customize → Skills → Add → "Record your screen")
  4. Do the task normally — narrate why you're doing each step, not just what
  5. Click "Done." Claude proposes a new skill, or an update if it overlaps one you already have
Don't type passwords or show sensitive information while recording — everything on screen is captured for the session.

Path B — Write it by hand

Every Skill needs a SKILL.md starting with YAML frontmatter:

  • name — up to 64 characters
  • description — up to 200 characters. This is the only thing Claude reads before deciding whether to load the rest — vague descriptions are the #1 reason a skill never gets used.

A real example

## Metadata
name: Brand Guidelines
description: Apply Acme Corp brand guidelines to all
  presentations and documents

## Overview
Apply these standards whenever creating presentations,
documents, or marketing materials so outputs match
Acme's visual identity.

## Brand Colors
- Primary: #FF6B35 (Coral)
- Secondary: #004E89 (Navy Blue)

## Typography
Headers: Montserrat Bold
Body text: Open Sans Regular

## When to Apply
- PowerPoint presentations
- Client-facing Word documents
- Marketing materials

This example is Anthropic's own, from the official "How to create custom skills" doc.

Best practices, straight from Anthropic

  • Keep it focused — several small skills compose better than one that tries to do everything
  • Write clear descriptions — be specific about when it applies
  • Start simple — plain Markdown before you add scripts
  • Use examples — show what success looks like
  • Test incrementally — after each real change, not all at once

Optional pieces once you outgrow a single file: a dependencies frontmatter field for required packages, a references/ folder for overflow content, and executable scripts (Python, JS/Node — the same stack Anthropic's own document skills use).

Skills can't explicitly reference each other, but Claude can use several together automatically in one task. Composability happens for free.

Test before you trust it

TryWhat you're checking
A normal requestDoes it trigger at all?
The same request, rewordedDoes the description generalize?
An unrelated requestDoes it stay quiet when it shouldn't fire?
An edge caseDoes it degrade gracefully?
Bad inputDoes it fail safely?

Sharing a Skill

Distribution follows the same four official types from Chapter 02 — how you share depends on who needs it.

TypeHow it spreads
PersonalA private ZIP you upload for yourself
Team / Enterprise shareShared to specific people or groups — view-only, auto-updates when the owner changes it
Organization-provisionedAn admin pushes it to everyone, optionally on by default — no individual upload needed
PartnerBuilt and maintained by the partner company (Notion, Figma, Atlassian…), paired with their MCP connector

Packaging, one more time

✅ Correct my-skill.zip └── my-skill/ ├── SKILL.md └── resources/ ❌ Incorrect my-skill.zip └── (files loose at the ZIP root)

The folder name must match the skill's name, and the folder itself — not its contents — must be the ZIP's root.

The GitHub path

  1. Create the skill folder, write and test SKILL.md
  2. Add a README.md and a license
  3. Commit, push to a public or private repo
  4. Anyone with access clones or downloads it, follows Chapter 03 to install

This is exactly how Anthropic distributes its own example skills — the anthropics/skills repo is nothing more exotic than a folder of Skills under version control.

Maintaining Skills as a team

Once more than one person depends on a Skill, it stops being a clever personal trick and starts being software your team relies on. Treat it that way.

Repo structure for a multi-skill team repo

team-skills/ ├── skills/ │ ├── brand-guidelines/ │ │ └── SKILL.md │ ├── meeting-notes/ │ │ └── SKILL.md │ └── data-pipeline/ │ ├── SKILL.md │ └── scripts/ ├── CODEOWNERS └── README.md

Git workflow

  • One branch per skill change, not one giant branch for everything
  • PR checklist: description still accurate? Tested against the 5-case matrix from Chapter 04? Any scripts reviewed line by line?
  • CODEOWNERS on skills/**/SKILL.md so changes to a skill always get eyes from someone who understands it
  • Regression check after every change: does the skill still trigger on the prompts it used to?

Ownership and lifecycle

Someone should own each skill by name — not "the team." When a skill is superseded, deprecate it explicitly (a note at the top of SKILL.md, then remove it) rather than letting it quietly rot and confuse people. Version bumps matter for the same reason they matter in any shared codebase: so people know when behavior changed underneath them.

Security review isn't optional once a skill ships scripts to a whole team — someone other than the author should read what those scripts actually do before merge.