
当你的 Agent 拥有 100 个技能时,你是怎么管理的?当它需要同时调用 5 个技能完成一个任务时,谁来编排?
一、一个被忽视的痛点
过去半年,AI Agent 的技能生态经历了爆炸式增长。Hermes 社区有 1000+ 技能,SenseNova-Skills 有 24+ 专业工作流技能,wondelai 有 380 个跨平台技能……
听起来很美好,对吧?
但当你真正开始使用这些技能时,一个残酷的现实浮出水面:
技能越多,越乱。
想象一下这个场景:
你想让 Agent 完成一个"代码审查 + 安全扫描 + 生成报告"的复合任务。
你告诉 Agent:"帮我审查这个 PR,扫描安全问题,然后写一份报告。"
Agent 开始调用
github-pr-reader读取 PR → 调用security-scanner扫描 → 调用report-writer写报告。但问题来了:
• 第一个工具返回了 5000 行的 PR 内容 • 第二个工具需要把整段内容塞进上下文里再调用 • 第三个工具又需要把前两个的结果全部读一遍 Token 爆炸了。上下文溢出了。Agent 开始胡言乱语。
这就是当前 AI Agent 技能生态的"阿喀琉斯之踵":技能是孤岛,没有编排,没有版本控制,没有权限管理,更没有安全边界。

二、skill-mcp:把技能变成"可管理的资产"
今天我要介绍的 skill-mcp,正是为了解决这个问题而生的。
它的定位非常清晰:一个 Model Context Protocol (MCP) 服务器,提供"技能文件系统 + 权限网关 + 编排引擎"三位一体的技能管理平台。
听起来很复杂?让我用一个比喻来解释:
如果把 AI Agent 比作一个"超级员工",那么技能就是它的"工具箱"。
以前,你的工具箱是散落在地上的——每个工具放在不同的抽屉里,没有标签,不知道哪个版本最新,也不知道谁能用哪个工具。
skill-mcp 就是把整个工具箱变成了一个智能仓库:

三、它到底解决了什么问题?
问题 1️⃣:技能散乱,找不到
场景:你安装了 50 个技能,想找一个"数据清洗"相关的,但不知道具体叫什么名字。
skill-mcp 的解法:
# 搜索技能npx skill-mcp search --name "data"# 按标签过滤npx skill-mcp list --tags "data,processing"技能被统一存储在 ~/.skill-mcp/data/skills/,每个技能都有 manifest.json 元数据(名称、版本、标签、入口文件),支持全文搜索和标签过滤。
问题 2️⃣:技能没有版本控制
场景:你更新了一个技能,结果新版本的输出格式变了,依赖它的其他技能全部报错。
skill-mcp 的解法:
# 回滚到指定版本npx skill-mcp rollback <skill-name> --to 0.0.1# 查看版本历史npx skill-mcp info <skill-name>每个技能都有语义化版本号(SemVer),支持内容哈希追踪和一键回滚。
问题 3️⃣:多技能协作,不知道谁先谁后
场景:你要完成一个"读取 PR → 安全扫描 → 生成报告"的三步任务,需要手动告诉 Agent 每一步的顺序。
skill-mcp 的解法:用 YAML 定义一个 DAG(有向无环图)编排:
name: code-review-pipelinestages: - name: read-pr skill: github-pr-reader inputs: { url: "${inputs.pr_url}" } - name: security-scan skill: security-scanner depends_on: [read-pr] - name: generate-report skill: report-writer depends_on: [read-pr, security-scan]关键点:depends_on 字段自动处理依赖关系,没有依赖的阶段可以并行执行,大幅提升效率。

问题 4️⃣:不知道谁能用什么技能
场景:公司有 10 个 Agent,有些只能看代码,有些可以修改数据,有些可以生成报告。
skill-mcp 的解法:基于标签的 RBAC(角色访问控制):
# 创建一个角色,只能访问带 "data" 标签的技能npx skill-mcp role create --name "data-team" --tags "data"# 给用户分配角色npx skill-mcp user assign-roles <user-id> --role-ids "uuid-1"规则很简单:skill.tags ∩ user.tags ≠ ∅,即技能的标签与用户的标签有交集时,才能访问。

