Run the same job both ways
Two jobs below, each runnable as a skill in your main thread or as a dispatched sub-agent. The columns are context windows. Watch what each strategy does to them. The two jobs disagree on purpose. The 40-contract audit floods whatever context runs it, so it belongs in a worker whose memory you can throw away. The memo walkthrough needed a mid-course correction only you could give, so it belongs in front of you, guided by a playbook. Neither strategy is the better one; they are answers to different questions.The three questions
When a specialized task shows up, ask in order:- Will the working steps produce pages of output I will never reread? If yes, sub-agent. Intermediate noise is exactly what isolated context is for.
- Will I need to steer mid-task? If yes, skill in the main thread. A sub-agent cannot hear you until it is finished.
- Does the work need different permissions or a different model? Sub-agents can run with restricted tools, in parallel, or on a cheaper model. Skills always inherit the current conversation’s everything.
Side by side
The combination is the real pattern
Mature setups stop choosing and start stacking: sub-agents that carry skills. The playbook teaches, the worker executes. In Claude Code, a sub-agent’s configuration can preload specific skills into its context at startup, so your contract-audit worker begins life already knowing the firm’s audit checklist. Teams converge on the same shape: a small bench of workers, three to six, and a deep shelf of playbooks, ten to thirty, shared across them. Carry the sorting instinct: knowledge becomes a skill, labor becomes a worker, and the best workers are handed your skills on their way out the door.Comparison grounded in Anthropic’s guide to steering Claude Code and the sub-agents documentation.