Claude Code把“斜杠命令”和“技能”合二为一,从此AI不仅能听懂指令,还能自动判断什么时候该用哪套本事,就像一个会自己翻工具箱的程序员同事,既能在你喊“/修bug”时立刻动手,也能在你聊到“这段代码怎么跑的”时主动掏出解释图。
这套机制不仅保留了旧有命令的兼容性,还通过YAML前缀、子代理隔离、动态上下文注入等设计,让技能具备自动触发、手动调用、安全执行、可视化输出等多重能力,真正实现人机协作的无缝衔接。
Claude Code完成一次结构级整合:Slash Commands与Skills合并成同一套能力体系。表面变化看起来像命名合并,底层变化属于架构升级。
所有旧Slash命令照常工作,所有Skills直接用斜杠调用,模型与使用者共享同一套调用逻辑。技能系统负责动态加载上下文、按需读取文件、层层展开信息,还能天然配合子智能体执行复杂任务。心智负担减少,能力上限抬升,扩展空间直接拉满,这一波属于工具链成熟期的标志动作。
斜杠命令和技能终于成了一家人
以前在Claude Code里,有两种方式告诉AI该干啥:一种是用户敲“/deploy”这种斜杠命令,另一种是给AI装一套叫“技能”的说明书。
现在这两兄弟正式合并了,变成同一个东西——所有技能都能用斜杠命令的方式调用,所有老的斜杠命令也自动变成技能继续工作。这就像把两个独立的工具箱焊在一起,左边抽屉放锤子右边放螺丝刀,现在全塞进一个带标签的智能收纳盒,AI伸手就能摸到最合适的工具。用户不用做任何迁移操作,原来放在~/.claude/commands/目录下的命令文件照常运行,但新做的功能建议直接做成技能,因为技能能用更多高级功能,比如搭配子代理干活。
为什么要合并:从早期技巧到成熟能力的自然进化
最早的Slash Commands承担一个非常重要的角色:按需加载上下文。只有在敲下斜杠的那一刻,相关信息才进入模型视野,资源使用高效,理解路径清晰,像抽屉一样随开随用。随着模型能力持续增强,单纯的命令式上下文加载逐渐显得“空间有限”,就像小推车装不下大工程。
Skills的出现改变了这件事。技能不只是一段提示词,而是一套可以主动读取文件、判断相关性、引用其他文件的动态系统。SKILL.MD文件允许多层引用,像一本能自动翻页的说明书,模型根据当前任务主动决定读哪一页。这种能力正是工程语境里常说的渐进式信息展开,也叫progressive disclosure。合并发生在这个节点,属于顺水推舟而非推倒重来。
技能的本质是一套带说明书的工具包
每个技能其实就是一个文件夹,里面必须有个叫SKILL.md的主文件,其他文件都是可选配件。
这个SKILL.md分成两部分:上面是YAML格式的“使用说明贴纸”,用三个短横线包起来;下面是Markdown写的“操作手册”。
YAML里最关键的两个字段是name和description,name决定了斜杠命令叫什么,比如写name: explain-code,以后就能敲/explain-code;description告诉AI这个技能能干啥,比如“用比喻和ASCII图解释代码原理”,这样当有人问“这段函数怎么工作的”时,AI就会自动想起这个技能。如果没写name,就默认用文件夹名字当命令名;如果没写description,就拿手册第一段当介绍。
合并后的直觉变化:一条斜杠,背后是一整个技能系统
合并之后,调用方式彻底统一。任何技能都可以通过斜杠触发,任何原有Slash命令都可以被当作技能执行。操作手感依旧轻快,背后能力明显变厚。使用者敲下“/”,模型理解到的是“调用一个具备上下文加载能力的技能单元”,而不是单一命令。
这一点对模型本身也非常友好。工具种类减少,判断路径变短,调用决策更加直接。系统层面少了一种工具类型,认知路径更直线,执行稳定性自然上升。
技能默认既能让AI自动调用,也能让用户手动敲斜杠命令启动。
但有些活儿不能随便自动干,比如部署上线或者发Slack消息,万一AI看代码写得漂亮就自作主张点发布按钮就糟了。这时候就在YAML里加一行disable-model-invocation: true,相当于给技能贴个“禁止自动使用”封条,AI再聪明也不敢乱动,只能等人敲命令才干活。
反过来,有些技能是纯知识型的,比如解释某个老系统的架构,用户没必要手动调用,但AI需要知道这些背景知识。那就设user-invocable: false,这样斜杠菜单里看不到它,但AI聊天时能悄悄参考。这两种设置组合起来,就能精确控制技能的使用权限。
技能的真正强点:动态上下文与多层文件读取
Skills的核心价值集中在“动态”。技能在执行时可以扫描当前项目文件,根据相关性加载必要内容,而非一次性塞进所有资料。SKILL.MD内部可以引用其他文件,这些文件又可以继续引用更多文件,形成层级结构。
这种结构像知识树而不是备忘录。模型读取路径随任务变化而变化,信息密度随需求变化而变化。复杂项目环境中,这种机制让上下文始终保持“刚刚好”的状态,信息既充足又不拥挤。
子智能体登场:技能真正开始“分身作业”,任务隔离执行
技能系统与子智能体天然匹配。技能执行时可以指定使用某个子智能体,相当于派出一个专门小分队执行任务。主上下文保持干净,子上下文专心干活,结果再带回来。
这种模式尤其适合搜索、研究、分析类技能。子智能体加载大量资料,主智能体只接收整理后的结果,认知压力明显下降。
复杂任务经常需要干净的环境,比如研究代码库时不想被当前对话的历史干扰。这时候在YAML里加context: fork,技能就会在一个全新的子代理里运行,就像给AI开了个独立办公室。还能指定用哪种类型的子代理,比如agent: Explore,这个Explore代理自带只读工具,专门用来翻代码不搞破坏。
举个例子,做个Research技能,内容是“彻底研究$ARGUMENTS提到的技术”,配上Explore代理,AI就会在隔离环境里专注查资料,最后把摘要送回主对话。这种设计既保护了主上下文不被污染,又让重型任务有专属资源。
记忆型技能示例:并行工作不打扰主线
记忆类技能可以使用fork模式的上下文。子智能体复制当前上下文,在独立空间执行总结、归档、写文件等操作。主上下文保持当前任务节奏,工具执行过程不产生噪音。
这种并行能力非常适合长期会话管理。历史总结自动完成,主思路始终连贯,体验非常接近“后台自动保存”。
动态参数和实时数据让技能活起来
技能支持传参数,比如做个/fix-issue 123的命令,123就是参数。在SKILL.md里用$ARGUMENTS占位符接收,AI收到的就是“按规范修复GitHub第123号问题”。如果忘了写$ARGUMENTS,系统会自动在手册末尾加一行ARGUMENTS: 123,确保参数不丢。
更厉害的是能插入实时数据,用感叹号加命令的形式,比如!gh pr diff,这行会在AI看到内容前先执行,把真实PR差异贴进手册。
这样技能处理的就不是静态文字,而是活生生的最新代码变动,相当于给AI装了实时数据接口。
技能还能生成可视化报告
技能目录里可以放任意脚本,比如Python或Shell,AI能直接调用它们干活。典型场景是生成交互式HTML报告,比如做个codebase-visualizer技能,里面带个visualize.py脚本。
这个脚本扫描当前目录,统计文件数量、类型分布,画出柱状图,再生成可折叠的树形结构,最后输出codebase-map.html并自动打开浏览器。AI只负责发号施令,具体绘图计算全交给脚本,这样既能处理大数据,又能产出图形化结果。这种模式适合做依赖图、测试覆盖率、API文档等各种可视化需求。
技能存放位置决定谁能看到它
技能放不同地方,生效范围就不同。
放~/.claude/skills/是个人全局技能,所有项目都能用;
放项目根目录的.claude/skills/就只对当前项目有效;
企业管理员还能推全公司技能;
插件作者则把技能打包进插件目录。
特别贴心的是,在monorepo项目里,如果正在编辑packages/frontend/里的文件,AI还会自动去packages/frontend/.claude/skills/找专属技能,这样每个子模块都能有自己的工具集,互不干扰。
工具权限和上下文预算的精细控制
技能可以限制能用的工具,比如allowed-tools: [file-read, shell]就只允许读文件和执行命令,禁止写文件或联网,相当于给技能戴了个安全手套。另外所有技能的描述文本会预加载到AI上下文里,方便它判断该用哪个。
但如果技能太多,描述总长度超过15000字符,多余的部分会被砍掉。这时候可以调环境变量SLASH_COMMAND_TOOL_CHAR_BUDGET加大预算,或者精简description,确保关键技能不被挤掉。
老命令无缝升级,新功能尽情扩展
这次合并完全向后兼容,老斜杠命令文件放~/.claude/commands/照样跑,但新功能建议直接用技能。因为技能支持更多扩展点,比如挂钩生命周期的hooks、指定专用模型的model字段、甚至跨会话传递ID的${CLAUDE_SESSION_ID}变量。
未来所有新特性都会优先在技能上实现,斜杠命令本质上成了技能的简化版入口。这种设计既照顾了老用户习惯,又引导大家走向更强大的技能体系。
从架构角度看:技能成为Claude Code的能力核心
这一轮合并让技能系统站到核心位置。Slash Commands不再是独立抽象,而是技能的一种触发形式。所有扩展能力围绕技能展开,所有新特性优先进入技能体系。
从工程演化角度看,这是平台稳定后的必经阶段。抽象层减少,能力集中,生态扩展路径更加清晰。
对使用者的实际影响:操作更少,能力更大
日常使用层面,几乎感觉不到“改变”。斜杠依旧顺手,命令依旧好记。实际获得的,是更强的上下文处理能力、更自然的复杂任务拆分方式、更安静的主对话空间。
这类变化往往在一段时间后才显出威力。任务变复杂时,系统开始显得从容,使用者也跟着从容。
对Claude本身的影响:判断更简单,执行更稳定
工具合并后,Claude内部判断路径减少。调用哪个能力、加载哪些内容、是否派出子智能体,都围绕技能这一核心对象展开。决策树变短,误判概率自然下降。
这种变化属于“系统级优化”,通常在大规模使用场景下效果最明显。
技能是所有新能力的入口
官方建议已经非常明确:未来需要自定义Slash Command的场景,直接做成Skill。技能将承载更多扩展接口,包括子智能体协作、上下文策略、文件系统交互等。
这意味着技能并非当前形态的终点,而是能力生长的起点。系统已经为后续演进留出足够空间。
为什么说这是通向AGI的重要一步
真正的通用智能不是把所有知识塞进一个大脑,而是知道什么时候该用哪套方法论。
Claude Code的技能系统正是模拟这种能力:通过description匹配场景,通过frontmatter控制权限,通过subagent隔离任务,通过supporting files扩展知识边界。
这四个部分组合在一起,形成一种清晰的模式:识别任务 → 选择能力 → 隔离执行 → 回收结果。
这一模式与人类使用计算机时的行为高度同构。写代码时调用调试器、文档写作时翻规范、决策分析时跑模型模拟,本质上都属于外部能力调用,而非大脑内推理。这正是“像人类一样使用计算机”。
类似特斯拉自动驾驶替代驾驶员,智能体替代程序员编程,这是每个行业的AGI到来的时代! 这套外部架构的价值,甚至可能超过模型本身的微小进步。
AGI定义其实不需要遵循宝塔式结构定义,宝塔尖头必须有非常通用广泛智能,然后进入各个领域做成专家,这种定义是遵循人的模式,强调“意识或自主性从哪里来”,其实每个行业自动化无人值守了,这就是全面AGI。