好问题,当下的实际其实就是一坨。就是 uv 、npm 一把梭
我举个例子,比如你在用 codex ,写好了一个 cli 程序,方便 skills 调用,类似这样的调用方式
```
ffmpeg xxxxx
```
那么会发现,怎么让用户装呢? skills 里面命令,普通模式下是在沙箱里面执行的,沙箱默认不让联网,那么 npm install 这样的命令直接执行不了,这是第 1 个坑
如果能联网,执行 npm install 这样的命令,你会发现用户不一定有 nodejs 的环境,这是第 2 个坑
那 cli 产物是分发脚本还是二级制呢?分发总要有个平台吧,brew ,pip ,npm 之类的
所以会发现市面上的 skills ,大致分成 4 类
1. skills 辅助现有的 mcp 工作,所有的命令都是调 mcp 完成。skills 会引导用户装上 mcp 。比如 notion 在 codex 的 skills:
```
1. Add the Notion MCP:
- `codex mcp add notion --url
https://mcp.notion.com/mcp`
2. Enable remote MCP client:
- Set `[features].rmcp_client = true` in `config.toml` **or** run `codex --enable rmcp_client`
```
mcp 可以轻松集成服务端远程调用,鉴权,非常简单
2. bash 脚本+md 文档
3. 纯文案,md 文档,用来做上下文补充
4. 纯工具类的,没有联服务器的必要,比如说读 pdf ,就是开头说的这种
你会发现,skills 文档里会让 ai 判断环境,macos 就是 brew 安装,linux 就是 apt-get ,有 node 环境就走 npm ,有 uv 就走 uv 。因为当下 agent 是面向开发者的,基本默认了用户有这些环境。至于冲突,想多了,现在就是一把梭,就是这么朴实无华。