问题 5️⃣:技能不安全,可能有注入攻击
场景:一个恶意的 SKILL.md 里藏了一段 prompt 注入代码,Agent 执行时可能被劫持。
skill-mcp 的解法:内置 prompt 注入检测 + 技能验证:
# 在导入时自动扫描npx skill-mcp import ./my-skill# 手动 lint 检查npx skill-mcp lint ./path/to/skill四、技术架构:它是怎么做到的?
skill-mcp 的架构设计非常工程化,我把它拆解为 5 个核心模块:
src/├── mcp/ # MCP 服务器 & 工具注册├── services/ # 技能管理服务(核心业务逻辑)├── pipeline/ # DAG 编排引擎├── permission/ # RBAC 权限系统└── storage/ # 数据持久化(SQLite + Drizzle ORM)
核心亮点 1:DAG 调度器
Pipeline 引擎的核心是一个 DAGScheduler,它负责:
depends_on 计算执行顺序// 伪代码:DAG 执行流程for (const batch of dag.getBatches()) { // 同一批次内的阶段并行执行 await Promise.allSettled( batch.map(stage => executeStage(stage)) ); // 任何失败则停止 if (hasFailures) break;}核心亮点 2:MCP 工具注册
skill-mcp 通过 MCP 协议暴露 5 个工具,任何 MCP 客户端(Claude Desktop、Cline、Windsurf 等)都可以直接使用:
skill_list | |
skill_view | |
skill_file | |
skill_pipeline | |
skill_feedback |
核心亮点 3:多传输协议支持
skill-mcp 支持三种传输方式,适应不同场景:
| 本地开发 | |||
| 混合部署 | |||
| 生产环境 |
五、三分钟上手
Step 1:安装
npm install -g skill-mcp@latestStep 2:启动服务器
# 本地模式(推荐开发用)skill-mcp serve# HTTP 模式(生产用)TRANSPORT_TYPE=http skill-mcp serveStep 3:导入技能
# 从本地路径导入npx skill-mcp import ./my-skill# 从 GitHub 导入npx skill-mcp import https://github.com/org/repo --branch main# 带标签导入npx skill-mcp import ./skill --category "writing" --tags "prompt"Step 4:在 MCP 客户端中使用
以 Claude Desktop 为例,在 claude_desktop_config.json 中添加:
{ "mcpServers": { "skill-mcp": { "command": "npx", "args": ["-y", "skill-mcp", "serve"] } }}重启 Claude Desktop 后,你就可以在工具列表里看到 skill_list、skill_view、skill_pipeline 等工具了。
Step 5:执行编排
npx skill-mcp pipeline run ./pipeline.yaml --input pr_url="GitHub · Change is constant. GitHub keeps you ahead...."六、为什么值得关注?
skill-mcp 的意义,不止于"一个 MCP 服务器"。它代表了 AI Agent 技能生态发展的下一个阶段:
| 1.0 手工时代 | ||
| 2.0 平台时代 | ||
| 3.0 编排时代 | ||
| 4.0 生态时代 |

skill-mcp 正在同时推进第 2、3、4 阶段。
更重要的是,它完全开源(MIT 协议),基于标准的 MCP 协议,任何 MCP 客户端都可以接入。这意味着:
七、结语
AI Agent 的能力上限,不在于模型有多强,而在于它能调用的技能有多少、有多好、有多可靠。
skill-mcp 正在做的事情,就是让技能从"散兵游勇"变成"正规军"——有编制、有纪律、有协作、有安全。
如果你正在构建多技能协作的 Agent 系统,或者正在管理成百上千个技能,强烈建议试试 skill-mcp。
🔗 项目地址:GitHub - BeCrafter/skill-mcp: A Model Context Protocol (MCP) server that provides a managed skill fi
注:本文基于 skill-mcp v0.1.0 编写。项目仍在快速迭代中,功能可能有所更新。欢迎 Star 和贡献!
夜雨聆风