An orchestrator skill is a thin recipe that calls other recipes. Once you understand that one sentence, every multi-step automation becomes a tree you can draw on a napkin.
By Chapter 6 you can write a single skill that does one job well. This chapter asks the next question: what happens when a job has several jobs inside it? Do you cram them into one big skill — or break them apart and let one skill call the others?
Both answers are sometimes right. This chapter teaches you how to tell which is which, what the orchestrator pattern looks like in practice, and where composition goes wrong.
A skill's body is just instructions Claude follows. That's it. There's no special "skill runtime" with limited capabilities. If a human with the same instructions could read another recipe, dispatch a helper, or run a shell command — so can Claude.
Which means a SKILL.md can say:
/foo skill and apply its workflow to the user's input."Bash to run the build, then Read the log file and report failures."None of that requires a special API. It's just text. Claude is reading the markdown and acting on it, the same way it reads anything else.
Two flavours, both fine:
Your SKILL.md says: "Invoke the verify skill on the change you just made." Claude calls the Skill tool with name verify. That skill runs, returns, control comes back to yours.
Your SKILL.md says: "Read ~/.claude/skills/foo/SKILL.md and apply its workflow to the user's input." Claude reads the file with the Read tool and follows the instructions. No special invocation — the second skill's body just becomes part of Claude's working context.
Use direct invocation when the second skill is well-tested and you want its triggering / completion contract. Use read-and-follow when you want only some of its logic, or when you want to tweak the inputs.
This is the most common composition pattern by far. Your skill says: "for each chapter, dispatch a general-purpose Opus agent with this template, filled in with the chapter's content."
book-builder does exactly this. Its Path B (multi-chapter) workflow scaffolds the shell file once, then fires off N parallel agents — one per chapter — each editing the same file at a different anchor. Three lines in the SKILL.md, hours of parallel work.
Why agents instead of doing it inline? Two reasons:
An orchestrator is a thin skill that doesn't do work itself; it coordinates. Its body is mostly: pick the right path, fill in a template, dispatch the right agents, verify the result.
book-builder/SKILL.md is about 250 lines of instructions and references. None of those lines build a chapter. The actual chapter-building happens in agent-built HTML files, each agent invoked from a single instruction in the orchestrator. The orchestrator's job: pick paths, fill templates, dispatch, verify. That's it.
Some signs you're looking at an orchestrator:
Two real shapes. The orchestrator delegates; the flat skill does its own work. Both are valid — the question is whether the work decomposes naturally.
Four ways composition goes wrong. Memorise these — every one of them will tempt you at some point.
There is no shared global state. Repeat: there is no shared global state. Skills do not have variables they can pass around. Agents do not see what their parent saw — they see only what their prompt contains.
So how do skills share context? Three honest channels:
The agent receives only what its prompt contains. Test that. If you find yourself thinking "well, the agent knows that already" — it doesn't. Pass everything explicitly or it isn't passed.
Sometimes one flat skill is the right answer. Composition is for when:
Don't compose for elegance. Don't compose because "it feels more modular". A flat skill that fits on one screen and works is better than a beautifully-decomposed three-level call graph that has a recursion bug.
You'll see the same four shapes over and over. Tap a card to see a concrete example.