
Agent Skills 调研总结
skills vs mcp
skills 会干掉 mcp 吗?之前这个问题已经回复过,不能替代!
MCP 解决的是工具的连接问题,让工具发现和调用的标准化。 而 Skills 是一种轻量级的定义提示词的开放标准,可在 Skills.md 中定义专业知识和工作流,通过渐进式披露实现 Agent 更省更准的选择工具。
官方提到 Skills 的 3 个优势:
- Self-documenting: 容易理解和维护,可以当作代码进行 review 和迭代优化;
- Extensible: 扩展性强,支持从简单的文本指令到可执行代码、资源和模板不等。
- Portable: Skills 只是目录和文件,容易本地化编辑,版本控制和分享。
Skills 的核心价值不仅仅是
省准,还有一个关键点是 Context Window Management(上下文窗口管理)。 如果把所有工具的 definition 全部塞进 system prompt,上下文会爆炸且模型容易出现幻觉。 Skills 实际上充当了一个 Router 或 Index 的角色,只有当 Agent 决定进入某个步骤时,才加载相关的 Prompts 和 Tools 定义。
skill-script vs mcp-tool
skill-script最大的风险是 rm -rf / 或者读取敏感配置,MCP 协议本身包含了一层权限确认(User-in-the-loop),这在协议层面上比裸跑 Script 多了一层安全保障。
如果把 skill 里面调用本地的 script 换成远程 mcp tool,
- 不会导致 agent 的轮次变多:当模型说要调用工具时,agent 调用 tool,并把 tool 的调用结果,发送给模型,让模型观察并决定下一步操作。
- 好处是 agent 调度的节点不用去管执行的安全性和稳定性,mcp 提供可靠的服务。
- 缺点是多了网络延迟和数据序列化和反序列化的过程,会导致延迟变长,但是看情况,没有大数据量这个 IO 延迟不会很大。
结合 github 上开源的 planning-with-files 这个 skills 来说明,这个 skills 核心是通过 3 个文件(task-plan.md,findings.md,progress.md) 来实践 ReAct;
- planning-with-files 的底层是 manus 一样的调度逻辑,但是没有体现 manus 大量 tool 集成的复杂度。
- manus 是面向多用户的通用智能体,有很多 sass 的工程化细节;
- manas 对任务执行环境支持沙盒隔离,我觉得这很适合使用本地化 script 的 skills,对不同的场景(幻灯片制作,开发应用,创建网站,设计),提供不同的容器环境(docker image),搭配不同的 skills 即可实现。
File as State这其实是回归了 Unix 哲学。对于 Agent 来说,维护一个progress.md比维护复杂的内存变量更直观,也更容易被 LLM 理解和自我修正。 但是工程化落地要考虑安全性,对于企业来说,未来理想的架构可能是 sandbox(skills + script) / skills + mcp
skill with mcp
一个示范的 skills 定义
---
name: skill名称
description: 简要描述这个skill的功能和使用场景
---
# skill名称
## 描述
描述这个skill的作用。
## 使用场景
描述触发这个skill的条件。
## 指令
清晰的分步说明,告诉agent具体怎么做。
## 示例 (可选)
输入/输出示例,展示预期效果。
已有的 mcp 生态 配合 skills 的使用:
- 在 skills 的 instruction 中,在某个步骤写明调用具体的 mcp-tool,模型负责生成调用参数;
- 通过 supergateway 可以将
stdio的本地 mcp 服务暴露为sse接口提供远程访问,有的 tool(比如 git,bash,file,browser)的能力很复杂,通常是高带宽/密集 IO操作,通常是直接在操作系统执行。这个时候可以使用 supergateway 部署,使用网络协议简化调用;
比如 CodeReview 的场景,就适合使用 skills 结合本地 mcp 执行,
- 拉取代码:调用
mcp-tool:fetch_merge_request获取完整信息 - 分析项目架构:analyze_repository,生成架构文档
- 比较差异:调用
mcp-tool:fetch_merge_request_diff获取 commit diff - 分析本次提交:analyze_commit,生成 review comment
- 提交审核意见:调用
mcp-tool:add_merge_request_comment提交 review comment
其中 2 个 analyze 任务在本地执行更适合,因为 agent 需要使用 bash 脚本来检索大量的文件来分析项目代码。
指令可使用 skill-reference 中定义的编码规范来约束 review 建议。
skill 产品落地
- claude code 最先支持 skills,可以 git clone 导入 skill 到本地目录;
- cursor skills,支持从 从 GitHub 安装
- 国内的 trae ide 也已经支持 skill,支持创建/导入 SKILL.md,提供界面交互式编辑,不过没有提及 script,assets 等关联资源的定义。
总结
从上而下看 Prompt,Skills,Memory,MCP 这些都属于 Context Engineering 的范畴,爆火的 Skills 是工程化实践过程中的产物。 一个强大的 Agent 既需要 Skills 来封装领域知识和工作流程,也需要 MCP 来提供安全、可扩展的原子能力,并通过容器化技术将两者高效、安全地粘合在一起。