The fundamental extensibility distinction in Claude Code: **skills** are model-invoked (Claude activates them autonomously from context), while **commands** are user-invoked (explicitly triggered via slash commands). | | Skills (model-invoked) | Commands (user-invoked) | |---|---|---| | Trigger | Claude detects relevant context | User types `/command` | | Activation | Automatic, description-matched | Explicit, deliberate | | Purpose | Embed quality protocols into all work | Execute specific workflows | ## Implications - **Quality infrastructure**: skills enforce verification without the user remembering to invoke them - **Activation precision**: poor descriptions cause false positives or missed activations - **Context cost**: every active skill consumes shared context tokens ## Design Principles Keep SKILL.md focused; include specific trigger terms in the description; use progressive disclosure (core protocol in SKILL.md, details in references); match specificity to task fragility. Anti-pattern: skill proliferation reduces activation clarity — start with 1-2 high-value skills. ## Related Concepts - [[Claude Skills Design Patterns]] - [[Progressive Disclosure as Agent Tool Design Pattern]] - [[Compound Engineering Method]]