Skip to content

Skills and Subagents

Skills and subagents solve different context problems.

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.

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.

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.