opencode5 - 打造你的专属打工人:Skills 技能实战

本节目标

在 opencode3 中其实就提到过会用到 skill 技能。回忆一下当时是怎么说的?【时空门

  • 了解 skill 是什么东东
  • 推荐 skill 下载的网站
  • 自己手动创建一个 skill

skill介绍

skill的前世今生

2025 年 Anthropic 最先提出了 Agents Skills。最早只是为了提高 claude 在某些特定任务上的表现。后来发现这套设计非常好用。2025 年 12 月 18 日正式把 Agents Skill 发布为开放标准。

这意味着 Agent Skills 已经成为 AI 智能体领域的一个通用设计模式了。我这里简称为 skill 。

什么是 skill?

Skill 本质上是一个以 SKILL.md 命名的 Markdown 文件。你可以把它理解为"说明书+工具箱"。我们来一个更具象化的描述。想象你有一个很聪明的机器人助手(这就是"Agent")。它本来只会一些基础动作,比如"移动""抓取""说话"。但你想让它帮你做更复杂的事,比如"泡一杯茶"。"泡茶"这个任务需要好几个步骤:拿水壶 → 烧水 → 取茶叶 → 放茶叶 → 倒水 → 等待。如果你把这一整套步骤提前教给机器人,并给它起个名字叫"泡茶技能",那么以后你只要说"泡茶",它就会自动按顺序做完所有事。Agent Skills 就是这些预装好的、可重复使用的"完整能力包"。

Agent Skills = 让智能体(Agent)学会做一件具体事情的"说明书+工具箱",用的时候直接调用,不用每次重新教。

skill 长什么样子

