模块化技能服务

通过Model Context Protocol(MCP)为任何AI代理提供模块化、可重用的技能,使其成为领域专家。适用于跨平台技能共享和代理增强。

  • by skills-mcp
  • TypeScript
  • 本地部署
  • 31 星标
  • 更新于
在 GitHub 查看 skills-mcp/skills-mcp

使用说明

技能 MCP

通过模型上下文协议,赋予人工智能代理模块化、可重用的技能,从而将其转变为领域专家。

**受……的启发 克劳德·斯金斯(或根据具体语境可译为“克劳德·技能”等,但“Skills”在此处更可能为人名的一部分而非直接指“技能”,因此采用常见人名翻译方式)**这款MCP服务器将Claude的技能模式应用到任何兼容MCP的代理上。

  • 什么一个将Claude的Skills格式引入任何MCP兼容代理的MCP服务器
  • 为什么创建一次技能,随处使用——在Claude、VS Code、Cursor以及任何MCP工具中均可使用
  • 如何将服务器指向您的技能目录,代理将自动发现它们

快速设置

开始的最快方式是使用 npx。选择您的平台:

Claude Code

创造 .mcp.json 在你的项目中或 ~/.claude.json 全球范围内:

{
  "mcpServers": {
    "skills-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "skills-mcp", "-s", "/absolute/path/to/skills"]
    }
  }
}
Claude for Desktop

创建 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "skills-mcp": {
      "command": "npx",
      "args": ["-y", "skills-mcp", "-s", "/absolute/path/to/skills"]
    }
  }
}
Cursor

创建 .cursor/mcp.json 在你的项目中或 ~/.cursor/mcp.json 全球范围内:

{
  "mcpServers": {
    "skills-mcp": {
      "command": "npx",
      "args": ["-y", "skills-mcp", "-s", "/absolute/path/to/skills"]
    }
  }
}
VS Code

创建 .vscode/mcp.json 在你的项目中:

{
  "servers": {
    "skills-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "skills-mcp", "-s", "/absolute/path/to/skills"]
    }
  }
}

替换 /absolute/path/to/skills 使用你实际的技能目录路径。

试试看

  1. 在您的代理中启动MCP服务器
  2. 推荐运行 /init-skills 在每个会话开始时提示,提供关于Skills MCP工作流程的背景指导
  3. 替代方案只需让代理完成一项任务——它会在需要时发现并使用相应的技能

好了!您的代理现在可以发现并使用技能了。

获取示例技能

想试试现成的技能吗?Anthropic 提供了一个 示例技能集锦 你可以立即运用到你的项目中,使用 npx degit:

# Get the skill creator skill
npx degit anthropics/skills/skill-creator skills/skill-creator

# Get the MCP builder skill
npx degit anthropics/skills/mcp-builder skills/mcp-builder

这些命令将直接将技能下载到您的 skills/ 一个没有任何 Git 历史记录的目录。浏览该目录 人类技能库 查看所有可用示例。

代理指令设置

希望在您的代理上下文中始终可用MCP技能指导?导出指令:

推荐使用 AGENTS.md 为了获得广泛的支持代理:

npx -y skills-mcp instructions >> AGENTS.md

对于没有(某种条件或资格)的代理 AGENTS.md 支持:

# Claude Code
npx -y skills-mcp instructions >> CLAUDE.md

何时使用指令文件与(其他方式)对比 /init-skills 提示

  • 使用导出指令 如果你希望每次对话中都能获得技能指导
  • 使用 /init-skills 提示 如果你想尽量减少上下文的使用,并且只在需要时加载指导信息

这两种方法都使用相同的内容——根据您对上下文管理的偏好来选择。


理解能力

What are Skills?

技能是模块化、自包含的包,能够将通用人工智能代理转变为特定领域的专家。可以将它们视为特定领域或任务的“入职指南”——它们提供了任何模型都无法完全掌握的程序性知识。

示例:PDF处理技能可能包括:

  • 提取文本和填写表格的说明
  • 用于可靠PDF操作的Python脚本
  • 高级用例的参考文档
  • 用于生成文档的模板文件

无需在每次对话中都解释PDF处理,您只需安装一次该技能,智能代理就会知道何时以及如何使用它。

Why Skills MCP?

虽然Claude内置了对原生技能的支持,但这个MCP服务器将同样的功能扩展到了其他代理上:

  • 通用兼容性现在,任何兼容MCP的代理都可以使用Claude技能
  • 统一管理单一技能目录适用于所有代理和平台
  • 对Claude来说是可选的当使用Claude Desktop或Claude Code时,您可以禁用此服务器并使用原生技能替代
  • 逐步披露技能分阶段加载信息,尽量减少上下文使用

主要优势以Claude的格式创建技能,然后在任何地方使用它们——无论是通过Claude原生支持,还是通过VS Code、Cursor等工具中的MCP(多客户端协议)。

How Skills Work

