Home › Agent Skills › The open-source skill library — 19 skills, and two of them are behavioural
Agent Skills · Build

The open-source skill library — 19 skills, and two of them are behavioural

anthropics/skills carries 19 first-party skills, a superset of the four the API exposes by skill_id. Two added on 2026-08-17 — discernment-nudge and academy-guide — do not produce a

In one line

anthropics/skills holds 19 first-party skills; exactly four of them — pptx, xlsx, docx and pdf — are addressable by skill_id with no upload, and the other fifteen are source you install yourself, though claude-api also ships bundled with Claude Code.

Why you'd careThe problem it solves

Somebody reads that Anthropic ships a repository of first-party skills, counts the directories, and plans on the number. Then the request goes out with a skill_id that does not exist, or a proof of concept promises a capability that turns out to need an upload path nobody budgeted. The repository and the API are two different registries with a four-item overlap, and nothing about the names makes that visible.

The second reason to read the repository carefully is that it quietly widened what a skill is allowed to be. For a long time the visible first-party set was four document adapters, which made “skill” look like a synonym for “file format handler”. Two skills added on 2026-08-17 produce no document at all. They change how Claude answers.

ConceptWhat it is

Two distinct things carry the word “skill” here, and they are addressed completely differently.

The repository is source. anthropics/skills held 19 directories when it was read on 2026-08-18: academy-guide, algorithmic-art, brand-guidelines, canvas-design, claude-api, discernment-nudge, doc-coauthoring, docx, frontend-design, internal-comms, mcp-builder, pdf, pptx, skill-creator, slack-gif-creator, theme-factory, web-artifacts-builder, webapp-testing, xlsx. Each is an ordinary SKILL.md folder. Getting one is a copy, a clone or an upload — an act you perform.

The pre-built set is hosted. Exactly four skills — pptx, xlsx, docx and pdf — are addressable as {"type": "anthropic", "skill_id": ...} with no upload at all, because Anthropic already has them. That list did not grow in this window, and the Managed Agents skills documentation still names exactly those four. A page that counted 19 as pre-built would overstate the API surface by fifteen.

The two additions of 2026-08-17 are the interesting part of the repository, and neither is a document skill. discernment-nudge nudges Claude to append two or three fact-checking, reasoning-checking and assumption-checking questions after a substantive answer. academy-guide, renamed from claude-academy-guide, recommends matching Claude Academy courses when a user asks how to use Claude or one of its features. Both are pure behaviour: the output shape changes, and no file is produced. That is a useful thing to have seen before you write your own, because it is permission to stop thinking of a skill as something that must generate an artefact.

How it worksThe mechanics

Which route you take is decided by that four-item overlap and nothing else.

For pptx, xlsx, docx or pdf, name it. On a Managed Agent the entry goes in the agent's skills array:

code
skills=[
    {"type": "anthropic", "skill_id": "xlsx"},
]

version is optional there and defaults to latest, on both pre-built and custom entries. Nothing is uploaded, because these four already exist in every workspace.

For any of the other fifteen there is no skill_id to name (claude-api also ships bundled with Claude Code), and three install routes exist instead. Copy the directory into a project or personal skills folder, where a local client reads it off disk. Bundle it into a plugin, so that other people get it and get the updates — or, in Claude Code, install one of the plugins the repository itself publishes as the anthropic-agent-skills marketplace. Or upload it to the Skills API as a zip or as individual files, which returns the skill_* id you then reference as {"type": "custom", "skill_id": "skill_..."} — the same shape as the pre-built entry, with an id you had to earn.

One habit is worth adopting if you vendor anything from the repository: pin what you copied. The set moves. academy-guide was renamed from claude-academy-guide on 2026-08-18, and a rename is enough to break a path a script depends on. Record the commit you took, not just the directory name.

There is a second reason to read a repository skill before installing it rather than after. A behavioural skill such as discernment-nudge changes the shape of every substantive answer it applies to. That is the intended effect and it is a large one; if your product has its own opinion about response format, this is a skill you read line by line first.

At a glanceSee it

The open-source skill library — 19 skills, and two of them are behavioural diagram

Nineteen directories in the repository, four addressable by skill_id — the other fifteen are source you install.

Where it runsSurfaces and availability

