Agent Tooling & Ecosystem · Blog Post

Anthropic Agent Skills: the SKILL.md spec the whole ecosystem is built on

Every other repo on this list — Superpowers, wshobson/agents, claude-code-templates — packages its content in the same folder-plus-SKILL.md shape Anthropic open-sourced. This is the source: the spec, the reference skills, and the loading model that makes it cheap to install dozens of them.

By Mehadi Hasan 8 min read

What it is

anthropics/skills is Anthropic's own public repository for Agent Skills — the format Claude uses to package "instructions, scripts, and resources" it loads dynamically for specialized work. It ships the SKILL.md specification, a skill template, and a set of reference implementations spanning document creation (DOCX, PPTX, XLSX, PDF), creative and technical workflows, and enterprise communication. At the time of writing it sits at over 160,000 GitHub stars, making it one of the fastest-growing repos in Anthropic's org.

This is the one entry on this list that isn't really competing for your attention — it's the substrate. Skills is to the rest of this ecosystem what a language spec is to its frameworks: you can use Claude Code productively without ever opening this repo, but Superpowers, wshobson/agents, and claude-code-templates all emit the exact folder-plus-SKILL.md shape defined here, precisely so a skill written for one tool keeps working in the others.

What's in the repo

17 Official skills shipped
3 Surfaces: Code, API, claude.ai
~100 Tokens per idle skill
2 Required frontmatter fields

The top level is deliberately small: skills/ holds the examples by category, spec/ holds the Agent Skills specification itself, and template/ is the scaffold you copy to start a new one. Licensing has a real distinction worth knowing before you build on it: the spec, the example skills, and the skill-creator tooling are Apache 2.0. The production document skills (docx, pdf, pptx, xlsx) are source-available rather than freely relicensable — readable and adaptable, but check THIRD_PARTY_NOTICES.md before redistributing them wholesale.

How progressive disclosure actually works

The reason you can install dozens of skills without bloating every conversation is a three-level loading model Anthropic calls progressive disclosure. Each level is loaded at a different time, so an unused skill costs almost nothing:

Level 1 — Metadata

Always, at startup · ~100 tokens / skill

name and description from the YAML frontmatter, folded into the system prompt for every installed skill

Level 2 — Instructions

When the skill is triggered · Under 5k tokens

The SKILL.md body — Claude reads it from disk with bash only once the description matches your request

Level 3 — Resources & code

As needed · Zero until accessed

Reference files load into context only when read; scripts run via bash and only their output enters context, never their source

Concretely: at session start, Claude's system prompt gets every installed skill's name and description — roughly 100 tokens each. When you ask for something that matches a description, Claude runs cat skill-name/SKILL.md itself via bash and only then does the body enter context. If that body references a deeper file (a form-filling guide, an API reference), Claude reads that file too, only if the task actually needs it — and if it calls a bundled script, only the script's output enters context, never its source.

Required SKILL.md frontmatter

---
name: pdf-processing
description: Extract text and tables from PDF files, fill forms, merge
  documents. Use when working with PDF files or when the user mentions
  PDFs, forms, or document extraction.
---

name is capped at 64 characters, lowercase letters/numbers/hyphens only, and can't contain "anthropic" or "claude". description is capped at 1024 characters and does double duty as the matching signal — it has to state both what the skill does and when to use it, because that sentence is the only thing Claude sees before deciding whether to load the rest.

Installation

In Claude Code, the plugin marketplace pulls in a full bundle:

Claude Code marketplace

/plugin marketplace add anthropics/skills
/plugin install document-skills@anthropic-agent-skills
/plugin install example-skills@anthropic-agent-skills

Since a skill is just a directory, you don't need the marketplace at all — copy one by hand into a project or your home folder:

Manual install (any surface with filesystem skills)

git clone https://github.com/anthropics/skills.git
cp -r skills/skills/document-skills/pdf ~/.claude/skills/pdf   # personal
cp -r skills/skills/document-skills/pdf .claude/skills/pdf     # project

On claude.ai, upload a skill as a zip through Settings → Features (Pro, Max, Team, and Enterprise plans with code execution enabled). Through the Claude API, reference a pre-built skill by skill_id (pptx, xlsx, docx, pdf) or upload a custom one through the Skills API — both require the code-execution tool and the skills-2025-10-02 beta header.

Using it day to day

There's no invocation step to learn — you ask for the thing you want ("summarize this PDF and pull out the line-item table", "build me a slide deck from these notes") and Claude decides on its own whether an installed skill's description matches. That's also the main authoring lesson buried in the spec: a vague description ("helps with documents") gets skipped for exactly the requests it should trigger on. A precise one, written like the example above, is what makes discovery reliable.

Skills don't sync across surfaces — one uploaded to claude.ai isn't available to the API, and Claude Code skills are filesystem-based and separate from both. If you use a custom skill in more than one place, you install it separately in each.

The security note that's easy to skip

Anthropic's own docs are unusually direct about this: a skill is a set of instructions and code Claude follows, so a malicious one can direct tool use or code execution in ways that don't match what it claims to do. Treat installing a third-party skill the way you'd treat installing a dependency — read the SKILL.md, the scripts, and any bundled assets, and be especially wary of anything that fetches external content, since fetched text can carry its own injected instructions.

My take

I'd install this repo first, before any of the others on this list, not because the reference skills themselves are the most exciting thing here, but because understanding the Level 1/2/3 loading model changes how you write your own project skills — you stop cramming everything into SKILL.md and start splitting deterministic steps into scripts and long reference material into separate files Claude only opens on demand.

Where it won't help directly: it's a spec and a handful of document skills, not a workflow methodology or a marketplace. For process (TDD, planning, review discipline) you want Superpowers; for a searchable catalog of pre-built skills and agents you want Claude Code Templates or wshobson/agents.

Frequently asked questions

Are all the skills in the repo open source?

The spec, the example skills, and the skill-creator tooling are Apache 2.0. The production document skills (docx, pdf, pptx, xlsx) are source-available for reference rather than freely relicensable — you can read and adapt the approach, but check THIRD_PARTY_NOTICES.md before redistributing them wholesale.

Do I need the plugin marketplace to use these?

No. A skill is just a folder with a SKILL.md file — you can copy one into .claude/skills/ (project) or ~/.claude/skills/ (personal) by hand. The marketplace command is a convenience for pulling in the whole document-skills or example-skills bundle at once.

How is this different from a custom slash command?

A slash command is invoked explicitly. A skill is discovered — Claude reads every installed skill's name and description at session start, and decides on its own whether a given skill is relevant to what you just asked for, then loads the rest of the file only if so.

Does this work outside Claude Code?

Yes — the same SKILL.md format works on Claude.ai (paid plans) and through the Claude API's Skills support, not just Claude Code. That portability is why third-party tools like claude-code-templates and wshobson/agents build on the same spec instead of inventing their own.