Agent Skills是个香饽饽,但管理起来也有点麻烦。比如你有没有遇到过这种尴尬的场景:
在 Claude 里配置好了一套好用的“PDF 提炼技能”,结果转头去 Cursor 里写代码时,发现这个技能那里没有;或者你在 GitHub 上看到一个很棒的 Agent Skill(能力扩展包),想把它装进你的本地环境,却发现需要手动下载源码、从 Downloads 文件夹解压、找到隐藏的 .cursor 或 .claude 目录、复制粘贴、重启……,说实话有点麻了
我只说一个现实:你一旦同时用 2 个以上 agent,skills 的管理就会变成稳定的体力活。
今天,我发现了一个NX工具 —— SkillsLM。虽然它的官网还没来得及上线,作者甚至连 package.json 的名字都忘了改,但我对它的源码进行了一番“考古”后,发现它的野心极大:
它试图成为 AI Agent 时代的 npm,一键打通 9 大主流平台的技能管理。
它干的事很朴素,但挺关键——跨平台装 skills。
一句话总结:
你给它一个 skill(或一个 GitHub 仓库),它能把技能按规则落到多个 agent 的 skills 目录里。
下面我们来详细扒一扒这个工具究竟如何使用。
SkillsLM 是什么?别神化,它就是个装配工
SkillsLM 是个 Node.js CLI,核心命令就三个:
-
• install:装 skills(核心能力) -
• list:列出可用 skills -
• update:更新 skills
它解决的是“分发/落盘”问题,不是“让模型更聪明”问题。
换句话说:
-
• 它不会给你加 token -
• 不会帮你优化提示词 -
• 不会让你一键上天
它只是把技能文件下载下来,然后按不同 agent 的目录结构放到对的位置。
但说实话,工程里很多效率提升,都是这种“把脏活累活统一掉”的工具带来的。
如何安装:
-
• 需要安装:安装完后就可以单独使用skillslm 命令了
npm install -g skillslm
skillslm install -
• 无需安装:直接使用这个命令安装具体 Agent Skill
npx skillslm install
跨平台支持:我验证过的 9 个 Agent,全都能装
我最开始也是半信半疑:
“跨平台”这种词,很多项目喊得响,落地一跑就露馅。
所以我直接用最原始的方法验证:
逐个 agent 跑一遍安装,看它到底能不能落盘成功。
最后确认:SkillsLM 目前支持 9 个平台(都能作为 --agent 的目标)。
可以想象作者后面应该还会更新支持更多的平台。
|
|
|
|
|
|
|
claude-code |
~/.claude |
|
|
|
cursor |
~/.cursor |
|
|
|
codex |
~/.codex |
|
|
|
opencode |
~/.config/opencode |
|
|
|
amp |
~/.config/amp |
|
|
|
kilocode |
~/.kilocode |
|
|
|
roo |
~/.roo |
|
|
|
goose |
~/.config/goose |
|
|
|
gemini |
~/.gemini/antigravity |
|
这个列表的价值是什么?
你不用再为每个 agent 单独写一套安装方式。
SkillsLM 把“平台差异”屏蔽掉了。
对多工具用户来说,这就是省命。
先说清楚:它到底从哪下载 skills?
SkillsLM 默认技能来源指向 anthropics/skills:https://api.github.com/repos/anthropics/skills/contents/skills
下载用的是 degit,不会完整 clone 仓库历史,速度快一些
你也可以丢给它任意 GitHub 仓库地址(支持 tree/branch/path)。
这点我挺认可:
它不是封闭生态,起码你能拿它去装公司内部 skills 仓库,不会被锁死。
命令怎么用?我给你按场景拆开讲
下面这些命令,你可以直接复制跑。
安装单个 skill(默认从 anthropics/skills)
skillslm install MCP-builder
mcp-builder 就是 skill 名称,默认从 anthropics/skills 去找 skills/mcp-builder
装到指定 Agent(项目级,推荐新手先用这个)
skillslm install mcp-builder --agent claude-code
这行命令只装到 Claude Code 对应目录
项目级意味着落盘到当前项目里(相对路径),不会污染你 home 目录
一次装到多个 Agent(重点来了)
skillslm install mcp-builder
--agent claude-code
--agent cursor
--agent codex
--agent roo
这条命令就是 SkillsLM 的灵魂,你不用再“装一遍、换个工具再装一遍”
全局安装(老鸟常用,但你得知道后果)
skillslm install mcp-builder --agent cursor --global --yes
-
• --global会写到~/.cursor/skills这种目录 -
• --yes跳过确认,适合脚本化
我的建议是:
第一次用某个 agent,先项目级跑通再全局。
别上来就全局,尤其别上来就 --yes。
从 GitHub tree URL 装 skill(精确到目录)
skillslm install https://github.com/anthropics/skills/tree/main/skills/mcp-builder
-
• 适合你只想装仓库里某个路径 -
• 也适合你以后维护私有仓库 skills
从仓库批量装多个技能(团队标准化玩法)
skillslm install anthropics/skills
--skill mcp-builder
--skill pdf
--agent claude-code
--yes
解释下: <source> 是仓库,--skill 指定仓库里要装哪几个 skill,这是做团队 onboarding 最顺手的一种形式
列出 skills(只看不装)
两种方式:
skillslm list
或者:
skillslm install mcp-builder --list
list 更直观install --list 更像“安装前预览”
如何更新 skill
skillslm update mcp-builder --agent cursor
如果是全局安装:
skillslm update mcp-builder --agent cursor --global
-
• 适合你技能仓库更新了,你不想手动删目录重装
这工具值不值得用?我给你一句老实话
如果你只用一个 agent,比如只用 Cursor,那 SkillsLM 的价值没那么大。
但如果你属于下面任意一种情况——它就很值:
-
• 你同时用 Claude Code + Cursor + Codex(常见组合) -
• 你在尝试 Gemini / Roo / Goose / KiloCode 这种新工具 -
• 你想把 skills 当作“可迁移资产”,不是一次性玩具 -
• 你想做团队标准化(新人一条命令装齐)
SkillsLM 的意义不是“功能有多炫”,而是:
它让 skills 不再绑定某个平台,而是变成跨工具复用的工程资产。
提醒:别只看优点,我把坑点也提前告诉你
我对这种“会自动写目录的 CLI”一律保持谨慎,原因很简单:
-
• 它最终会落盘 -
• 它可能会覆盖旧文件 -
• 有些实现会用 rm -rf风格清理目录(你要当回事)
我的建议是三条:
第一次用,先项目级
项目级能随项目删掉、能回滚、能隔离。
别直接全局 + yes
你想省事,结果可能省出麻烦。
重要目录先备份
尤其你已经手工维护过 .cursor/skills 之类目录的情况
SkillsLM 是那种“你用上就不想回头”的工具
SkillsLM 的作用说穿了就一句话:
一条命令把同一套 skills 安装到多个 agent 的目录里,跨平台一致。
它不花哨、不讲故事,但对多工具工作流的人来说,这是非常现实的便利:
-
• 多 Agent 同步装 skill -
• 支持项目级 / 全局 -
• 支持默认生态源,也支持任意 GitHub 仓库 -
• 覆盖 9 个主流/常用工具链
如果你已经进入“多 Agent 并行”的阶段,这玩意儿值得你拉下来跑一遍。
建议你文章最后加的“实用命令块”(提高收藏率)
# 1) 项目级安装到多个 agent(推荐)
skillslm install mcp-builder
--agent claude-code
--agent cursor
--agent codex
--agent roo
# 2) 全局安装到某个 agent(熟练后再用)
skillslm install mcp-builder --agent cursor --global --yes
# 3) 从仓库批量装技能
skillslm install anthropics/skills
--skill mcp-builder
--skill pdf
--agent claude-code
--agent cursor
--yes
# 4) 更新 skill
skillslm update mcp-builder --agent cursor


