Appearance
A Skill is an orchestrator markdown file that runs multi-step workflows — spawning agents, validating their outputs between stages, and coordinating without writing code itself.
Primitive
Skill
First, disambiguation
"Skill" is overloaded. The KG keeps two.
Skillthis node
Orchestrator of multi-step workflows across agents
Explicit — ADW or slash command invokes it
Skill Pack
Knowledge base — SKILL.md + resources dir, loaded on description match
Implicit — Claude loads it when description matches user intent
The Skill primitive (this node) is for workflow orchestration — it does not write code. It coordinates agents that do.
Skill vs Command
A Command is one prompt. A Skill is a pipeline.
Command
Single-shot prompt
AgentsOne invocation
StagesOne output
StateNo handoffs
Example/feature, /commit
Skill
Multi-stage orchestrator
AgentsMany, sequential or parallel
StagesN gates, artifact between each
StateOutput of step N is required read for N+1
Example/product-spec, /planning-products
The distinction matters because Skills carry state between steps. The output of Step 2 becomes Step 3's required read. A Command cannot do that.
Anatomy of a workflow
Each stage has a gate before the next begins.
00
Invoke
input
→
01
Spawn agent A
gate ✓
→
02
Validate A's output
artifact
→
03
Spawn agent B
reads A
→
04
Final check
PASS
Each stage produces a verifiable artifact — the Skill checks it before starting the next stage. No cascading failures from broken upstream output.
Keep the orchestrator lean
Main file ≤ 1500 words. Details live in references/.
.claude/skills/planning-products/
skills/planning-products/├── SKILL.md# the lean orchestrator└── references/ ├── task-templates.md# when classifying a task ├── agent-system-template.md# when generating AGENT_SYSTEM.md ├── orchestration-rules.md# when setting dependencies └── spawn-template.md# when spawning agents
The orchestrator loads references only at the branch that needs them. Context usage stays proportional to the complexity of the current step, not the total workflow.
Scoped enforcement
Skills attach hooks that only fire during execution.
temporary attachment
Workflow-specific gates, zero global pollution.
planner-task-create-gate.sh# PostToolUse on task_create.pyagent-system-gate.sh# PostToolUse on AGENT_SYSTEM.mdplan-completeness-gate.sh# Stop — verify plan before exit
These hooks disappear when the skill finishes. You get workflow-specific enforcement without polluting the global hook configuration. The hook lifecycle matches the skill's lifecycle.
The discipline
Skills orchestrate. Agents execute.
A Skill that writes code has lost its job. A Skill without validation gates between stages produces cascading failures. A monolithic Skill burns the orchestrating session's context before any agent runs. The value of the primitive is its narrowness — coordinate, validate, hand off, repeat. Let the agents do the work.