Course/Skills, Subagents, Hooks, Plugins

6 min · +110 XP

Which tool for which job

CLAUDE.md, skills, subagents, hooks, MCP and plugins on one map.

By the end of this lesson

You will be able to tell which extension a situation calls for and pick it without trying them all.

Claude Code has six common ways to extend it, and they are easy to confuse. Each answers a different question. You do not need all of them; add one when you meet the situation it was made for.

The map

  1. 1CLAUDE.md: what Claude should always know. Rules and facts loaded in every session, such as "use pnpm, not npm".
  2. 2Skill: how to do a repeatable task. A procedure or reference loaded only when needed, or run with /name, such as /weekly-report.
  3. 3Subagent: side work in a separate context. A helper that reads a lot and returns only a summary.
  4. 4Hook: what must happen every time, without relying on the model. Formatting after edits, blocking a protected file, a notification.
  5. 5MCP: a connection to an outside service, such as your calendar, a database, GitHub or a browser.
  6. 6Plugin: a package of the above, to install in one step or to share with other people.

When to add which

Signals from the documentation

  1. 1Claude gets a convention or a command wrong twice: add it to CLAUDE.md.
  2. 2You keep typing the same prompt to start a task: save it as a skill you run by name.
  3. 3You paste the same playbook into the chat for the third time: capture it as a skill.
  4. 4You keep copying data from a browser tab Claude cannot see: connect that system through MCP.
  5. 5A side task floods the conversation with output you will not need again: route it through a subagent.
  6. 6You want something to happen every time without asking: write a hook.
  7. 7A second repository needs the same setup: package it as a plugin.
💬 Not sure which one you need

“Look at how we work in this project and tell me what would help most: a line in CLAUDE.md, a skill, a subagent, a hook, an MCP server or a plugin. Explain why in two sentences and offer to set it up.”

Claude names one option and the signal that points to it; you say yes or no.

✕"Put everything into CLAUDE.md"

CLAUDE.md loads into every session, so a long file costs context all the time, and the documentation notes that longer files reduce how well Claude follows them. It suggests keeping each CLAUDE.md under 200 lines. Long procedures belong in skills, which load only when used.

For experienced users
✦If you are experienced

They combine: a subagent can preload skills with its skills field; a skill can run in a subagent with context: fork; skills and subagents can carry their own hooks in frontmatter; plugin skills are namespaced as /plugin:skill, so several plugins coexist. Of the six, only a hook runs regardless of what the model decides; CLAUDE.md and skills are instructions the model follows. The same overview also lists output styles (tone and format for a whole session) and code intelligence plugins (language-server navigation) for the cases these six do not cover.

Quick check

Every time Claude edits a file, the code formatter must run, without exceptions. What do you use?

Quick check

Every Friday you ask Claude to turn your notes into a report in the same five steps. What do you use?

Facts checked against the official Claude Code docs October 24, 2026 · source

EAEvgenii Arsentev

Author

Evgenii Arsentev

PhD · Chief Executive Officer, digital health