How Triggering Works
There's no slash command for a skill, and no menu that lists them by pattern name. Claude Code reads every installed skill's description line at the start of a session, and loads the matching one the moment your request looks like what that description covers.
That's why the descriptions are written symptom-first, not name-first: they describe the problem you'd actually type ("approval queues", "a person checks before send"), not the pattern's formal title. All 38 patterns on this site have an authored description written this way, so triggering isn't left to a generic fallback.
- "Add an approve-or-reject step before this goes out" → triggers `aiux-human-in-the-loop`
- "This settings panel shows every option at once, it's overwhelming" → triggers `aiux-progressive-disclosure`
- "What should happen if the generation fails halfway through?" → triggers `aiux-error-recovery`
You don't need to remember a skill exists or ask for it by name. Describe the problem the way you normally would, and the matching skill loads on its own.
If a description doesn't quite match your phrasing, you can still be explicit: "use the aiux-human-in-the-loop skill" loads it directly, no different from naming any other file in the repo.
The description line carries all the weight because it is the only text Claude reads to decide whether a skill applies. It never scans the full body of every installed skill up front, that would be slow and wasteful. So each description is written symptom-first on purpose, matching how you would actually describe the problem out loud rather than the pattern's formal name.
You know how triggering works
- Skill descriptions are symptom-first, written for how you'd actually phrase a problem
- Claude Code matches your request against installed skills automatically
- You can always name a skill explicitly if it doesn't trigger on its own
Next: living with skills day to day, once you have a few installed.