modul 2 — the toolbox in depth
skills: packaged expertise
A skill is a folder with instructions the agent loads when the task calls for it. Write one once, and every future session starts smarter.
~3 min read · ~10 min with the exercise · v1.1 · verified: 2026-07-15
the problem skills solve
Module 1 gave you CLAUDE.md: the rules that apply to every session in a project. But some knowledge only matters for some tasks: how to write a good animation, how your team deploys, what a proper email template looks like. Paste that into CLAUDE.md and you pay for it in context (the amount of text the model considers at once – covered in module 1) on every single session, including the ones that never touch it.
A skill (a folder with a SKILL.md instruction file that the agent loads only when the task matches its description) is the fix: packaged expertise that loads on demand. The official docs describe it as a SKILL.md file with instructions: "Claude adds it to its toolkit. Claude uses skills when relevant, or you can invoke one directly with /skill-name."
how a skill actually loads
The mechanism is the whole trick, and it's called progressive disclosure:
- at session start only the skill's
descriptionline enters the context: a sentence, not the manual - when a task matches that description, the agent loads the full
SKILL.md - supporting files (templates, scripts, reference docs) load only if the instructions point to them
So a library of 50 skills costs you 50 sentences of standing context, not 50 manuals. OpenAI's Codex documents the same three-stage pattern. Skills are an open standard that works across agents, not a vendor feature.
anatomy of a SKILL.md
A skill lives at .claude/skills/<name>/SKILL.md (project) or ~/.claude/skills/<name>/SKILL.md (all your projects). Two parts:
- frontmatter – the
descriptiondecides everything: it is how the agent recognizes "this task is mine". Vague description, dead skill. - markdown body – the instructions themselves: steps, standards, gotchas, links to supporting files.
Two frontmatter switches worth knowing from day one (reference): disable-model-invocation: true means only you can trigger it with /name. Use it for side-effect workflows like deploys, where the agent shouldn't decide the timing. user-invocable: false is the inverse: background knowledge the agent should apply but that makes no sense as a command.
what it looks like in production
This platform is built under a rule in AGENTS.md: no UI work starts before the design skills are loaded. The skill contents carry the standards; the session just names them:
- raise the nav to best in class
- loads the design standards before touching codeskill: top-design
- loads the animation playbook the same wayskill: awwwards-animations
- only then edits – with the loaded standards as the measureedit header.tsx
- and verifies against themplaywright + tsc ✓
a real session from this build: ❯ is the typed request, → are the agent's steps, ✓ is the verification.
The skills weren't written that day. They were written once, and every session since starts at that level instead of from zero.
what you take with you
- a skill is packaged knowledge loaded on demand – CLAUDE.md keeps only what is always needed
- the
descriptiondecides everything: it is how the agent recognizes the task as its own - side-effect workflows get
disable-model-invocation: only you can trigger them
exercise
exercise — write your first skill
Pick one thing you've explained to the agent more than once (a workflow, a standard, a checklist) and turn it into a skill in your own project.
0/4 · log in so we can save your progress
changelog
- 2026-07-15 · takeaway block added; read time shown separately
- 2026-07-15 · first published, claims validated against the official skills docs and the Agent Skills open standard