OCDevel Claude Code Podcast

Skills: reusable expertise Claude loads only when the task matches

Episode 5 of Act I. Custom slash commands turned a repeated prompt into one word. Skills are the next rung: a folder of reusable expertise Claude pulls in on its own when the task matches, plus supporting files and scripts that ride along. **The core idea: progressive disclosure.** Three loading levels. The name and `description` are always loaded (~100 tokens each). The SKILL.md body loads only when the skill is triggered. Reference files and scripts load only when referenced, and scripts execute without their code ever entering context. That's why a 2,000-line skill costs almost nothing on the days you don't use it. See [Claude Code's skills documentation](https://code.claude.com/docs/en/skills) and the [Agent Skills overview](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/overview). **The copyable workflow.** Build a `summarize-changes` skill: YAML frontmatter with a trigger-shaped `description`, plus a body that injects live `git diff` output using the `` !`command` `` dynamic-context syntax. Where skills live (personal in `~/.claude/skills/`, project in `.claude/skills/` committed to git so the team inherits them, plus plugin and managed scope), name-collision precedence, and live reload with no restart. A worked second example: a Postgres migrations skill with a bundled template and a type-generation step. **The knobs that matter.** `disable-model-invocation` and `user-invocable` to control who triggers a skill, `allowed-tools` and `disallowed-tools` tying back to the permissions episode, named `arguments`, and a peek at `context: fork`. **When to use what.** Facts that are always true go in CLAUDE.md; a prompt you retype becomes a command; a procedure with depth becomes a skill; a task you want quarantined becomes a subagent (coming up next). **The pitfall:** the skill that never fires. Almost always a vague `description`, the only thing Claude sees before invoking. How to diagnose it with "what skills are available?" and `/doctor`, the description-budget truncation that bites once you have many skills, and the opposite fix when a skill triggers too eagerly. Plus bundled skills, treating untrusted skills like untrusted software, and letting Claude author and refine the skill for you. From [Anthropic's skill-authoring best practices](https://platform.claude.com/docs/en/agents-and-tools/agent-skills/best-practices).