Tools 工具组
SkillTool:执行 Skills
这个工具做什么
SkillTool 负责执行 Claude Code 里的 Skills。
用户输入 /skill-name,或者模型认为某个 skill 应该被调用时,最后落到的往往就是这个工具。
关键源码
tools/SkillTool/SkillTool.ts 里最重要的不是 UI,而是“把 skill 当成一个 prompt command 执行”:
import { builtInCommandNames, findCommand, getCommands } from 'src/commands.js'
import { runAgent } from '../AgentTool/runAgent.js'
它还专门实现了 forked skill 执行:
async function executeForkedSkill(
command: Command & { type: 'prompt' },
...
) { ... }
调用链
加载图表中...
实现重点
Claude Code 的 skill 不是“文本别名”,而是一种真正的可执行能力包。
SkillTool 把它们接进了工具系统,所以 skill 可以:
- 带参数
- 带模型覆盖
- 在独立上下文里运行
它和相邻工具的关系
AgentTool:skill 复杂时会转成子 Agent 执行/plugin、/skills:负责管理 skill 来源,真正执行还是靠SkillTool