Skills, named invokable prompts

A skill is a named bundle of instructions the user (or the agent) can invoke with a slash command. It's a way to capture repeated workflows as first-class features.

Why skills exist

Any workflow you find yourself pasting the same prompt for is a candidate to become a skill. Named. Discoverable. Reusable. Versionable.

Anatomy

A skill is a directory with:

Example skill: /summarize-thread

Goal: pull a specific Slack thread and produce a 3-bullet summary.

Manifest describes: name (summarize-thread), description (when to use), required permissions (mcp__slack__*), arguments (thread URL).

The prompt file says: "Fetch the thread via Slack MCP. Summarize in exactly 3 bullets. Include speakers and decisions made."

When the user types /summarize-thread, Claude Code loads the prompt, passes arguments, runs.

Built-in skills (examples)

When to reach for a skill vs, a hook vs, an MCP

Writing a good skill

  1. Narrow scope. One job, done well. "Summarize a Slack thread." Not "Slack assistant."
  2. Clear description. When should the user invoke this? When should they NOT?
  3. Deterministic output. Structure, format, length, be specific.
  4. Declare permissions. What MCPs does it need? What tools? Make it explicit.
  5. Include examples. In the prompt, show one or two examples of perfect output.

Distribution

Skills can live in:

Skills as the "commands" of your agent

Think of skills as the command palette of your agent. Over time, a power user of Claude Code will have 20+ skills covering their most common workflows. Their cognitive load drops, they don't remember the perfect prompt, they remember the slash-command name.