Skills and Subagents
Skills and subagents solve different context problems.
Skills
Section titled “Skills”Use skills for reusable instructions, domain knowledge, or workflows that should load only when relevant.
Good examples:
- API conventions.
- Release checklist.
- Security review rubric.
- “Fix a GitHub issue” workflow.
- Product-specific terminology.
Put skills in .claude/skills/ with a SKILL.md.
Subagents
Section titled “Subagents”Use subagents when a task should happen in a separate context window:
- Investigating a large area of the codebase.
- Reviewing a diff.
- Checking security concerns.
- Looking for edge cases.
- Comparing implementation against a plan.
A subagent starts with an empty context window. It does not see your conversation, so anything it needs has to be passed in the task, and that context is uncached in the new window. Agent teams running in plan mode use roughly 7x the tokens of a standard session for this reason.
Subagents are cheap for looking: broad searches, parallel investigation, independent review. They are expensive for doing: work that needs a lot of the context you have already built up. Keep that kind of work in the main session, or use a fork (/subtask), which inherits the full conversation. See What a subagent actually knows.
Rule of thumb
Section titled “Rule of thumb”Use CLAUDE.md for always-on project rules.
Use skills for reusable context that should load on demand.
Use subagents when the work would clutter the main conversation or needs an independent review.