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