Day 28 of 52 · about 15 min · Context
CLAUDE.md, skill, hook, MCP or subagent: pick the right one
Most setup mistakes are a good feature doing the wrong job, like a CLAUDE.md line where you needed a guarantee. Sorting six everyday needs makes the right pick a habit.
You’ll finish with
- A quick test that points each need to one feature
- Six needs sorted, with a reason for each
You’ll need
- Days 1 to 27, or a working idea of each feature
- Nothing to install: this day is a sorting exercise
Before you start
Tell us about your setup and the steps change to fit it. Your answers stay in this browser, and you can change them at any time.
Which system are you on?
Commands differ between systems. Pick the one you’ll run Claude Code on.
The steps
One step at a time. When a step’s check matches, tick it and the next one opens.
Step 1 of 3: See what each one loads, and when
Context cost is the quickest way to tell them apart.Each feature uses Claude’s context in its own way. That cost is the first clue to which one fits.
Loaded at session start
- CLAUDE.md: the full text, on every request
- Skills: their descriptions
- MCP servers: tool names
Loaded only when used
- Skills: the full content
- Subagents: a fresh context of their own
- Hooks: nothing, unless they return context
When each feature loads, from the docs’ context cost table. Check it worked
You can say which one costs context on every request (CLAUDE.md) and which usually costs none (hooks).
Step 2 of 3: Ask five questions in order
The first yes picks the feature.This is our rule of thumb, built from the docs’ triggers. Plugins sit outside it: they package the others for another repository.
In order:
You
Must it happen every time?
Yes: a hook
You
Should Claude always know it?
Yes: CLAUDE.md
You
Is it a task you repeat?
Yes: a skill
You
Does it need outside data?
Yes: an MCP server
You
Would it flood the conversation?
Yes: a subagent
Ask in this order and stop at the first yes. Check it worked
Try it on one need from your own week. You land on one feature and can name the question that picked it.
Step 3 of 3: Sort six needs
Pick a feature for each, then check the answers.- Claude keeps running
npmin a project that usespnpm. - You paste the same release checklist every Friday.
- The linter must run after every file Claude edits.
- Claude needs the open issues from your tracker.
- You want every caller of a function across hundreds of files, summarised.
- A second repository needs the same skills and hooks.
your-project/
- CLAUDE.md
- .mcp.json
- folder .claude
- settings.jsonHooks go here
- folder skills
- folder release-checklist
- SKILL.md
- folder agents
- find-callers.md
Where each answer lives in a project. Check it worked
- CLAUDE.md: a convention it got wrong.
- A skill: a playbook you repeat.
- A hook: it must run every time.
- An MCP server: data outside the repo.
- A subagent: lots of reading, short answer.
- A plugin: the same setup in another repository.
- Claude keeps running
Finish · 3 of 3 steps to go
You can pick the right feature
What you’ll have checked
- Six needs sorted, each with a reason
- You know why a must-run rule is a hook: CLAUDE.md is advice, a hook always runs
Lesson updates by email
Get lesson updates by email
Leave your email and we’ll tell you when we add or update a lesson.
Claude Code for your team
Want Claude Code set up across your team?
HorizonLux sets up and repairs Claude Code for teams: CLAUDE.md rules, hooks that enforce them and reviewed MCP servers. Book a free call to talk it through.
Related
Sources
Checked against the official Claude Code docs on .
- Extend Claude Code
- Explore the .claude directory
- Explore the context window
- Best practices for Claude Code
Independent resource, not affiliated with Anthropic. HorizonLux wrote this lesson; Claude Code is made by Anthropic.