Skills vs. Subagents vs. Just Asking
Three different tools for three different needs: saved instructions, an isolated helper, or simply explaining what you want this once.
Not every task needs the same kind of help
It's tempting, once a new tool is available, to reach for it constantly. A Skill is genuinely useful, but it isn't the only way to get something done well, and it isn't always the right one. Three different situations call for three different approaches.
The real difference between a Skill and a subagent
Both can encode expertise, and it's easy to blur them together, so the distinction is worth being precise about. A Skill loads its instructions directly into the current conversation, in place: the same thread keeps going, just now following a saved set of instructions instead of improvised ones. A subagent is different in kind: it runs the task somewhere separate, with its own context, and reports back a result, the way asking a specialist colleague to handle a piece of work and come back with an answer differs from reading their notes yourself and doing it in the room.
Ask: does this task need to happen "in the room," visibly, as part of the ongoing conversation? If yes, that points toward a Skill. Does it produce a lot of exploratory back-and-forth that would just be noise in the main conversation, but a clean final answer is what actually matters? That points toward a subagent.
Why not package everything as a Skill anyway
Packaging a one-off task as a Skill has a real cost: it adds one more description competing for attention every time relevance gets checked, for a task that was never going to recur in that shape anyway. A library with one shelf per book, rather than sensible sections, isn't actually easier to search. The same restraint that keeps one skill's file lean, from the last chapter, applies to the whole collection of skills: only save what's actually going to be reused.
Think of three things you've asked Claude to do recently. For each one, ask: was this a one-time thing, something I'd genuinely want handled the same well-defined way every time, or something better handled off in its own separate context? Notice that the answer is rarely the same for all three.