Skills visible by default
Recently used skills surface first in the slash menu.
Skills placed in .claude/skills/ directories surface automatically in the slash command menu, without requiring explicit configuration.
How It Works
Claude Code treats skills as user-invocable (discoverable in the slash menu) by default. When you place a skill definition in .claude/skills/, the runtime exposes it as a slash command unless you explicitly opt out.
To hide a skill from the menu, add user-invocable: false to the skill's frontmatter:
---
user-invocable: false
---
Without this marker, the skill is automatically discoverable.
What the Test Found
In January 2026, a runtime test verified this behaviour by requesting Claude list available slash commands starting with "test". All eight test skills in .claude/skills/ appeared in the slash menu:
- test-custom-agent
- test-bad-agent
- test-language
- test-agent-tools
- test-hooks
- test-agent-field
- test-fork
- test-yaml-tools
The test confirmed that default visibility removes friction for skill discovery. Users need not mark every skill user-invocable: true; the runtime assumes skills belong in the menu unless flagged otherwise.
Why It Matters
This inversion of the discovery burden matters for iteration speed. Developers author skills, place them in the project, and they immediately appear in the assistant's command palette. The opt-out approach scales: most skills are meant to be invoked; a minority (internal, experimental, or deprecated) require explicit hiding.
The pattern trades a global allowlist for a surgical blocklist, reducing boilerplate and lowering the barrier to skill publication within a session or project.
Caveat
Skills discoverable does not imply skills available across all Claude Code instances or users. Discovery scope is local to the session or project; .claude/skills/ is a project-level mechanism, not a global registry.
- commit13548c0 ↗
primitive_c9eb121ab862a6e373ecbe84ed255199b87705613b1e2fd064d57fa75a6b679d2856ceafad6b1daa8f982493871b6dd068e36d68ca74d54c49a1289cc51ae5d71dab756c9c215f7dbe7b665217ec9c57d6f4fd6b678156cc75ed61cf5b20d71d5f553c6a67140935d8f29e032774e07Signed with an ed25519 key held off the repo. Anyone can verify against the published public key; nobody without the secret key can forge it. Click verify: it recomputes the signature in your browser. The signature proves integrity and authorship of this exact content — not a third-party timestamp or that the underlying claim is objectively true. signedAt is when the @f3/attest pipeline ran, not when the work happened; the evidence refs carry the source dates.
- instance-of Skill Runtime Class
- introduces (in) Claude Code 2.1.0 (Night Zero) Release
- verifies (in) Skills visible by default — runtime test Test