skill 是怎么真正关联执行

skill 是怎么真正关联执行
Skill 的“真正关联执行”不是靠模型自己去读某个目录也不是 skill自动运行代码而是靠harness 的技能注册表 Skill 工具调用 指令注入完成的。执行链路可以理解成用户输入 /skill-name或模型决定调用 Skill 工具↓harness 根据 skill 名称查注册表↓找到对应 skill 目录或内置 skill↓读取 skill 的说明文件↓把 skill 指令注入当前上下文↓模型按 skill 指令继续执行↓如果 skill 里要求调用工具再由模型发起 Bash / Read / Agent / Workflow等工具调用↓harness 负责真正执行工具关键点1Skill本身通常不是程序而是一段工作流提示词比如一个 skill 目录里会有类似这样的说明Base directory for this skill: /Users/.../.claude/skills/omc-reference# OMC ReferenceUse this built-in reference when you need detailed OMC catalog information...这类内容被加载后本质上是告诉模型“接下来你要按这个模式工作、这些工具可用、这些步骤要遵守。”所以 skill 更像是可按需加载的专业操作手册。关键点 2关联靠 skill 名称比如我刚才调用的是{skill: omc-reference,args: OMC 的执行原理是什么}harness 收到后会查当前可用 skill 列表中是否存在omc-reference。存在的话就加载对应 skill。你能看到系统返回了Launching skill: omc-referenceBase directory for this skill: /Users/jiangjiannfei/.claude/skills/omc-reference这说明 omc-reference 这个名称已经被注册到了 skill 系统里并映射到了这个目录。关键点 3真正执行动作的不是 skill而是工具系统Skill 加载后不会自动改文件、跑命令、开 agent。它只是改变“接下来模型应该怎么做”。真正执行还是要通过工具调用比如Skill 指令说需要搜索代码↓模型调用 Read / Bash / Agent↓harness 执行真实文件读取、shell 命令或子 agent所以Skill 工作流说明 / 专业提示词Tool 真正执行能力Harness 负责加载 skill、执行 tool、管理权限Model 理解 skill并决定下一步调用什么工具关键点 4slash command 和 Skill 工具有区别如果用户直接输入/oh-my-claudecode:omc-reference或者/omc-referenceharness 会优先按 slash command / skill 名称处理。如果用户没有输入 slash command但描述里命中了某些触发词比如autopilot、ralph、ulw那通常是模型根据 CLAUDE.md 里的规则决定是否调用Skill({ skill: autopilot })也就是说slash commandharness 更直接地识别普通关键词模型根据规则判断后调用 Skill关键点 5Skill 可以再触发 Agent / Workflow有些 skill 只是参考文档比如 omc-reference。有些 skill 是工作流入口比如autopilotralphultraworkteamultraqadeep-research这些 skill 加载后可能会要求模型进一步调用AgentWorkflowTaskCreate / TaskUpdatestate_read / state_writeBashRead / Edit / Write所以复杂 skill 的执行关系是Skill 加载工作流规则↓模型按规则拆任务↓调用 Agent / Workflow / 工具↓harness 执行↓结果回填↓模型继续推进一句话总结Skill 的关联执行不是“skill 文件自己运行”而是skill 名称 → harness 查注册表 → 加载 skill 指令 → 注入模型上下文 →模型按指令调用工具 → harness 执行工具所以 skill 是“行为模式和流程的绑定”工具才是“实际执行能力”。