OpenClaw 的【skill】从入门到精通

什么是skill

Skill 是给 AI 提供指令、工具定义和相关资源的一个完整目录 。开发Skill不一定需要你写很多代码,关键在于写出清晰有效的 Markdown 格式指令

核心设计原则

单一职责原则一个Skill专注解决一个问题。设计高度聚焦的"PDF解析"技能,而不是一个庞大又不好维护的"万能文档处理"技能。

渐进式披露:分三层设计你的Skill。第一层在YAML前置信息中用精简语言说功能。第二层在Markdown正文匹配任务时提供完整流程。第三层将参考文档、长文本等放在链接文件中按需加载,高效利用AI的上下文资源。

可组合性与可移植性:避免假设你的Skill是唯一运行的,让它能与其他Skill和谐共存。同时,按规范开发的Skill可在OpenClaw、Claude Code等不同平台上通用

skill 的标准格式

text 复制代码
my-awesome-skill/          # 技能根目录(命名遵循小写字母、数字、连字符)
├── SKILL.md               # 【必需】核心文件,即技能说明书
├── scripts/               # 【可选】存放Python、Node.js、Bash等可执行脚本,是技能干活的核心逻辑
├── references/            # 【可选】存放参考文档、API手册等补充知识,AI可按需加载
├── templates/或者assets   # 【可选】存放模板、图片、配置等静态资源
└── (其他文件)              # 如 plugin.json、package.json 等,取决于开发语言

SKILL.md 文件的格式

由两部分组成:

markdown 复制代码
---
# YAML Frontmatter(元数据区,AI快速辨识技能的"身份证")
name: my-skill-name          			# 技能唯一标识
description: 简洁描述技能功能  		 # 供AI理解何时使用,
version: 1.0.0              					# 语义化版本号
author: your-name           				# 作者信息
user-invocable: true					# 是否可被用户直接调用(默认 true)
metadata:
     openclaw:
     emoji: "📝"							# 展示图标
     os:										# 操作系统支持
         - darwin
     	- linux
     	- win32
     requires:								
         anyBins: []								# 命令依赖
	        - python3	
	     env:									# 环境变量依赖
        		- API_KEY
     install:								     # 工具依赖
        - id: uv-pypdf
	        kind: uv							# 安装方式(如pip,uv,pnpm,brew,apt)
	        package: pypdf				# 依赖库名称
	        label: Install pypdf 

---

# Markdown 正文(核心的"行动指南"区)
这里是提供给AI的详细工作流程、使用说明和最佳实践。告诉AI在什么情况下、按什么步骤、调用哪些Tools来完成目标。

<scenarios>
适用场景说明
</scenarios>

<input>
输入参数要求
</input>

<output>
输出参数要求
<output>

<tools>
工具列表及选择规则
</tools>

<process>
执行流程
</process>

<error>
错误处理
</error>

</success_criteria>
成功标识
</success_criteria>

skill 编写技巧

  1. 描述(description)要「触发词 + 用途」
  2. 指令正文「结构清晰:触发 → 步骤 → 格式 → 示例」
  3. 依赖声明(requires)要写, 如果要 git、python3、API Key,一定要写在 requires 里,Agent 会自动检查并提示用户安装 / 配置
  4. 多用约束词(减少幻觉),如:必须、只能、不要、禁止、严格按照、输出格式固定为。
  5. 一个 Skill 只做一件事;复杂任务拆成多个 Skill,再用「工作流 Skill」串联
  6. 使用xml 格式对md文件中的内容分块
  7. 使用模板约束输入输出字段,添加工具调用记录元数据
  8. 添加技能完成的成功标识,能用工具/脚本进行验证的要验证,不要使用模糊的说明
  9. 不要在技能中解释/说明知识,大模型比你聪明
  10. 能用工具/脚本进行验证的要验证,不要使用模糊的

skill 调用与测试

  1. 本地测试:把 Skill 放到项目 ~/.openclaw/skills,直接对话触发
  2. 查看加载:openclaw skill list 看是否加载成功
  3. 日志排查:~/.openclaw/logs/ 看技能加载 / 调用错误
  4. 迭代优化:效果不好就改 description 和步骤,纯文本修改,不用重启

skill 的运行流程

触发-解析-执行-回调-结果整合

  • 这一流程与 AgentSkills 的"渐进式披露三层结构"一致:先元数据,再正文,再资源;也与 OpenClaw 的"加载/过滤/注入/执行/回填"相吻合。

  • 多来源与覆盖优先级:bundled → ~/.openclaw/skills → /skills,同名 skill 可被更高优先级覆盖。

  • 技能加载优先级(同名技能冲突时),当同一技能名出现在多个位置时,高优先级会覆盖低优先级:

    优先级 位置
    最高 /skills
    /.agents/skills
    ~/.agents/skills
    ~/.openclaw/skills
    bundled skills(内置)
    最低 skills.load.extraDirs
相关推荐
鬼手点金1 天前
机器学习、深度学习、强化学习、神经网络、自注意力机制
人工智能·深度学习·神经网络·机器学习·skill·vibecoding·opencode
AC赳赳老秦1 天前
OpenClaw 采集效率优化:并发控制、增量采集策略与服务器友好型设计
大数据·运维·服务器·人工智能·信息可视化·deepseek·openclaw
七夜zippoe1 天前
OpenClaw 错误处理实战:优雅降级、重试机制与熔断器设计
错误处理·重试机制·openclaw·优雅降级·熔断器
小七-七牛开发者2 天前
Agent 小知识|长任务不重来:Agent 状态保存的工程设计
ai·大模型·agent·claude·token·工作流·skill·claudecode·ai coding
菩提小狗2 天前
AI每日资讯|AI落地|最新情报|skill精选|2026年07月28日(11案例+10爆款Skill)
大模型·agent·skill·ai资讯·ai落地
snowfoootball2 天前
Claude Code自用skill/mcp分享——我的AI开发工作流
skill·mcp
撞强3 天前
OpenClaw 自定义Model Provider 的一键配置脚本
模型·maas·openclaw·小龙虾
鸿翼Macrowing4 天前
**从一份 PDF 到一次 API 调用:企业 AI 能力的“最后一公里“**
人工智能·pdf·agent·数据治理·skill
Beginner x_u4 天前
Codex Rules 与 Skills:项目级和全局级配置一览
ai·codex·rules·skill
小小工匠4 天前
Skill - 从自然语言到可发布架构图:fireworks-tech-graph 的工程化拆解
架构图·skill