[BUG] Claude fails to invoke Skills immediately despite explicit instructions
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Description
Claude Code is not following the documented behavior for Skills invocation. According to the Skill tool instructions, when a skill is relevant, Claude must "invoke this tool IMMEDIATELY as your first action" - this is described as a "BLOCKING REQUIREMENT."
What Should Happen?
According to the Skill tool instructions:
- "When a skill is relevant, you must invoke this tool IMMEDIATELY as your first action"
- "This is a BLOCKING REQUIREMENT: invoke the relevant Skill tool BEFORE generating any other response about the task"
Claude should immediately invoke the relevant Skill tool as the very first action when a user request clearly matches an available skill's description.
Error Messages/Logs
Steps to Reproduce
- Have a custom skill configured
- Make a request that clearly matches the skill's description
- Observe that Claude performs other exploratory actions instead of invoking the skill immediately
Observed Behavior
When asked to "run in a Gitlab campaign all tests from testing campaigns: campaign_A, campaign_B", which directly matches the test-pipeline-starter skill description ("run tests, obtained from a failing pipeline or a custom list, via Gitlab pipeline"), Claude instead:
- Started with exploratory Glob searches for campaign files
- Searched for digital test configuration files
- Attempted to find GitLab CI configuration files
- Only invoked the skill after being interrupted and questioned multiple times
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.0.70
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Terminal.app (macOS)
Additional Information
_No response_
This issue has 4 comments on GitHub. Read the full discussion on GitHub ↗