技能使用a 三级渐进式披露 系统以高效管理上下文:

  1. 元数据 (~100个标记):启动时加载名称和描述
  2. 说明/指示 (~5k tokens):技能触发时加载主要SKILL.md内容
  3. 资源 (按需加载):按需访问的引用、脚本和资源

这意味着你可以安装数十种技能而不会受到上下文限制的惩罚——智能体只在需要时加载它们所需的技能。


培养技能

Quick Start: Basic Skill Structure

技能遵循Anthropic基于惯例的格式,源自 克劳德·斯科尔斯(注:此处为音译,实际人名翻译可能因具体语境和习惯有所不同,但“Claude Skills”直接音译为“克劳德·斯科尔斯”是较为常见的做法):

skill-name/
├── SKILL.md              # Required: Skill metadata and instructions
├── references/           # Optional: Documentation loaded as needed
├── scripts/              # Optional: Executable code
└── assets/               # Optional: Templates and files for output

SKILL.md 格式

---
name: Skill Name
description: What this skill does and when to use it (be specific!)
---

# Skill Name

## Instructions

[Step-by-step guidance for the agent]

## Examples

[Concrete usage examples]

撰写优秀技能描述的技巧:

  • 对何时使用该技能进行具体描述
  • 在指令中使用祈使句/不定式形式(“要做X,请使用Y”)
  • 将SKILL.md保持在5000字以内;将详细文档移至 references/
  • 为确定性操作打包脚本
  • 包含模板在 assets/ 用于输出的文件

如需更多详情,请参阅 技能规格。


高级用法

Command Line Options

论点;论据

  • -s, --skills-dir技能目录的路径 (所需的;要求的可以多次指定,必须为绝对路径)

多技能目录

在指定多个技能目录时,会扫描所有目录以查找技能。如果在不同目录中发现了具有相同ID的多个技能,系统将记录一条警告,并使用最后加载的技能。

包含多个目录的示例配置:

{
  "servers": {
    "skills-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "skills-mcp",
        "-s",
        "/path/to/skills1",
        "-s",
        "/path/to/skills2"
      ]
    }
  }
}

测试服务器

你可以使用标准输入输出手动测试服务器:

npx skills-mcp --skills-dir /absolute/path/to/skills

服务器将启动并等待在标准输入(stdin)上接收JSON-RPC消息。按下 Ctrl+C 停止服务器。

Security Considerations

⚠️ 重要技能为代理提供指令和可执行代码。请仅使用来自可信来源的技能——即您自己创建的或从Anthropic获取的技能。

一种恶意技能可以:

  • 指示代理以有害的方式调用工具
  • 以代理的权限执行代码
  • 访问或暴露敏感数据

将技能视为软件安装一样对待仅从可信任的来源安装软件,特别是在包含敏感数据或关键操作的生产系统中。

如需更多详情,请参阅 安全考虑事项 规范中的章节。


API 参考

Available Tools

list_skills

列出所有可用技能及其元数据。

输出:

{
  "skills": [
    {
      "id": "pdf-processing",
      "name": "PDF Processing",
      "description": "Extract text and tables from PDF files..."
    }
  ]
}

get_skill

检索完整的技能内容和绝对路径。

输入:

{
  "id": "pdf-processing"
}

输出:

{
  "path": "/Users/username/.claude/skills/pdf-processing/SKILL.md",
  "name": "PDF Processing",
  "description": "Extract text and tables...",
  "content": "# PDF Processing\n\n## Quick start\n..."
}
Available Prompts

init-skills

提供关于Skills MCP工作流的信息性指导。此提示:

  • 解释技能是什么以及它们的结构如何
  • 概述了渐进式披露模型(仅在需要时加载所需内容)
  • 描述了发现、加载和使用技能的逐步工作流程
  • 阐明MCP(最小控制协议/模块等,具体根据上下文确定)是一个最小化的封装——代理负责处理所有文件操作

何时使用在对话开始时运行,以提供背景信息。该提示仅用于提供信息,并不会触发任何即时操作。当遇到与可用技能描述相匹配的任务时,代理会使用相应的技能。

How It Works

技能MCP遵循一个 极简包装设计 该(系统/方法)充分利用了现代人工智能代理的全部能力:

服务器提供的内容:

  • 技能发现与元数据
  • 包含绝对文件路径的技能内容
  • 针对特定技能的上下文格式化

哪些代理负责处理 (使用他们现有的工具):

  • 正在读取引用文件(references/, scripts/, assets/)
  • 执行脚本
  • 搜索和浏览目录

示例工作流程:

  1. 代理呼叫 list_skills 并找到“PDF 处理”
  2. 代理呼叫 get_skill 并接收 /path/to/pdf-processing/SKILL.md
  3. 技能提及 references/FORMS.md 用于高级功能
  4. 代理构建完整路径并读取它: /path/to/pdf-processing/references/FORMS.md
  5. 代理执行脚本: cd /path/to/pdf-processing && python scripts/fill_form.py

这个设计保持了MCP服务器的简洁性,同时为代理提供了最大的灵活性。


了解更多