Skip to content

You are reading the built-in manual

These are the pages AURA carries within itself: inside the application, the ? key opens the one for the screen you are on. They are published here exactly as they are, so they can be read without installing anything.

Your reusable know-how: one folder per skill in ~/.claude/skills/, whose entry point is SKILL.md. A skill is a set of instructions Claude loads when the situation calls for it — unlike an agent, it runs in the current conversation, with its context.

As with agents, the screen is read only: it shows and explains, it does not write. The only write is deletion.

What the page reads from disk

The service lists the subfolders of skills/ and, for each, tries to read <folder>/SKILL.md. A folder without a SKILL.md is silently ignored — which is exactly what Claude Code does, and therefore what explains a skill “that doesn't exist” while its files are plainly there.

The name shown comes from the name frontmatter key, the folder name otherwise. Careful: name does not change the /name command, which always follows the folder name.

The expander: the reference files

Each entry in the list carries a chevron. Expanding it shows the other files in the skill folder — the ones SKILL.md may ask to read. I walk the skill folder and one level of subfolders; files nested deeper are not listed. An unreadable subfolder interrupts nothing: the entry point stays readable.

Those files are the heart of progressive disclosure: they are not injected into the context with the skill. It is the body of SKILL.md that says which ones to read, and when. Seeing them here is seeing what the skill has at hand without it costing a single token until it uses them.

Clicking a reference file opens it in the right-hand panel:

  • a .md is rendered as Markdown, in full — no frontmatter card, since only the entry point carries one;
  • any other file is shown as a highlighted code block, the highlighting inferred from the extension (json, js, ts, sh, bash, yml, yaml, toml, py).

Reading the frontmatter card

It works like the agents' one: every key that is set is explained on hover, every absent key is listed under the “N keys not set” expander with the value Claude Code will assume, and any key outside the skills vocabulary carries the ignored flag.

The skills vocabulary is in kebab-case (allowed-tools, user-invocable) where the agents' one is camelCase. An agent key slipped into a SKILL.md will do nothing.

No key is required in a skill. If description is missing, the card says so: Claude then falls back on the first paragraph of the body to decide whether to load the skill — which works by accident far more often than by intent.

What decides the trigger

Three keys, and those only, govern when a skill comes into play.

  • description — what Claude reads to decide. It must state when to use it, not only what the skill does. This is the first cause of a skill that never triggers.
  • when_to_use — extra triggering context: key phrases, example requests. It adds to the description; the two share a budget of 1,536 characters.
  • paths — globs restricting activation to matching files. Shown one per line, wildcards highlighted.

Two switches change its reach:

  • user-invocable set to false — the skill disappears from the / menu; only Claude can load it;
  • disable-model-invocation set to true — Claude never triggers it on its own; it has to be asked for.

Both at once make the skill unreachable.

A skill's full vocabulary

KeyRoleWithout it
nameDisplayed name. Does not change the /name command.Folder name
descriptionWhat the skill does and when to use it.First paragraph of the body
when_to_useExtra triggering context.The description alone
argument-hintShown in autocompletion, e.g. [issue-number].No hint
argumentsNamed positional arguments, substituted by $name in the body.Only $ARGUMENTS, $0, $1
allowed-toolsTools usable without asking permission while the skill is active.Usual permissions
disallowed-toolsTools removed from the pool during the skill. The restriction ends at the next message.No tool removed
user-invocablefalse: hidden from the / menu.true
disable-model-invocationtrue: never triggered spontaneously.false
modelModel used while the skill is active; the session takes its own back afterwards.Session model
effortReasoning level during the skill.Session effort
contextfork: the skill runs in an isolated sub-agent, its content becoming the prompt.Main context
agentSub-agent used when context: fork. No effect otherwise.general-purpose
pathsGlobs restricting activation.Active everywhere
shellInterpreter for the body's inline !`cmd` commands: bash or powershell.bash
hooksLifecycle hooks active only during this skill.No hook

For a lasting block on a tool, disallowed-tools is not enough: it lasts only as long as the skill. Go through the settings.json permissions.

Deleting

Deletion targets the whole folder, reference files included — the dialog shows that path, not the SKILL.md one. A timestamped copy of the complete folder is taken first, recoverable from Backups.