OpenCode AI编程助手如何添加Skills,优化项目!

关注我的公众号:【编程朝花夕拾】,可获取首发内容。

01 引言

AI时代Agent的出现,为AI规定了特定的角色,根据推理、理解完成对话内容。MCP则是为AI或者Agent提供了外部资源的一切可能。比如,你让Agent为你播报近7天的天气,它无法完成,但是MCP可以,Agent结合MCP为我们带来无限的可能。原本以为到这里已经结束了,但是随着Skills的横空出世,更是推动了AI Agent快速落地。

Skills的功能和MCP很类似但是却又不同,这一节我们将通过OpenCode了解最近爆火的Skills

02 Skills

2.1 简介

Skills是智能体的技能,是一种轻量级、开放的格式,用于通过专业知识和工作流程扩展人工智能智能体的能力。而其本质上就是教 AI 按固定流程做事的操作说明书,一旦写好,就能像函数一样反复调用。

我们可以把 Skills 看成把什么样的事情应该怎么去做。将Skills封装成一个可复用、可自动触发的能力模块,根据实际的场景选择不同的Skills更加专业的完成用户下发的命令。可以简单的理解为Skills就是一个个独立且可复用的工具包

Skills 以 Markdown 文件形式存在,不执行功能,而是通过按需、渐进式加载,实现高效且可复用的经验传递。

sh 复制代码
my-skill/
├── SKILL.md      # 必需:指令 + 元数据
├── scripts/      # 可选:可执行代码
├── references/   # 可选:文档资料
└── assets/       # 可选:模板、资源

地址:agentskills.io/home

2.2 Skills核心结构

Skills 的核心就是:一堆文件夹 + 一个 SKILL.md 文件。

其中SKILL.md最为重要,通过定义角色,场景等,让Agent直到什么时候调用什么东西。Skill.md基本模版:

markdown 复制代码
---
name: 你的Skill名称
description: Skill的相关描述以及什么时候使用
---

## 说明
具体描述如何使用

## 案例
- Example usage 1
- Example usage 2

其他文件夹可以规范AI的操作或者调用的脚本。scripts放置一些可执行的脚本以及自动化的逻辑,references存放一些说明文档或者参考资料,assets主要用来存放模板文件以及静态资源。

有了这些文件夹资料以及md的说明,让Skills更加具体。

2.3 Skills的配置

Skills的配置可以分为局部配置和全局配置。我们以OpenCode为例:

还有一种全局配置:~/.opencode/skills/<name>/SKILL.md

官网地址:opencode.ai/docs/zh-cn/...

03 自定义Skills

Skills的编写很简单,简单说就是提示词。但是如何写好,这个就另说了。我们简单定义一个打印的Skills,我们按照模板编写。

markdown 复制代码
---
name: print-test
description: skill 打印测试
---

## 角色定义

你是一个打印测试工具包

## 输出

当用户测试打印的时候,统一打印出:这是一个skill的打印测试

3.1 局部配置

配置位置:.opencode/skills/print-test/SKILL.md

验证方式可以通过斜杠或者直接问AI都可以。

斜杠

输入斜杠,就会提示当前的技能。

直接问

全局配置不在演示。

3.2 测试

我们需要测试自己定义的Skills是否有效。我们输入打印测试,看看回复是否是调用自定义Skills.

我们可以看到调用自定义的Skills.

04 优化项目

我们之前写了一个下载的页面,页面比较简单:

我们通过专业的Skills优化一下页面。使用ui-ux-pro-max优化。

Skills地址:github.com/nextlevelbu...

下载下来,将对应的包放在Skills即可,注意包的结构,本次使用全局配置。

4.1 全局配置

配置位置:~/.config/opencode/skills/<name>/SKILL.md

这里需要注意src的包也要放进来,因为skills下的datascripts路径需要。

src位置:

4.2 检查

使用/检查

4.3 优化

这里直接让AI优化,看下会变成什么。

我们发现已经调用ui-ux-pro-max了。

最后总结了优化的效果:

我们直接看看结果:

打完收工!

相关推荐
_Aaron___18 小时前
Spring AI 接入 MCP:工具调用不是“能调就行”,关键是边界治理
java·人工智能·spring
我是一颗柠檬18 小时前
【MySQL全面教学】MySQL性能优化实战Day13(2026年)
数据库·后端·sql·mysql·性能优化·database
向量引擎18 小时前
从零起步,如何打造专属向量引擎 API 中转工作流?
java·服务器·前端
LJianK118 小时前
普通接口,用到getter和setter方法的地方,jackson转换
java
辰海Coding18 小时前
MiniSpring框架学习-分解 Dispatcher
java·学习·spring·架构
AI人工智能+电脑小能手18 小时前
【大白话说Java面试题 第84题】【Mysql篇】第14题:为什么用 InnoDB 存储引擎的表建议用整型的自增主键?
java·开发语言·数据库·mysql·面试
小江的记录本18 小时前
【JVM虚拟机】JVM调优:常用JVM参数、调优核心指标、OOM排查、GC日志分析、Arthas工具使用(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
程序员cxuan18 小时前
我花了两天时间,终于把 Codex 额度掉太快的问题整明白了!!
人工智能·后端·程序员
IT_陈寒18 小时前
Vue这个动态响应坑把我整不会了
前端·人工智能·后端
金銀銅鐵18 小时前
[Java] 用图形化界面演示 iadd, isub, iconst_<i> 指令的效果
java·后端·python