量子位 03-19
龙虾的应用商店挂牌了!北大开源MagicSkills,让Agent Skill可自由安装组合同步
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

AI Agent 世界的 npm 来了!

最近,北京大学 Narwhal-Lab 的开源项目MagicSkills,通过把 AI Agent 所需的技能(Skill)统一管理、安装、组合和同步,实现了 " 写一次、到处用 " 的能力复用,让 AI Agent 世界终于有了类似 npm 的角色。

不过,MagicSkills 不是管理 JavaScript 包,而是管理 Agent 所依赖的 Skill:

把分散在不同项目里的 Skill 整理成一套可以安装、管理、组合、同步和调用的共享能力层。

当 Agent 的能力越来越多、复用需求越来越强时,Agent 世界也开始需要一个类似 npm 这样的角色,去管理这些 Skills。

这是怎么做到的?

把 agent 的 skill 管起来!

在实际开发中,很多人都遇到过同样的问题:第一个 Agent 写了一堆技能,比如 PDF 处理、搜索、Git 操作、Docker 控制、文档处理或代码相关能力,项目里大概结构是 agent/skills 下各个 skill 文件夹。

但第二个、第三个 Agent 又会复制一份技能,时间一长就会发现重复实现、管理混乱、复用难、易分叉,一旦接入方式变了,又得重新整理。

这种状况类似早期软件开发还没有 npm 或 pip 的时代,不同类型的 Agent 框架和应用之间同样存在重复接入的情况。

在 Claude Code、Cursor、Windsurf、Aider、Codex 这类 Agent 应用 里,你可能会把同一套 skill 复制到多个 agent 的工作目录里。

在 LangChain、LangGraph、CrewAI、AutoGen、LlamaIndex、Haystack、Semantic Kernel、smolagents 这类 Agent 框架里,你又可能要把同一套 skill 封装成 tool/function。

MagicSkills 的目标就是把 Skill 从 " 散落在项目里的说明和脚本 ",变成 " 可统一管理的能力单元 "。

它不仅提供命令行工具,更提供一套围绕 Skill 的基础设施,让你可以安装 Skill 到共享目录,挑选子集组成某个 Agent 专用的技能集合,同步到 AGENTS.md,并通过统一的 skill-tool 或 PythonAPI 给不同框架使用。

不同场景下,它会选择不同方式暴露能力:Agent 应用通过同步 AGENTS.md 自动发现技能,Agent 框架则通过统一工具接口或 Python API 调用。

安装不是从 0 开始

很多人关心现成的 Skill 从哪来。答案是生态已经在了。

Agent Skills 是一个开放标准(agentskills.io),定义了包含指令、脚本和资源的文件夹格式,可以被 Agent 发现和使用,秉持 "Write once,use everywhere"。

生态已经覆盖 26+ 平台,包括 Claude、OpenAICodex、GeminiCLI、GitHubCopilot、VSCode、Cursor、Roo Code、Amp、Goose、Mistral AI、Databricks 等。Atlassian、Figma、Canva、Stripe、Notion、Zapier 等合作伙伴也在首发时提供了各自的 Skill。

而具体到可安装的 Skill 来源,最重要的一个就是 Anthropic 官方维护的开源仓库 anthropics/skills。

MagicSkills 可以直接从这些开源仓库安装和管理 Skill,解决了分散、重复的问题。这也正如 npm 的强大,不仅是工具,还因为有完整的 registry 和生态。

在 MagicSkills 里,Skill 是什么?

在 MagicSkills 中,一个 Skill 最小就是一个目录,目录里有一个 SKILL.md。通常一个 Skill 长这样:

SKILL.md 既是写给 LLM 的技能说明,也是元数据来源。MagicSkills 围绕这个目录读取内容、展示结构、注册到集合、供 Agent 按需访问。

换句话说,Skill 不仅仅是提示词或脚本,它是一个 Prompt+Tool+Workflow 的本地能力单元。

有趣的是,MagicSkills 并不专注于某个 Agent 的工具实现,而是试图把 Skill 抽象成一层稳定结构。

项目定义了几层核心对象:

Skill:单个能力单元

Skills:一组可操作的 sklii 集合

SkillRegistry:多个命名 Skills 集合的注册、加载和持久化

CLI 和 Python API,本质上都是这套结构的不同入口。

工作流程很清晰:安装 Skill →从共享池里挑出某个 Agent 需要的子集 → 同步到 AGENTS.md 或作为工具能力暴露出去。

如果是这样,未来的 AI 软件架构可能会变成这样

这个思路的价值在于:它把 Skill 从一次性的项目实现,变成了可以长期维护和复用的工程对象。

现在关注 MagicSkills 的价值在于,它正解决越来越多团队会遇到的现实问题:Agent 数量越来越多,Skill 越来越多,接入方式复杂,但能力管理仍停留在复制、粘贴、手动整理阶段。

MagicSkills 提供的共享体系,把 Skill 统一放进一个共享体系里,再按不同 Agent 去组合和暴露。

如果某个 Agent 读取 AGENTS.md,走同步路线

如果某个 Agent 框架更适合 tool / function,走统一工具接口或 Python API。

这样一来:

已有 Skill 可以复用

不同 Agent 只看到自己需要的 Skill 子集

Skill 仍然是本地文件、结构透明、便于追踪

同一套能力可以同时服务 Agent 应用和 Agent 框架

行业正在从创建大量独立的专用 Agent(编码 Agent、研究 Agent、数据分析 Agent ……)向一个新范式收敛:一个通用的 Agent 运行时,按需加载不同的 Skill 库。

当一个领域开始成熟时,一定会出现 " 包管理 " 和 " 生态系统 "。就像今天的软件世界有 npm、PyPI、Docker Hub 一样。

Agent Skill 的生态已经在形成—— Anthropic 官方仓库提供了高质量的基础 Skill,Agent Skills 开放标准被 26+ 平台采纳,社区也在快速沉淀。MagicSkills 要做的,是在这个基础上加一层统一的管理机制。

如果你在做的是多 Agent 项目、Agent Engineering、可复用 Skill 库、面向 AGENTS.md 的 Agent 应用接入、面向 tool/function 的 Agent 框架接入等等,那 MagicSkills 值得看一眼。

因为它讨论的是一个越来越现实的问题:

当 Agent 越来越多时,Skill 还能不能继续靠复制、粘贴、手动整理来管理?

从 MagicSkills 这个项目来看,答案正在变成 " 不能 "。

它也许不是传统意义上的 npm,但它确实在尝试为 Agent 世界补上这一层:

让 Skill 可以被安装、被组合、被同步、被调用,也能在不同 Agent 应用和不同 Agent 框架之间复用。

项目链接:https://github.com/Narwhal-Lab/MagicSkills

一键三连「点赞」「转发」「小心心」

欢迎在评论区留下你的想法!

—    —

我们正在招聘一名眼疾手快、关注 AI 的学术编辑实习生 

感兴趣的小伙伴欢迎关注  了解详情

点亮星标

科技前沿进展每日见

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

技能 开源 北京大学 ai
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论