SurfaceStatusNotes
The four pre-built skillsYes, by idpptx, xlsx, docx, pdf. Named as {"type": "anthropic", "skill_id": "xlsx"}, with version optional and defaulting to latest. Confirmed 2026-08-18 against the Managed Agents skills documentation, which still lists exactly these four as pre-built. The list did not grow in this window.
The other fifteenSource onlyacademy-guide, algorithmic-art, brand-guidelines, canvas-design, claude-api, discernment-nudge, doc-coauthoring, frontend-design, internal-comms, mcp-builder, skill-creator, slack-gif-creator, theme-factory, web-artifacts-builder, webapp-testing. None has an Anthropic skill_id. Each reaches a surface only by being copied, bundled or uploaded — and claude-api also ships bundled with Claude Code.
Managed AgentsYes, both routesPre-built by short id; anything else uploaded to the workspace first through POST /v1/skills, with no beta header needed, which returns the skill_* id. A repository skill on a mounted GitHub repo is a third way in, covered by its own entry in this catalogue.
Claude CodeSource routeSkills are directories on disk, so a repository skill is a copy into a skills folder or a plugin that ships it — the repository registers as a plugin marketplace itself — and claude-api arrives already bundled. There is no short id to name here.
Claude API / Messages APINot re-checkedThe Messages API reaches skills through the code-execution container rather than an agent object; this entry did not re-verify that path in the 2026-08-18 pass. The Messages API entry in this catalogue carries the sourced detail.
claude.ai and Claude DesktopNot re-checkedSame caveat. Availability of the pre-built document skills in the chat products is recorded elsewhere in this catalogue and was not re-verified for this row.
Amazon Bedrock, Google Vertex AI, Microsoft FoundryFollows from Agent Skills availabilityA pre-built skill needs the surface to support Agent Skills at all. This row asserts nothing new: read the sourced availability on the pre-built document skill entries in this catalogue before planning against any of the three.

The distinction the whole entry turns on is worth restating on its own line, because it is the one that costs money when it is missed. Nineteen directories in a public repository is not nineteen skills the API will accept by name. Four are hosted and free to name; fifteen are source, and the difference between them is an upload path, a storage decision and, if you are shipping to other people, a distribution mechanism. Count the four when you are writing a request. Count the nineteen when you are looking for something to read before writing your own.

ExampleIn the real world

A team likes the shape of discernment-nudge and wants it on their internal research assistant, which runs as a Managed Agent. Their first attempt is the obvious one, and it fails: there is no {"type": "anthropic", "skill_id": "discernment-nudge"}, because the pre-built set is four document skills and nothing else.

The route that works has three steps. They copy the directory out of the repository at a specific commit, read the SKILL.md properly — it appends two or three fact, reasoning and assumption-checking questions after a substantive answer, which is a visible change to every response the assistant gives — and upload it to the workspace, getting back a skill_* id. That id goes into the agent's skills array as a custom entry, alongside the xlsx entry that needed no upload at all. The array now holds both kinds, which is exactly what the two type values are for.

Two months later somebody notices the repository version has moved on. Nothing propagated, because an upload is a copy: the workspace skill is theirs now and updating it is a deliberate act. That is the trade the source route makes, and it is the right way round for a behavioural skill — a silent upstream change to how every answer is written is not something you want arriving unannounced.

Not thisWhat it is often confused with

  • Not 19 pre-built skillsfour are addressable by skill_id with no upload. The other fifteen are source. This is the single most expensive misreading of the repository.
  • Not only a folder to copythe repository is also a Claude Code plugin marketplace (/plugin marketplace add anthropics/skills) whose catalogue groups the skills into installable plugins such as document-skills and example-skills. Outside Claude Code there is no install command and no update channel: it is a repository of directories you copy.
  • Not a plugin per directorythe entries are bare skill folders, and the plugins are defined in the repository's own catalogue file. Turning one into something your team installs from your own marketplace is packaging work you do.
  • Not enforcementa behavioural skill such as discernment-nudge nudges. It loads when the model judges it relevant, like any other skill, and it does not guarantee the questions appear.
  • Not version-pinned by namethe set moves. academy-guide was renamed from claude-academy-guide on 2026-08-18. If you vendor a directory, record the commit.

LimitsWhen not to reach for it

  • You need the behaviour guaranteed.A skill is conditional context, not a post-processor. If every answer must carry a checklist, put it in the system prompt or enforce it in your own code.
  • Your surface has no skills support at all.Neither route helps: there is nothing to name and nowhere to upload. The content is still worth reading as a source for your own prompt.
  • You planned on a skill_id that does not exist.Check the pre-built list before designing the request. Fifteen of the nineteen need an upload path, storage and a lifecycle you have to own.
  • The skill would fight your product's response format.A behavioural skill changes the shape of answers deliberately. Read it in full before installing it into anything with an opinion about how output should look.
  • You want the upstream fixes automatically.Copying is a fork. Nothing propagates, so either accept the pin or build a refresh into your own process.
Checked

Verified 2026-09-12. Moves in weeks. Treat anything specific here as a starting point, not a fact. Provider: Anthropic.

A living map of modern AI — kept current every morning