# Automatic and Explicit Invocation — Claude Code Skills & SKILL.md

Source: https://www.geekswithgeeks.com/en/claude-code-skills/u-invoke

> Understand how a skill gets used, and how to invoke one yourself.

## Claude chooses, or you ask by name

There are two ways a skill gets used. **Automatically**: Claude reads your request, compares it with the available skill descriptions and, when one fits, loads that skill and follows it. This is why descriptions matter so much. **Explicitly**: you can ask for a skill by name in your message, and in current Claude Code versions you can also invoke skills as slash commands (`/skill-name`), optionally with arguments. Explicit invocation is useful for skills that perform actions (deploy, release) which you want to trigger only on purpose, and some tools let a skill be marked so the model does not invoke it by itself; check the documentation for the options in your version. If a skill does not trigger, check that the folder and file names are right, the frontmatter parses, and the description matches how you phrased the request; if it triggers too often, make the description narrower.

## Troubleshooting a skill that does not trigger

Work down the list.

```text
1. path correct?       <scope>/skills/<name>/SKILL.md   (file is exactly SKILL.md)
2. frontmatter valid?   starts with --- on line 1; name + description present; no tabs/odd quotes
3. name == folder?      lowercase-hyphen name that matches the folder
4. description match?   does it contain the words people actually use? does it say WHEN to use it?
5. conflicts?           another skill with a similar description or the same name?
6. restart/reload?      start a new session if your version only scans at startup
7. try explicit call    ask for it by name or /name to separate "not found" from "not chosen"
```

## Name the skill in a hard case

If automatic selection is flaky, ask for the skill by name while you tune the description.

**Quiz:** A skill never triggers automatically. What is the most useful first check?

- [ ] Whether the model is large enough
- [x] Whether its description contains the words people actually use and says when to use it
- [ ] Whether the repo has a licence
- [ ] The colour of the terminal

*Answer:* Whether its description contains the words people actually use and says when to use it. Selection depends mainly on the description matching the request.
