Technical Guide
14. Skills:过程知识如何沉淀给 Agent
看懂 OpenClaw 的 skills:它解决的是“遇到某类任务应该怎么做”,不是单纯增加一个工具。
这篇解决什么问题
OpenClaw README 里把 skills 放在 onboarding 和工具能力旁边。
Skills 不是工具本身,而是把某类任务的做法沉淀下来。
Skill 解决什么
Tool 解决“能做什么”。
Skill 解决“应该怎么做”。
比如:
read/write/exec 是工具
写公众号文章、维护知识库、做日报,是 skill 流程
相关目录
skills/
src/agents/sessions/
src/config/types.skills.ts
src/config/config.skills-entries-config.test.ts
官方架构文档也提到,src/agents/sessions/ 涉及 skills、prompts、resource discovery。
为什么 Skills 要和 sessions 相关
因为 Agent 运行时要知道当前 session 能看到哪些 skills、哪些 prompts、哪些资源。
Skill 不是静态文件列表,而是 runtime context 的一部分。
Skill 的使用方式
常见方式:
onboarding 时安装/启用 bundled skills
workspace 中提供项目技能
plugin/resource package 提供 skills
Agent 根据任务加载相关 skill
具体加载方式会随版本变化,但原则不变:Skill 是过程知识,不是一次性 prompt。
好 Skill 应该写什么
什么时候使用
什么时候不要使用
执行步骤
关键文件和命令
常见坑
验证方式
失败时怎么处理
如果只写“请认真完成任务”,那不是 Skill。
Skills 和 Plugins 的区别
Skill 更像可读的工作流程。
Plugin 更像可执行扩展和资源包。
一个 plugin 可以带 skills、prompts、themes、extensions;一个 skill 本身不一定包含代码。
实践:Skill 质量快检
从当前源码的 skills/ 任选一个已有 Skill,用 3—5 分钟只读检查它是否说明:何时使用、执行步骤、关键文件或命令、验证方式、失败处理。不要改写这个 Skill。
完成标准
- 找到一个真实 Skill 文件;
- 至少标出“使用时机、步骤、验证”三项;
- 能指出它依赖的工具与它提供的过程知识有何区别。
多走一步
找出该 Skill 缺少的一项信息,写成一条改进建议,但不直接修改源码。
下一篇看什么
下一篇看 Plugins。