Skill tool description conflates skills and slash commands

Resolved 💬 4 comments Opened Dec 21, 2025 by KyussCaesar Closed Dec 22, 2025

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:

  1. Skills are model-invoked based on their description
  2. Slash commands (/command-name) are a separate feature that users explicitly invoke
  3. The Skill tool should only be used for skills listed in <available_skills>, not for user-typed slash commands

View original on GitHub ↗

This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