1.SKills机制概述OpenClaw中的Skills是一种基于提示驱动的能力扩展机制,其本质并非传统意义上的可执行插件,而是通过结构化描述文件(SKILL.md)对大模型行为进行约束与引导。Skills 的核心作用在于:为Agent提供“何时使用某种能力”以及“如何调用底层工具”的决策依据,从而实现复杂任务的模块化拆解与自动化执行。从系统架构角度看,OpenClaw的能力体系可分为三层:● Tool层:提供底层可执行能力(如命令执行、网页访问等)● Skill层:定义任务流程与工具使用策略● Plugin层:对工具与技能进行封装与分发2.Skills工作机制Skills 的执行依赖于大模型推理过程,其核心流程如下:用户输入请求(Prompt)OpenClaw将所有已加载Skills的描述信息(SKILL.md)注入系统提示(System Prompt)大模型基于:用户请求和Skills描述(description + instructions)来进行推理决策 判断是否需要调用某个Skill若需要,则按照Skill中定义的流程调用对应ToolTool返回结果后,由模型整合生成最终输出因此,Skills的触发机制本质上是“基于语义匹配的提示选择”,而非显式函数调用。由于Skills描述会被注入上下文,每次推理都需要携带相关信息,因此在 Skills 数量较多时,会显著增加上下文长度与 Token 消耗。3.自定义Skills的实现方式3.1 基本结构OpenClaw会从这几个地方加载skill:● bundled skills:OpenClaw自带(随着npm安装包一起提供的)●~/.openclaw/skills:本机共享skill●/skills:当前workspace专属skill优先级是:workspace/skills ~/.openclaw/skills bundled skills也就是说,你自己写的 skill,最常见就是放在当前workspace的skills/目录下。.openclaw\workspace\skills\ └── my-skill\ ├── SKILL.md ├── scripts/ # 脚本 ├── references/ # 说明文档、schema、流程 └── assets/ # 模板、素材、