Claude Code · Educational Series

Command, skill, subagent, or hook — which one do you need?

Claude can be extended four ways and they look confusingly similar. Here's the plain-English map: a command is a saved prompt, a skill is real know-how, a subagent is isolated work, and a hook is an enforced rule.

Reference Guidewith a downloadable resource for your Claude Code sandbox

What's inside

  1. Slash command — a saved prompt
  2. Skill — real domain know-how
  3. Subagent — isolated, parallel work
  4. Hook — an enforced rule
Section 01

Slash command — a saved prompt

A slash command is just a prompt template you've saved so you can reuse it. No logic, no files — only words you'd otherwise retype. If you find yourself pasting the same instructions over and over, that's a command waiting to happen.

It's the simplest of the four, so it should be your first reach. Most 'I wish Claude remembered to do X' moments are solved here.

Use whenYou keep retyping the same prompt and just want a shortcut for it.
Section 02

Skill — real domain know-how

A skill steps up from words to a way of working. Use one when there's actual domain logic involved — a process, a format, helper files — that Claude should follow whenever the situation comes up. Unlike a command you trigger by name, a skill triggers itself when it recognizes a relevant task.

If a command is 'say these words,' a skill is 'here's how we do this kind of job, including the templates.'

Use whenThere's real logic or helper files, and you want it to kick in automatically.
Section 03

Subagent — isolated, parallel work

A subagent is a helper Claude spins up with its own context window to handle a chunk of work without cluttering the main conversation. It's ideal for isolated side-quests — go research this, audit that — or for running several pieces of work in parallel.

The big win is a clean context: the subagent's verbose digging stays in its own space and you just get the summary back.

Main agent: "Research the three options,
  each in its own subagent,
  then give me one comparison."
Section 04

Hook — an enforced rule

A hook is code that runs automatically at specific moments — before a tool runs, when a session ends, after a subagent finishes. Use it when you need a guarantee, not a polite request: 'always run tests before stopping,' 'never edit generated files.'

This is the most technical of the four. Most non-developers won't need hooks often — but it's worth knowing they exist for the day 'please remember' stops being enough.

Use whenYou need a rule enforced every single time, with no reliance on Claude remembering.
Free Download

The Claude extension decision map

A one-page map for picking command vs skill vs subagent vs hook — with a quick question to ask yourself for each.

Command rule
Skill rule
Subagent rule
Hook rule
Quick questions
Start-simple note
Command example
Skill example
Subagent example
Hook example
✓ Downloaded. Drop it in your skills/ folder and try it in your Claude Code sandbox.