Design note

Skills encode expertise, not instructions.

Why --help isn't enough, and why skill files give agents the workflow knowledge that documentation can't convey.

The gap between tools and expertise

A CLI's --help output tells you what flags exist. It doesn't tell you when to use them, in what order, or what to do when things go wrong.

Consider a junior consultant who has access to PowerPoint. They know which buttons exist. They don't know that an action title should be a complete sentence asserting a finding, not a topic label. They don't know that three bullets per card is the right density for a board audience, or that a chart needs a gray-first color strategy with selective highlighting. A senior consultant knows these things from years of practice, and no amount of --help text will teach them.

Skill files encode this kind of knowledge. They're Markdown documents loaded into the agent's context at invocation time. They go beyond "here are the tools" and into "here's how an expert would approach this task." The skill tells the agent to check storytelling structure before generating operations, to use gray as the default chart color, to verify that every action title passes the "so what?" test.

Giving the agent a CLI is like giving a junior cook a kitchen full of equipment. Necessary, but insufficient. You also need the recipe.

Why not just put this in the system prompt?

Some agent frameworks encode workflow knowledge in the system prompt. This works for simple tasks but breaks down for complex multi-step workflows.

The context budget is one problem. A full playbook for end-to-end deck generation (storytelling principles, layout patterns, chart best practices, common mistakes, error recovery) runs to 2000+ lines. If the user just wants to edit a title on slide 7, they don't need 400 lines about chart color strategy. Loading everything every time wastes context on irrelevant instructions.

Maintainability is the other. System prompts are static text. Skill files are structured Markdown with YAML frontmatter, stored in version-controlled directories alongside their reference files. You can update the storytelling guidance without touching chart patterns. You can add a new reference file without modifying any skill.

Loading on demand solves both. When the user invokes /slides-build, only the build skill and its references enter context. When they invoke /slides-edit, only the edit skill loads. The agent gets exactly the instructions it needs.

Previous Agent output as untrusted input Next Why seven skills, not one