Claude Code Skills 不会自动激活?这有个解决方案

Claude Code 的 Skills 功能号称是"自主激活"的——只要你的请求匹配技能描述,Claude 就会自动使用。但现实很骨感:它根本不会

作者创建了一个 research 技能,用于验证信息来源。每当说"research this",Claude 应该自动调用该技能。结果呢?Claude 每次都无视技能,直接蛮干。

问题根源

Claude 太过专注于完成任务,会直接跳过检查可用工具的步骤。即使 Hook 提醒"检查一下 skills",Claude 也当成背景噪音忽略。

解决方案:用 Hook 强制激活

核心思路:不要依赖"自主激活",而是通过 UserPromptSubmit Hook 检测触发词,显式命令 Claude 使用技能。

# 温柔提醒(无效)
echo '💡 Check skills for relevant skills'

# 强制指令(有效)
echo "🔍 INSTRUCTION: Use Skill(research) to handle this"


区别在于:一个是"请考虑一下",另一个是"闭嘴听令"!

更简洁的通用方案

后来作者发现了更简单的方式——一条通用 Hook 指令适用于所有技能:

"command": "echo 'INSTRUCTION: If prompt matches any skill keywords, use Skill(skill-name) to activate it.'"


无需维护关键词脚本,无需处理冲突。

实测结果

20 次测试,成功率约 50%——基本靠运气。但比维护复杂脚本省心多了。

结论:官方说 Skills 会自动激活,实际不会。用简单 Hook 碰碰运气,重要任务还是显式调用 Skill(skill-name) 最靠谱。

🔗 原文链接

#ClaudeCode #AI工具 #开发技巧 #Hooks #编程 Claude Code Skills Don't Auto-Activate (a workaround) - Scott Spence
 
 
Back to Top 1px