Skill tool description conflates skills and slash commands
Summary
The Skill tool description in the system prompt contains misleading language that conflates "slash commands" with "skills", when these are actually distinct features in Claude Code.
The Problem
The Skill tool description states:
"When users ask you to run a 'slash command' or reference '/<something>' (e.g., '/commit', '/review-pr'), they are referring to a skill."
But skills and commands are different:
| | Skills | Commands |
|---|--------|----------|
| Location | ~/.claude/skills/<name>/SKILL.md | ~/.claude/commands/<name>.md |
| Format | YAML frontmatter + body | Plain markdown prompt |
| Invocation | Model-invoked (proactive) | User-invoked (/command-name) |
The official documentation correctly describes skills as "model-invoked" and distinguishes them from slash commands which are "user-invoked".
Impact
This causes Claude to get confused about the distinction, leading to incorrect advice when users ask about skills vs commands. Users have to add explicit corrections to their CLAUDE.md to counteract the misleading tool description.
Suggested Fix
Update the Skill tool description to accurately reflect that:
- Skills are model-invoked based on their description
- Slash commands (
/command-name) are a separate feature that users explicitly invoke - The Skill tool should only be used for skills listed in
<available_skills>, not for user-typed slash commands
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