
如果你写过 Claude Code 的自定义斜杠命令,最近又听说“技能把命令取代了”,先别急着翻旧文件:官方文档已经把两者合并成一套东西。文件 .claude/commands/deploy.md 和技能 .claude/skills/deploy/SKILL.md 都会生成同一个 /deploy,旧文件照常用,新活优先写技能。作者在 Claude Code v2.1.318(macOS,11 月 4 日实测)上把两边都跑了一遍,结论就一句话:命令文件就是没有文件夹的技能。
实测分四步:旧式命令文件 /standup Sam 照常跑,参数直接进提示词;技能能多带 template.md 这类配套文件,用 ${CLAUDE_SKILL_DIR} 指回技能自己的目录;同名时技能胜出,菜单里两个都列出来、跑起来的是技能;子文件夹会变成冒号前缀,frontend/component.md 就是 /frontend:component。迁移也只要四步:建 .claude/skills/standup/ 文件夹、把旧文件移进去改名 SKILL.md(frontmatter 不用动)、按需加配套文件、重启后敲 /standup 验证。注意旧文件要和迁移同步删掉,留着它会被技能盖住、还容易忘。
适合已经攒了一堆自定义命令的人:能跑的旧文件不用全迁;新命令直接写技能,还能用 disable-model-invocation、user-invocable 控制谁能触发。想先弄清 SKILL.md 每个字段是干嘛的,可以看站内这篇:自己写 Claude Code 技能先看这篇:SKILL.md 每个 frontmatter 字段是干嘛的;技能写好了却不触发,按这篇排查:Claude Code 技能写好了却不触发?6 步排查。原文教程见 AI Parabellum:Claude Code Custom Slash Commands vs Skills。
来源:AI Parabellum,原文:https://aiparabellum.com/claude-code-custom-slash-commands-vs-skills/


没有回复内容