Intermediate 3 concepts to know first · leads to 1

Skills

A SKILL.md file of instructions that Claude loads only when a task calls for it, or that you run yourself as a /command. Custom slash commands are now skills.

The animation needs JavaScript; every step is described below.

0:15

Know these first

3 concepts · basics first
  1. Slash Commands

    Type / to run a command: built-ins that control the Claude Code session itself, plus prompts packaged as skills, plugin commands and MCP prompts, including ones you write yourself.

  2. Context

    The context window is everything Claude can see in a session: your messages, the files it reads, tool output and auto-loaded instructions. It fills as you work, and Claude Code compacts it when it gets full.

  3. Memory

    CLAUDE.md files you write and auto memory notes Claude writes for itself: plain markdown on disk, loaded at the start of every session so Claude doesn't start from zero.

  4. Skills · you are here

A skill is a folder with a SKILL.md file in it: a short description on top, then instructions, a checklist or a procedure. Claude can pull it in when your request matches the description, or you can run it yourself by typing / and its name.

Skills exist for the instructions you keep pasting into chat, and for the parts of CLAUDE.md that have grown from facts into procedures. The difference is cost. CLAUDE.md loads at the start of every session; a skill’s body loads only when it’s used.

How it loads

At the start of a session, Claude sees each skill’s name and description, and nothing more. That’s enough for it to know the skill exists. When a task matches, or when you type /deploy, the full SKILL.md is read into the context window and Claude follows it.

A skill folder can also hold supporting files: a long reference doc, examples, a script. SKILL.md points to them, and Claude opens one only when it needs it, so a large skill can stay cheap until the moment it’s useful.

Where they live

  • ~/.claude/skills/<name>/SKILL.md: personal, in every project on your machine.
  • .claude/skills/<name>/SKILL.md: this project. Commit it and your team gets it too.
  • Inside a plugin: runs namespaced, as /plugin-name:skill-name.

The folder name becomes the command. Claude Code also ships bundled skills, such as /code-review and /debug.

Skills and slash commands

Custom commands have been merged into skills. An old .claude/commands/deploy.md file and a new .claude/skills/deploy/SKILL.md both give you /deploy, and old command files keep working. Skills add a folder for supporting files and frontmatter that controls who can invoke them: disable-model-invocation: true means only you can (use it for anything with side effects, like a deploy), and user-invocable: false means only Claude can.

A skill can also run in its own subagent with context: fork, which keeps its work out of your main conversation.

The catch

Every skill Claude may invoke costs a little context on every turn, because its description is always listed. Write that description carefully: it’s the only thing Claude reads when deciding whether to load the skill. Keep SKILL.md itself focused (the docs suggest under 500 lines) and move detail into supporting files.

Where it sits

Skills

Leads to

Plugins

The ideas underneath · Field Guide

Further reading from claude.dev

Posts from Anthropic's developer blog that go deeper. Summaries are ours; the posts are Anthropic's.

Sources

  1. Extend Claude with skills . Claude Code docs: SKILL.md, locations, invocation control, supporting files
  2. Plugins overview . Claude Code docs: plugin skills and their per-turn context cost

Verified against the official Claude Code docs on October 1, 2026 · next review by January 1, 2027. Claude Code changes quickly; the docs are the source of truth.