perl 复制代码
my-skill/               # 技能文件夹(名称必须与 frontmatter 中的 name 一致)
├── SKILL.md            # 核心文件(必需):包含元数据和核心指令
├── scripts/            # 可选:存放可执行脚本(如 Python、Bash、JS)
├── references/         # 可选:存放详细参考文档(按需加载,节省上下文)
└── assets/             # 可选:存放模板、图片等资源文件
  • 核心文件:SKILL.md

    它由 YAML 前置元数据 (Frontmatter) 和 Markdown 正文 两部分组成。官网截图:


    0. YAML 前置元数据 (Frontmatter):给 AI 看的"身份证" 这是文件顶部的配置信息,用 --- 包裹,主要告诉 AI "你是谁"以及"你能做什么"。

    name (必填): 技能的唯一标识符。必须是小写字母、数字和连字符的组合(例如 code-review)。

    description (必填): 一个清晰、简洁的描述,说明技能的功能和适用场景。AI 根据这段描述来决定何时激活该技能。例如:"当用户要求审查代码、创建 Pull Request 或需要遵循团队代码规范时使用。"

    其他可选字段: 你可以添加 license (许可证)、compatibility (兼容性要求) 或 metadata (额外元数据) 等信息。
    2. Markdown 正文:给 AI 读的"操作指南" 这部分是标准的 Markdown 格式文本,是 AI 加载 Skill 后获得的具体行动指令。为了清晰易读,官方规范建议可以包含以下章节:

    • 技能标题 (#): 清晰地说明技能的主要目标。
    • 何时使用 (## When to Use): 列出应激活此技能的具体场景。
    • 操作步骤 (## Instructions / Steps): 详细、分步地描述执行流程,是文档的核心。
    • 示例 (## Examples): 提供代码片段或对话示例,帮助 AI 理解预期行为。
    • 参考资源 (## Resources): 列出相关的文档链接或工具。
  • 可选组件:扩展 Skill 能力的"工具箱"

    SKILL.md 文件本身不足以完成任务时,可以借助文件夹下的其他组件:
    0. scripts/: 存放可执行脚本。SKILL.md 中的指令可以指导 AI 去调用这些脚本来完成特定操作,比如数据格式转换、调用外部 API 等。

    1. references/: 存放详细文档。AI 可以在需要时按需加载这些文件,避免一次性加载过多内容导致"记不住"或"理解偏差"。
    2. assets/: 存放模板文件(如项目脚手架)、图片等静态资源。

    官网截图 - references

    官网截图 - scripts

获得 skill 的渠道

  • Anthropic 官方技能

    github.com/anthropics/...

    你可以理解这些技能是必装的。有了这些技能,我们的opencode就能读取诸如excel、word、pdf文件的内容了。

  • skill社区网站

    skillsmp.com/zh

    现在已经收集了80W+的技能了。我只能用恐怖来形容。

  • skill技能市场

    skillsllm.com/

其实还有好多渠道,但是基本差不多了。有现成的就用现成的,如果没有就自己动手"丰衣足食"。

安装 skill

这里就拿 Anthropic 这几个必装的 skill 为例。把它们全部安装到 opencode 中。

手动安装

  • 从 GitHub 上下载所有技能

    下载地址:github.com/anthropics/...

  • 下载zip

  • 解压放入 opencode 目录

    还记得在 《opencode2-初步体验》中说的 opencode.json 所在的目录吗?

    C:\Users\abc.config\opencode这里的abc用户根据实际情况有所不同。

    解压下载的这个 zip 文件,把其中的 skills 目录拷贝到 opencode 中即可。

  • 验证安装的 skills

    记得,如果你是开着 opencode 的话,需要重新启动一下 opencode。然后你问它有哪些技能就能看到技能了。

自动安装

  • 直接让 opencode 自动安装

    ruby 复制代码
    你帮我安装https://github.com/anthropics/skills/tree/main/skills这个链接下的技能
  • 删除多余的临时文件夹

    复制代码
    你似乎忘记把tmp-anthropic-skills给删除了
  • 记得要重启一下 opencode

用一下安装的 skill

安装了 Anthropic 的技能后,ppt、pdf、docx、xlsx 这些基本办公文件,就都能读取了。

假设有个pdf 文件,我们可以把它当成知识库似的进行查询。尤其是接口类的文档,就可以直接问它某个接口的请求和返回信息相关内容。甚至有报错,直接问这个错误一般是什么参数传错导致的。总之,有了读取 pdf 的 skill 就能操作 pdf 文件。有了 docx 技能就能操作 word。那么你甚至可以把 pdf 转换为 word。

bash 复制代码
# 提示词
把桌面上的公众号支付.pdf转换为公众号支付.docx文件

我看了下转换的文件,格式有点乱。好在这里大模型能进行排版。不过这里仅仅演示功能即可。其实能读取文件本身就能做很多事情。比如:统计、分析、咨询、转换。发挥想象就可以了。

创建一个自己的skill

通过前面的内容介绍,我们已经知道 skill 核心就是 MD 文档,通过提示词告诉大模型在什么情况下做什么事情。那么我们来一个自定义的技能。我这里采用纯手动的方式创建。使用场景是:这个技能可以帮助你快速把口语化、零散的草稿改写成正式、得体、适合不同场景的商务邮件。

创建技能目录和文件

在我们安装skill的那个skills目录中创建一个email-polisher目录。在这个新创建的email-polisher目录下创建一个SKILL.md文件。

SKILL.md内容

yaml 复制代码
---
name: email-polisher
description: 将用户提供的草稿或要点改写成专业、得体的商务邮件。支持多种语气(正式、友好、催促、致歉等)。当用户说"润色邮件"、"帮我写封邮件"、"改一下这封邮件"时触发。
---
​
# 邮件润色与优化器
​
你是一位经验丰富的商务沟通专家,擅长将粗糙的草稿或零散要点,转化为清晰、得体、目的明确的邮件。
​
## 核心工作流程
1. **接收原始内容**:获取用户提供的草稿、关键词、甚至只是口头描述的场景。
2. **识别关键要素**:
   - 收件人身份(上级、同事、客户、供应商)
   - 邮件目的(请求、通知、确认、催促、道歉、感谢)
   - 期望的语气(正式、半正式、友好、紧急)
3. **优化结构**:标准商务邮件结构:
   - **主题**:简洁明了,包含核心信息。
   - **称呼**:根据收件人调整。
   - **开头**:简要背景或致谢。
   - **正文**:清晰陈述事项,分点列出(如有多个请求或信息)。
   - **结尾**:总结或行动呼吁(如"期待您的回复")。
   - **签名**:礼貌结束语 + 发件人姓名。
4. **改进表达**:
   - 修正语法、拼写错误。
   - 将口语改为书面语(如"你帮我弄一下那个" → "麻烦您协助处理一下......")。
   - 调整语气(避免过于生硬或过于随意)。
5. **输出**:提供润色后的完整邮件,并可附加简要说明(修改了哪些关键点)。
​
## 语气选择指南
| 用户关键词       | 推荐语气         | 典型调整                         |
|----------------|------------------|----------------------------------|
| "催"、"尽快"    | 礼貌但坚定       | 用"烦请"、"希望...前"而非"必须"    |
| "道歉"、"出错"   | 诚恳、负责       | 承认错误 + 补救措施 + 避免推卸责任 |
| "感谢"、"谢谢"   | 温暖、真诚       | 具体指出感谢对方做了什么          |
| "内部"、"同事"   | 半正式/友好      | 可用"我们"、"咱们",稍轻松        |
| "客户"、"外部"   | 正式、恭敬       | 用"您"、"贵方",更严谨            |
​
## 输出格式
```markdown
## 润色后的邮件
​
**主题**:[主题行]
​
[称呼],
​
[正文内容]
​
[结尾语],
[你的姓名/签名]
​
---
### 修改说明
- [简要说明做了哪些主要调整,如语气、结构、语法]

这里特别注意:

  • email-polisher这个目录名称和name定义的要一致
  • opencode是需要重启

使用示例

bash 复制代码
# 提示词
帮我写封邮件给客户张老师,催一下他们上周答应给的接口反馈。语气不要太硬。我们下周就要用这个接口进行开发了。草稿:张老师,接口文档啥时候给?急。

opencode创建一个技能

我这里让它给我创建一个格式化json的技能。

  • 提示词

    javascript 复制代码
    为我创建一个名为 json-formatter 的新技能。
    请先生成 SKILL.md 文件,它的核心功能是帮助用户格式化 JSON 数据。
    ​
    具体要求如下:
    1.  技能的触发场景:当用户提供一段未经格式化的 JSON 字符串,或要求"格式化JSON"、"美化JSON"、"压缩JSON"时自动调用。
    2.  工作流程:
        a. 接收用户提供的原始 JSON 字符串。
        b. 尝试解析 JSON 以验证其有效性。
        c. 如果 JSON 无效,需明确指出错误位置并给出修正建议。
        d. 如果 JSON 有效,则输出两种格式:美观的(缩进2空格)和压缩的(去除所有空格)。
    3.  输出格式:请将结果以清晰的 Markdown 代码块包裹,并分别标注"格式化结果"和"压缩结果"。

    这里的提示词你甚至可以让 opencode 告诉你应该怎么写

  • skill创建结果

  • 试用skill

    ruby 复制代码
    # 直接在 opencode 中输入如下示例 json
    {"name":"Alice","age":30,"isStudent":false,"courses":["Math","Physics"],"address":{"city":"New York","zip":10001,"coordinates":{"lat":40.7128,"lng":-74.0060}},"metadata":{"created":"2025-03-15T08:00:00Z","version":2}}

扩展说明

这个skill不单单对编程方面很有帮助,还能极大的简化日常办公。比如:

  • 可以把写日报的功能做成技能
  • 可以把画手绘流程图做成技能
  • 定期把工作汇报发给领导

总之,这里发挥你的想象。几乎没有不能完成的,这里我说下底层逻辑。因为我们有 Node.js,而 opencode 能调用任何本地的资源包括 Node.js 能力。而这个 Node.js 就牛了,它本身就是类似 Java 的 JVM 的东东。底层都是 C 语言写的,可以说能实现任何能力。而 skill 能调用 scripts 脚本下的东西,而这个 scripts 下可以是 Python 或者 Typescript 写的基于 Node.js 的东西。这就无敌了。比如我让 opencode 创建的日报的技能就是大量的 ts 脚本。

总结

  • Agent Skills 本质上是给 AI 准备的"说明书+工具箱",让大模型获得开箱即用且可直接复用的能力包。
  • 强烈建议把 Anthropic 官方提供的那几个处理办公文档(PDF、Word、Excel 等)的基础技能作为必装项。
  • 技能的获取和安装非常简单,既可以去广大的社区挖掘现成的宝藏,也可以直接给 opencode 喂一个 Github 地址让它全自动安装。
  • 创造自己的专属技能门槛很低,核心往往只需要编写一份条理清晰的 SKILL.md ,定义好触发词和工作流即可。
  • 由于能自由结合本地底层的各种脚本(如 Node.js、Python等),Skill 机制赋予了大模型无限的边界扩展能力。这使得 opencode 不仅仅是一个写代码的辅助工具,更真正蜕变成了一个能帮你排忧解难、处理各种复杂繁琐日常任务的"专属打工人"。
相关推荐
声光界2 小时前
《信号处理赋能智能体音感知》
人工智能·音频·信号处理·声学
精益数智工坊2 小时前
红牌作战的实施方法:详解红牌作战的实施方法与整改流程
人工智能
TG_yunshuguoji2 小时前
腾讯云代理商:腾讯云怎么一键部署Hermes?
人工智能·云计算·腾讯云·hermes agent·hermes
鹏程十八少2 小时前
7. 2026金三银四 Java 虚拟机面试终极版:32 道必考题 + 图解 + 源码精讲
后端·面试·前端框架
圣殿骑士-Khtangc2 小时前
解决MCP工具数量爆炸的终极方案:从混乱到有序的架构演进
人工智能
会编程的土豆2 小时前
Go语言零基础入门:从0到能写程序(超详细版)
开发语言·后端·golang
happyprince2 小时前
2026年04月24日全球AI前沿动态
人工智能
IRevers2 小时前
【Agent】基于Langchain的Agent数据库查询助手
数据库·人工智能·pytorch·sql·深度学习·langchain·agent
Godspeed Zhao2 小时前
具身智能中的传感器技术35——RGB-D相机0
人工智能·科技·数码相机·具身智能