
作者:小傅哥 博客:https://bugstack.cn
❝沉淀、分享、成长,让自己和他人都能有所收获!😜 ❞
大家好,我是技术UP主小傅哥。
skill 是什么?它像是一本技能书📚,把一阳指(mcp/py/shell/js)和狮吼功(prompt)合成了一整招。缩短了从用户把提示词发给AI客户端,进行分析,决策,再到 mcp 执行的过程,让诉求直达结果,token 减少了,幻觉减少了!

随着 LLM 大模型能力的不断提升,并与 RAG、MCP、Skill 的结合,使得 Agent 智能体与完整的计算机环境(Computer/Phone)交互成为可能。这个过程中,一方面不断产生新的技术方案,一方面又不断的优化设计。就像 Skill 的出现,它不是替代 MCP,而是更准确的使用 MCP 能力。
接下来,小傅哥就带着大家使用一波 skill,让小伙伴们可以在 opencode、trae.ai,以及基于 Spring AI 也可以使用上 skill 能力。
如图,演示了一段 skill 的编写案例;

所以,不是 skill、mcp 谁替代谁,而是 skill 对 mcp 进行增强,让 ai 执行时更加可靠。
首先,像是市面上的 claude code、opencode 这些软件,都是支持了 skill 技能书配置使用的,如果遇到一些软件暂时还不支持 skill,或者自己使用 spring ai、langchain4j、google adk 构建的智能体时候需要使用 skil 技能,则可以通过 skillport-mcp 来使用 skill 配置。
这里小傅哥分别演示下 opencode、trae.ai + mcp、spring ai + google adk + mcp 的方式使用 skill;

docs/skills 下面就是一个个技能书,battle-plan、pdf,每一个技能书下都必须有一个 SKILL.md 文件,作为入口。这个文件,可以描述 prompt 提示词,以及在提示词中明确给出可执行的脚本(py\shell\js)和可参考的文档。做好了安装脚本,方便小白伙伴使用fuzhengwei@fuzhengweideMacBook-Pro-2 skill % ls
battle-plan
fuzhengwei@fuzhengweideMacBook-Pro-2 skill % pwd
/Users/fuzhengwei/.opencode/skill
fuzhengwei@fuzhengweideMacBook-Pro-2 skill % cd battle-plan
fuzhengwei@fuzhengweideMacBook-Pro-2 battle-plan % ls
reference.md scripts SKILL.md
fuzhengwei@fuzhengweideMacBook-Pro-2 battle-plan %
进入到 opencode 配置文件下,如果是 linux 一般会放到 /root/.config/opencode/ 下。首先你要进入到这个 opencode 配置文件夹,之后在这个文件夹添加一个 skill,再之后就在 skill 下创建你的具体的技能书了。现在你可以把 xfg-dev-tech-agent-skills 案例工程的技能书,battle-plan 放到 skill 里。
fuzhengwei@fuzhengweideMacBook-Pro-2 ~ % cd /Users/fuzhengwei/.opencode
fuzhengwei@fuzhengweideMacBook-Pro-2 .opencode % ls
bin node_modules package.json
bun.lock opencode.json skill
fuzhengwei@fuzhengweideMacBook-Pro-2 .opencode % cat opencode.json
{
"permission": {
"skill": {
"pr-review": "allow",
"internal-*": "deny",
"experimental-*": "ask",
"*": "allow"
}
},
"$schema": "https://opencode.ai/config.json"
}% fuzhengwei@fuzhengweideMacBook-Pro-2 .opencode %
opencode.json 需要配置下 "*": "allow"
基于 skill 解答,电脑性能优化电脑性能优化就是 skill 工具名称的描述。工具:https://github.com/gotalab/skillport
目前还有不少 AI Agent 智能体,在底层设计上,还不支持直接使用 skill,也包括一些 ai 组件框架,也都没有 skill 的直接支持。那么这里要引入一个 skillport-mcp 服务来解决。借助 mcp 能力,使用 skill。
# 需要安装 python3
pip3 config set global.index-url http://mirrors.aliyun.com/pypi/simple/
pip3 install uvx
pip3 install skillport
# or: uv tool install skillport

{
"mcpServers": {
"skillport": {
"command": "uvx",
"args": ["skillport-mcp"],
"env": { "SKILLPORT_SKILLS_DIR": "~/.skillport/skills" }
}
}
}
pip3 install skillport 安装。
当你选择 Builder with MCP(涵盖了skillport-mcp),之后提问 基于 skill 解答,电脑性能优化 那么就可以得到上面的命令了。
public class SpringAiToolTest {
privatestaticfinal Logger log = LoggerFactory.getLogger(SpringAiToolTest.class);
public static void main(String[] args) {
OpenAiApi openAiApi = OpenAiApi.builder()
.baseUrl("https://apis.***.cn")
.apiKey("sk-efen7WX8Q8vGvBps3f7c9a34578d41Bb******")
.completionsPath("v1/chat/completions")
.embeddingsPath("v1/embeddings")
.build();
ChatModel chatModel = OpenAiChatModel.builder()
.openAiApi(openAiApi)
.defaultOptions(OpenAiChatOptions.builder()
.model("gpt-4.1")
.toolCallbacks(new ArrayList<>() {{
addAll(List.of(sseMcpClient()));
}})
.build())
.build();
// String call = chatModel.call("你哪有哪些 skill 工具能力");
String call = chatModel.call("基于 skill 解答,电脑性能优化");
log.info("测试结果:{}", call);
}
/**
* https://github.com/gotalab/skillport
* pip3 config set global.index-url http://mirrors.aliyun.com/pypi/simple/
* pip3 config set install.trusted-host mirrors.aliyun.com
* pip3 config list
* pip3 install uvx
*/
publicstatic ToolCallback[] sseMcpClient() {
ServerParameters stdioParams = ServerParameters.builder("uvx")
.args("skillport-mcp")
.env(new HashMap<>() {{
put("SKILLPORT_SKILLS_DIR", "/Users/fuzhengwei/coding/gitcode/KnowledgePlanet/road-map/xfg-dev-tech-agent-skills/docs/skills");
}})
.build();
McpSyncClient mcpSyncClient = McpClient.sync(new StdioClientTransport(stdioParams, new JacksonMcpJsonMapper(new ObjectMapper())))
.requestTimeout(Duration.ofSeconds(35000)).build();
McpSchema.InitializeResult initialize = mcpSyncClient.initialize();
return SyncMcpToolCallbackProvider.builder().mcpClients(mcpSyncClient).build()
.getToolCallbacks();
}
}
skillport-mcp 服务,之后在 ChatModel 模型里,使用 mcp 服务。skillport-mcp 配置进去使用。如小傅哥带着做 AI Agent 智能体项目 你现在可以加进去更多的扩展操作了。