关于 skillmd
SkillMD 是面向 Agent Skills(SKILL.md)的开源工具链,包含 CLI、MCP 服务、GitHub Action 和共享的 SKILL.md 引擎。适合需要搜索、检查和安装 Skills 的开发者与团队,其特点是安装前进行 lint 与安全扫描。
主要功能
- 01搜索、查看、安装 SKILL.md 技能
- 02对 SKILL.md 执行 lint 并给出质量评分
- 03扫描技能的脚本、网络调用与密钥访问
- 04安装时不执行脚本,仅写入文件
- 05通过 MCP 服务在对话中调用注册表
适用场景
- 01在 Claude Code、Cursor 等 Agent 中安装技能
- 02在 CI 中用 GitHub Action 检查仓库内的技能
- 03在发布技能前本地运行 lint 与扫描
MCP 相关
该项目提供名为 skillmds 的 MCP 服务,向 MCP 客户端暴露搜索、查看、lint 和安装 Skills 的工具,也提供托管的远程服务地址。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.skillmd.com/mcpclaude mcp add --transport http com-skillmd-skillmd https://api.skillmd.com/mcp{"mcpServers":{"com-skillmd-skillmd":{"type":"http","url":"https://api.skillmd.com/mcp"}}}在 Cursor 中打开{"servers":{"com-skillmd-skillmd":{"type":"http","url":"https://api.skillmd.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-skillmd-skillmd":{"type":"http","url":"https://api.skillmd.com/mcp"}}}{"mcpServers":{"com-skillmd-skillmd":{"serverUrl":"https://api.skillmd.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
5| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | enum | 否 | 限制为单文件技能或多文件包single | pack |
| limit | integer | 否 | 结果最大数量(默认值 20) |
| query | string | 是 | 描述任务或技能的自然语言查询或关键词 |
| category | string | 否 | 限制为一个类别 slug,例如 coding、devops、data、security |
| min_rating | number | 否 | 最低平均评分,范围为 0 到 5 |
| verified_only | boolean | 否 | 仅返回来自已验证发布者的技能(默认值:false) |
详细介绍
SkillMD
会进行 lint 检查的注册表。
搜索、安装、lint 检查和发布适用于 Claude Code、Cursor、Codex 及其他 60 多种 Agent 的 Agent Skills(SKILL.md)。
本仓库是 skillmd.com 背后的开源工具链:CLI、MCP 服务、GitHub Action,以及它们共用的 SKILL.md 引擎。
浏览技能 · 分类 · 发布者 · 安装指南 · 文档 · 博客 · 统计
这是什么
Agent Skill 是一个包含 SKILL.md 文件的文件夹:其中有 YAML frontmatter(name、description),以及 Agent 按需加载的 Markdown 指令。Claude Code、Cursor、Codex、Gemini CLI、GitHub Copilot、Windsurf 和数十种其他 Agent 都读取相同格式,因此共用注册表才有价值。如果你刚接触这种格式,请从什么是 Agent Skill?和 SKILL.md 文件的结构开始了解。
skillmd.com 是这些技能的开放注册表:包含来自 30,000 多位发布者的 1,000,000 多个技能,每个技能都经过格式 lint 检查、安全扫描以检测其功能,并固定到一个提交版本。每个技能页面都显示判定结果、功能标记和独立扫描器的结果。安装只会写入文件,不会执行其他操作。
本仓库包含在你的计算机或 CI 中运行的所有内容,并采用 MIT 许可证:
| Package | 内容 | 安装 |
|---|---|---|
skillmds | 一个 npm 包,包含两个二进制文件:skillmd CLI 和 skillmds MCP 服务 | npm i -g skillmds |
@skillmds/core | SKILL.md 引擎:解析器、lint 规则、安全扫描器、质量评分,以及 SARIF / JSON / GitHub 格式化工具 | npm i @skillmds/core |
skillmds/skillmd/action | GitHub Action:对仓库中的每个技能进行 lint 检查,并将结果显示在 GitHub Code Scanning 中 | uses: skillmds/skillmd/action@v1 |
注册表使用相同的引擎,因此本地通过检查的技能发布时也能通过。
快速开始
# Search the registry and install a skill into every agent on your machine
npx skillmds search "pdf"
npx skillmds add anthropic/pdf
# Lint your own skill before you share it
npx skillmds lint ./my-skill
插件
插件是一组作为一个单元安装的技能。在 Claude Code 中,它会成为真正的插件——/plugin 会列出它,启用、禁用和卸载操作会应用于整个集合——而在其他所有 Agent 中,技能会逐个安装。
npx skillmds add plugin:skillmd/design
若要改为在 Claude Code 的 Plugins 选项卡中浏览这些插件,请将此仓库添加为市场:skillmds/skillmd。其中的旗舰插件以真正的目录形式存放在 plugins/ 下,列于 .claude-plugin/marketplace.json 中,并每周更新。该选项卡只支持存放在 git 中的插件,因此整个注册表并未包含在其中——其他所有插件都通过上述命令安装。
以上操作均不需要账号。技能会安装到每个检测到的 Agent 各自的目录中(.claude/skills/、.cursor/skills/、.agents/skills/,等等)。各 Agent 的操作指南:Claude Code · Cursor · Codex · Gemini CLI · GitHub Copilot · Windsurf · 所有 Agent。
CLI:skillmd
npm i -g skillmds
| 命令 | 功能 |
|---|---|
skillmd lint [path] | 验证 SKILL.md 文件。提供诊断信息和 0–100 的质量评分,并可通过 --fix 修复机械性问题。 |
skillmd scan [path] | 查看此技能会执行什么操作。报告脚本、网络调用和机密信息访问情况。 |
skillmd rules [id] | 列出 lint 规则,或解释某条规则。 |
skillmd init [name] | 根据模板搭建新技能。 |
skillmd search <query> | 在终端中搜索注册表。 |
skillmd add <source> | 从注册表标识、GitHub 仓库或本地路径安装。先运行 lint,不会执行脚本。 |
skillmd list / remove / update | 管理各个 Agent 中已安装的技能。 |
skillmd publish [path] | 发布到 skillmd.com。若存在 lint 错误则无法发布。 |
skillmd lint . --format sarif > skillmd.sarif # GitHub Code Scanning
skillmd lint . --strict # warnings fail too
skillmd add owner/repo -a claude-code -g # one agent, global scope
skillmd add some/skill --deny executes_scripts # refuse skills that run code
skillmd add 根据配置目录检测 68 个 Agent:Claude Code、Cursor、Codex、Windsurf、OpenCode、Gemini CLI、Antigravity、Kiro、Warp、GitHub Copilot、Cline、Roo Code、Goose、Trae、Qwen Code、Amp、Zed、Continue、Devin、OpenHands、Replit 等。共享 .agents/skills 约定的 Agent 只需写入一次。直接运行 skillmd 会打开引导式菜单。
完整参考:docs/cli.md · skillmd.com 上的 CLI 文档 · 一个 SKILL.md 如何适用于每个 Agent
MCP 服务:skillmds
让任何支持 MCP 的 Agent 使用整个注册表。它可以在对话过程中搜索、检查、lint 和安装技能。
# Claude Code
claude mcp add skillmd -- npx -y skillmds
// Claude Desktop, Cursor, VS Code, Windsurf, … (examples/mcp/ has per-client files)
{ "mcpServers": { "skillmd": { "command": "npx", "args": ["-y", "skillmds"] } } }
也可以使用托管远程服务,无需安装,通过可流式传输的 HTTP 提供:
https://api.skillmd.com/mcp
| 工具 | Agent 可获得的内容 |
|---|---|
skillmd_search | 注册表搜索,包含类别、评分和安装代码片段 |
skillmd_get | 完整技能详情:正文、来源、许可证、安全标记 |
skillmd_install | 安全安装:经过验证、SHA-256 校验,并防范 zip-slip,绝不执行脚本 |
skillmd_trending / skillmd_recommend | 排行榜和相似技能推荐 |
skillmd_list_saved | 你保存的技能(需提供 SKILLMD_TOKEN) |
skillmd_lint | 即时验证任意 SKILL.md 内容 |
完整参考:docs/mcp.md · skillmd.com 上的 MCP 文档 · 通过 MCP 使用 SkillMD · MCP 注册表条目:com.skillmd/skillmd
引擎:@skillmds/core
npm i @skillmds/core
import { lint } from "@skillmds/core";
const { ok, score, diagnostics, security } = lint(rawSkillMd, { slug: "my-skill" });
包含 9 条 lint 规则、可定位到行的安全扫描器、0–100 分的质量评分,以及 SARIF / JSON / GitHub 注释格式化工具。采用 ESM、类型安全,除 yaml 外没有运行时依赖,可在 Node、浏览器和边缘运行时中运行。
扫描器会将每项技能归类为能力标记,供你在安装时筛选或拒绝:
| 标记 | 含义 |
|---|---|
docs_only | 未发现任何可执行内容。纯说明。 |
network_calls | 使用 Fetch、curl 或其他方式访问网络。 |
executes_scripts | 运行命令或捆绑脚本。 |
reads_secrets | 访问环境变量、令牌或凭据文件。 |
untrusted_install | 从非标准来源获取并执行内容。 |
规则和评分:docs/rules.md · 调试技能:lint、扫描与评分 · 常见的 SKILL.md 错误
为你的技能配置 CI
- uses: skillmds/skillmd/action@v1
with:
path: .
对仓库中的每项技能运行 lint,并将 SARIF 上传到 GitHub Code Scanning,以便在拉取请求中查看发现的问题。完整示例:examples/github-action.yml · action/README.md
发布技能
skillmd login # token from your skillmd.com account
skillmd publish ./my-skill # blocked on lint errors
skillmd publish ./my-skill --dry-run
已发布的技能会在 skillmd.com/skills/<you>/<name> 上获得一个页面,其中包含安全判定、适用于每个 Agent 的安装命令,以及实时更新的 README 徽章:
[](https://skillmd.com/skills/<you>/<name>)
指南:向注册表发布技能 · 编写实用的技能 · 已验证徽章的含义 · 技能包
注册表 API
这里的所有内容都是对 api.skillmd.com 公共 API 的轻量客户端(GET /v1/search?q=…、GET /v1/skills/<owner>/<name>,……)。相关说明见 docs/registry-api.md、skillmd.com/openapi.json,以及面向 AI 系统的 skillmd.com/llms.txt。每个技能页面也都有对应的 Markdown 版本,路径为 …/<name>.md。
注册表中有什么
按类别浏览:编码与开发工具 · AI 与机器学习 · DevOps 与基础设施 · 集成与 API · 安全 · 数据与分析 · Web 与前端 · 效率工具 · 文档与写作 · 设计与媒体
也可以按发布者、已验证发布者的官方技能、排行榜或最新内容浏览。实时统计:skillmd.com/stats。
安全模型
安装技能只会写入文件,不会执行其他操作。不执行脚本,严格限制路径范围(验证 slug 并防范 zip-slip),根据注册表的内容寻址存储验证 SHA-256 完整性,并将配套文件固定到 GitHub raw 主机。发布时会运行与 CLI 相同的 lint 和扫描;每项已上架技能都会显示其判定、能力标记和独立扫描器的结果。
详情见 SECURITY.md。请将漏洞报告发送至 [email protected]。
了解更多
- AI Agent 技能完整指南
- Agent 技能与 MCP 服务
- Claude Code 技能、插件、子 Agent 与命令对比
- Cursor 规则与 Cursor 技能对比
- 支持开放技能格式的理由
- 术语表 · SKILL.md 格式 · 入门指南
开发
npm ci
npm run build # @skillmds/core, then skillmds
npm test # vitest across both packages, incl. an MCP stdio smoke test
npm run typecheck # strict tsc
有关目录结构、PR 指南和发布流程,请参阅 CONTRIBUTING.md 和 CODE_OF_CONDUCT.md。
许可证
MIT © SkillMD · skillmd.com · [email protected]
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
