Anthropic added Skills to the Claude platform on top of the existing tool-use API. The two are distinct mechanisms with different use cases.
Tools (function calling)
You define a function schema; Claude returns a structured call; your code executes it and returns the result. Tools are your code — you own the implementation.
Best for: domain-specific actions, API calls, database queries.
Cost: tool definitions count as input tokens. Cache them.
You can pass dozens of tool definitions in one call.
Skills
Skills are pre-packaged capability bundles that Claude can invoke automatically when the user's request matches. Each Skill includes instructions, optionally scripts, and is loaded into context only when relevant. Anthropic ships some; you can author your own.
Best for: cross-conversation, user-facing capabilities (e.g., "create a PowerPoint deck", "review a PR").
Loaded lazily — Skills not invoked don't consume context.
The right choice when the behavior is reusable across sessions and users.
Browse what's out there
The Claude Skills Browser catalogs Anthropic-published Skills with searchable descriptions and use cases.
Which one?
Need to call your API? Tool.
Need a multi-step capability that users invoke by intent? Skill.
Building both? Common in production agents.
Frequently asked questions
What is a Claude Skill?
A Claude Skill is a pre-packaged capability bundle that Claude can invoke automatically when a user's request matches it. Skills include instructions and optionally scripts, are loaded lazily (only when relevant), and can be authored by developers or published by Anthropic.
What is the difference between Claude Skills and tool use?
Tool use (function calling) runs your code — you define a schema, Claude returns a call, your server executes it. Skills are pre-packaged behaviors that Claude loads and runs from its own context, without requiring a real-time API round-trip to your server.
Do Claude Skills count as extra input tokens?
Skills are loaded into context when invoked, so they do consume input tokens. However, they are loaded lazily — a Skill not triggered by the current request does not appear in the context and does not add to your token count.