使用说明
代理技能MCP
将代理技能转化为具有团队共享配置的MCP工具
MCP服务器 代理技能 通过基于package.json的声明性配置,任何MCP兼容代理都可以使用。
为什么存在
Agent Skills是强大的上下文工程工具:
- 将长系统提示分解为可重用的参数化组件
- 遵循一个 开放标准 实现跨代理的可移植性
- 与工具和工作流捆绑在一起时,比单独的提示更强大
但目前的实现有痛点:
- ❌ 基于文件系统的发现:每个代理使用不同的目录(
.claude/skills等等) - ❌ 无配置控制:所有技能始终加载,无筛选或组织
- ❌ 安全模型不明确:如果没有适当的沙盒,动态工具调用和脚本是重大威胁
- ❌ 没有团队共享:难以在团队之间共享技能配置
MCP网关解决方案:
MCP已经解决了这些工具的问题。通过提供MCP服务器作为代理技能的“网关”:
- ✅ 解决所有痛点 独立客户 通过标准化接口
- ✅ 通过声明式配置
package.json团队可以版本和共享 - ✅ 明确的安全模型:服务器不执行代码,代理保持控制
- ✅ 技能+MCP工具=所有代理都能理解的强大组合
它的作用
该项目提供:
- 命令行界面 用于从多个来源(GitHub、本地、tarball URL)安装和管理Agent Skills
- MCP服务器 将已安装的技能作为MCP工具暴露给任何兼容的代理
- 核心库 用于解析、验证和使用代理技能
快速开始
1.安装
或者
如果你更喜欢总是键入npx而不是全局安装(我喜欢)
npx @codemcp/skills
2.配置技能
使用CLI添加技能(在将技能添加到之前验证技能 package.json):
npx @codemcp/skills add git-workflow github:anthropics/agent-skills/skills/git-workflow
npx @codemcp/skills add local-skill file:./my-skills/custom-skill
或编辑 package.json 直接:
{
"agentskills": {
"git-workflow": "github:anthropics/agent-skills/skills/git-workflow",
"local-skill": "file:./my-skills/custom-skill",
"shared-skill": "git+https://github.com/org/skills.git#v1.0.0"
}
}
3.安装技能
npx @codemcp/skills install
这会将所有配置的技能下载到 .agentskills/skills/.
MCP服务器依赖关系
技能可以声明为您的代理自动配置的MCP服务器依赖关系。
SKILL.md封面示例:
---
name: my-skill
requires-mcp-servers:
- name: filesystem
package: "@modelcontextprotocol/server-filesystem"
description: "For file operations"
command: npx
args:
["-y", "@modelcontextprotocol/server-filesystem", "{{WORKSPACE_PATH}}"]
parameters:
WORKSPACE_PATH:
description: "Root directory"
required: true
default: "."
---
安装并验证:
npx @codemcp/skills install --agent claude
自动安装缺失的服务器:
npx @codemcp/skills install --with-mcp --agent cline
支持的代理: claude, cline, continue, cursor, junie, kiro, opencode, zed
配置是在项目目录中创建的(.claude/, .kiro/, opencode.json等等)用于版本控制。
5.配置MCP客户端
将您的MCP客户端(Claude Desktop、Cline、Continue、Cursor、Junie、Kiro、OpenCode、Zed等)指向服务器:
{
"mcpServers": {
"agentskills": {
"command": "npx",
"args": ["-y", "@codemcp/skills-server"]
}
}
}
6.使用技能
您的代理人现在可以:
- 打电话给
use_skill执行技能指令的工具 - 通过浏览可用技能
skill://资源
这 use_skill 工具返回一个包含两个字段的JSON响应:
{
"instructions": "# Skill Instructions\n\nThe full skill body content...",
"basePath": "/absolute/path/to/.agentskills/skills/skill-name"
}
这 basePath 指向技能目录,并允许代理解析相对引用(根据 代理技能规范):
- 脚本:
<basePath>/scripts/extract.py - 参考文献
<basePath>/references/REFERENCE.md - 资产:
<basePath>/assets/template.json
示例:如果技能涉及 scripts/setup.sh,代理可以从以下位置读取:
<basePath>/scripts/setup.sh
运作原理
package.json (config) → npx @codemcp/skills install → .agentskills/skills/
↓
Agent ← MCP Protocol ← npx @codemcp/skills-server ← skill registry
- 配置:声明技能
package.json像npm依赖 - 安装:CLI使用npm的Pacote从GitHub、本地路径或URL下载技能
- 服务器:MCP服务器读取已安装的技能并将其作为工具公开
- 执行:代理电话
use_skill工具,在上下文中接收技能指令
特性
- 🔌 MCP协议支持 -适用于Claude Desktop、Cline、Continue、Cursor、Junie、Kiro、OpenCode、Zed和其他MCP客户端
- 📦 包管理器集成 -申报技能
package.json,版本控制您的配置 - 🚀 多种来源 -从GitHub仓库、本地路径或tarball URL安装
- 🔧 MCP服务器依赖关系 -技能声明所需的MCP服务器,为您的代理自动配置
- ✅ 验证 -Agent Skills格式的内置解析和验证
- 🔍 发现 -通过MCP资源和工具自动展示的技能
- 🔒 安全 -服务器只提供技能内容;代理控制执行
- 🧩 模块化 -针对不同用例的三个独立包
配置
技能在 agentskills 领域 package.json:
{
"agentskills": {
"skill-name": "source-specifier"
}
}
源指定符
| 源类型 | 示例 | 描述 |
|---|---|---|
| GitHub简写 | github:user/repo/path/to/skill |
带子目录的GitHub仓库(方便形式) |
| GitHub简写为ref | github:user/repo/path/to/skill#v1.0.0 |
带有子目录和标签/分支的GitHub仓库 |
GitHub与 path: 收件人 |
github:user/repo#v1.0.0::path:skills/my-skill |
带子目录的标准npm格式 |
| Git URL | git+https://github.com/org/repo.git#v1.0.0 |
带版本标签的完整git URL |
Git URL path: 收件人 |
git+https://github.com/org/repo.git#v1.0.0::path:skills/skill |
带子目录的Git URL(npm标准) |
| npm包 | @org/my-skill 或 my-skill@1.2.0 |
已发布的npm包 |
| 本地路径 | file:./skills/custom-skill |
相对或绝对局部路径 |
| 焦油球URL | https://example.com/skill.tgz |
远程tarball |
这 path: 属性语法(#ref::path:subdir)遵循 npm/pacote标准 用于git子目录规范。GitHub简写形式(github:user/repo/subdir)是一个方便的别名 github:user/repo#path:subdir.
团队配置示例
{
"name": "my-project",
"agentskills": {
"git-workflow": "github:anthropics/agent-skills/skills/git-workflow",
"code-review": "github:anthropics/agent-skills/skills/code-review",
"custom-api-docs": "file:./team-skills/api-documentation",
"shared-workflow": "git+https://github.com/myorg/skills.git#v2.1.0"
}
}
将此提交给您的仓库,您的整个团队将使用相同的技能配置。
命令行命令
安装所有配置的技能
npx @codemcp/skills install
选项:
--agent <name>-验证指定代理(claude、cline、continue、cursor、junie、kiro、zed)的MCP服务器依赖关系--with-mcp-自动安装缺失的MCP服务器并更新代理配置
添加新技能
npx @codemcp/skills add my-skill github:user/repo/path/to/skill
这 add 命令验证技能配置(规范格式、是否存在 SKILL.md,
以及技能元数据)。技能被添加到 package.json 只有当
验证成功。跑 npx @codemcp/skills install 之后下载并安装所有
配置技能。
列出配置的技能
npx @codemcp/skills list
验证技能档案
npx @codemcp/skills validate path/to/SKILL.md
创造技能
技能是 SKILL.md 带有YAML frontmatter的文件:
---
name: example-skill
description: Does something useful
arguments:
- name: target
description: What to do it to
required: true
---
# Example Skill
This is the skill body with instructions for the agent.
Use arguments like this: $ARGUMENTS or $1 (first argument).
请参阅 代理技能标准 完整规格。
用例
何时使用代理技能MCP:
- 语境工程 -将复杂的系统提示分解为模块化、可重复使用的部分
- 团队协作 -通过版本控制在团队中共享技能配置
- 多代理工作流 -在不同的MCP兼容代理中使用相同的技能
- 安全控制 -集中技能管理,不授予代理文件系统访问权限
- 技能库 -构建和共享特定领域技能库(DevOps、测试、文档等)
项目结构
这是一个包含三个包的monorepo:
- @codemcp/技能核心 -核心解析、验证和安装逻辑
- @codemcp/技能 -技能管理命令行界面(基于Vercel的技能CLI)
- @代码mcp/技能mcp -MCP协议服务器实现
架构与集成
了解更多关于这些部分如何组合在一起的信息:
- Vercel CLI集成指南 -我们为什么使用Vercel的CLI,MCP Server模式如何扩展它,以及路径分离策略
- 升级CLI -提取上游更新和处理合并冲突的分步过程
发展
# Install dependencies
pnpm install
# Build all packages
pnpm build
# Run tests (302 tests)
pnpm test
# Run linting and formatting
pnpm run lint:all
pnpm run format:check:all
贡献
欢迎投稿!发现错误或有功能请求? 打开一个问题.
对于bug修复、新功能或文档改进的拉取请求,我们深表感谢。
许可证
麻省理工学院 Oliver Jägle
