AI Skills 已经封神,但新的问题却越来越严重!

43 阅读13分钟

今年一月份,写了一篇文章专门介绍 AI Skills

主要探讨了几个关键问题:Skills 是什么?去哪里找?怎么安装到 Claude Code、Codex、Cursor 等 AI Agent 中?

那时候,Skills 还处在快速普及的阶段。对大多数开发者来说,先找到一个好用的 Skill,再把它安装进自己的 Agent,就已经能够明显改善 AI 的输出质量。

而如今,短短半年时间,得益于 Agent 的强势发展,vibe coding 逐渐扩展到大众,局势已经发生了翻天覆地的变化;Skills 从最开始的 AI 概念,到现在的大面积普及,Skills 已经不是程序员的小众工具了,市面上出现了各式各样,各种功能的 Skills。

各领域的优秀 Skills

前端相关的 Skills 是最早的热门 Skills 之一。

image.png

Vue、React 等官方都下场开发了对应生态的 Skills,像一些组件库,比如 antdv-next 也推出了配套的 Skills,提供给 Agent,助力更高效和标准的开发。

而在编程之外,图像、写作、PPT 等办公领域也出现了不少热门 Skills。

Photo Abstract Editorial

一个将一张照片转化为「原始摄影区域 + 抽象记忆面板 + 诗意英文标题」的竖向编辑作品的 Skills。

1787493762729.png1787493781488.png

1787493812610.png

guizang-ppt-skill

一个适配 Claude Code / Codex 等 Agent 环境的网页 PPT 技能,用于生成单文件 HTML 横向翻页 PPT、PPT 配图和多平台封面,并内置完整的排练与演讲者模式。

1787495330573.png1787495347883.png

这个 Skills 制作出来的 PPT 效果已经比肩商业级的演示 PPT 了。

层出不穷的 Skills 已经很好的诠释了一开始我们说的那句话:Skills 是把经验和最佳实践沉淀为 AI 能力,将“知道”转化为“做到”的本领。

此外,国内的大厂,如腾讯还推出了专门的中文 Skills 平台:skillhub。

1787493314696.png

新的问题

但随着使用时间变长,新问题开始出现。

我们使用的 Agent 越来越多,安装和编写的 Skills 也越来越多:

  • Codex 里有一份
  • Claude Code 里有一份
  • Cursor 项目目录里可能还有另一份

我们处理的事情越来越多,Skills 的作用也逐渐区分开来:

  • 有些是全局生效的
  • 有些只属于某个项目
  • 有的是开发用的
  • 有的是办公用的
  • 有些从 GitHub 安装
  • 有些由个人或团队维护

当其中一个 Skill 被修改后,还要考虑其他 Agent 中的副本是否需要同步。

更换电脑时,又要重新整理和恢复原有的 Skills 环境,Skills 被散落在各地,杂乱无章。

这说明:

Skills 解决了 AI “会不会做”的问题,但当 Skills 越来越多以后,我们还需要解决“怎么管理”的问题。

针对这些痛点,一个开源的 Skills 与 MCP Server 桌面管理工具 SkillBuddy 应运而生。

GitHub:github.com/konnga/skil…

Agent 越来越多,Skills 散落得到处都是

现如今,同时使用多个 AI Agent 工作已经很常见。

开发者可能在不同场景下使用:

  • Claude Code
  • Codex
  • Cursor
  • Gemini CLI
  • GitHub Copilot
  • Trae
  • OpenCode
  • CodeBuddy
  • WorkBuddy

不同 Agent 的定位、模型和交互方式各有特点,但它们的 Skills 通常保存在各自约定的目录中。

当只使用一个 Agent、安装三五个 Skills 时,直接管理文件夹并没有什么问题。可是一旦 Agent 和 Skills 的数量增加,事情就没有那么简单了。

你可能会遇到这些情况:

  • 不知道电脑里一共安装了多少 Skills;
  • 不知道某个 Skill 被安装到了哪些 Agent;
  • 同一个 Skill 被复制到多个目录,占据了多个独立副本;
  • 新安装一个 Agent 后,需要重新寻找和安装常用 Skills;
  • 全局 Skills 和项目级 Skills 混在一起;
  • 已经不再使用的 Skill 留在某个角落,很久以后才被发现。

文件夹只能告诉用户“文件放在哪里”,却很难回答“当前拥有哪些能力”。

这就是第一个明显的管理痛点:Agent 众多,但缺少一个统一的 Skills 视图 管理。

缺少的不是另一个 Skills 市场,而是可视化管理

现在已经有 skills.sh、skillhub、GitHub 等渠道帮助我们发现 Skills,也有命令行工具帮助用户完成安装。

它们很好地解决了 “去哪里找”“怎么装” 的问题。

但长期使用时,用户还需要知道:

  • 这个 Skill 是做什么的?
  • 它来自哪里?
  • 它安装在哪些 Agent 中?
  • 它属于全局范围还是项目范围?
  • 它当前是否启用?
  • 多个 Agent 中的同名 Skill 内容是否一致?
  • 哪些 Skills 是自己的,哪些来自插件或系统?

当 Skills 从几个变成几十个甚至更多时,继续依赖命令行和文件目录,会逐渐失去整体视角。

更理想的方式,是提供一个类似软件包管理器的工作台,打开以后就能看到本机所有 Agent、Skills、安装位置和状态,而 SkillBuddy 则是为此而来。

dashboard.png

SkillBuddy 启动后会自动检测本机已经安装的 Agent,并扫描它们的 Skills 目录。不同 Agent、全局范围和项目范围中的 Skills,会被聚合到同一个界面中。

你可以用列表或网格浏览 Skills,查看描述、来源、安装位置和内容,而不需要逐个打开隐藏目录。

skills-overview.png

skills-grid.png

同一个 Skill,为什么会出现好几个版本?

把一个 Skill 安装到多个 Agent,本质上通常意味着在多个目录中保存它的副本。

刚安装时,它们的内容完全相同。但使用一段时间后,很容易出现这样的情况:

  1. Codex 中的 Skill 规则被修改;
  2. Claude Code 中还保留着旧内容;
  3. Cursor 的项目目录中又有一个针对当前项目调整过的版本;
  4. 三个目录里的文件名相同,但内容已经不一样了。

这类问题可以称为 Skills 内容漂移

1787497322088.png

它比“有没有安装”更难发现。因为从文件名来看,一切似乎都很正常,只有真正比较文件内容时,才能发现它们已经不是同一份 Skill。

SkillBuddy 会聚合不同 Agent 中的同名 Skills,并提示内容不一致。用户可以查看差异,选择一个可信版本作为基准,再同步到其他目标。

这意味着 Skills 管理不再只是复制文件,还包括:

  • 识别重复副本;
  • 检测内容差异;
  • 判断哪个版本是基准;
  • 预览同步范围;
  • 将确认后的内容分发到其他 Agent。

全局 Skills 和项目 Skills,也应该分开管理

并不是所有 Skills 都适合全局安装。

例如:

  • Vue 3 通用开发规范,可以作为个人全局 Skill;
  • 某家公司的接口约定,只适合公司的项目;
  • 某个仓库的目录结构和业务规则,只应该跟随当前项目;
  • 临时实验规则,可能只在一个项目中使用几天。

如果把所有 Skills 都放在全局目录中,Agent 会接收到越来越多与当前任务无关的信息。如果全部放进项目,又会出现大量重复配置。

因此,Skills 管理需要明确区分:

  • 用户级 Skills:面向个人,在多个项目中复用;
  • 项目级 Skills:跟随仓库,只服务于特定项目;
  • 插件或系统 Skills:由外部工具维护,通常不应随意修改。

SkillBuddy 可以添加项目目录,扫描项目中的 Skills,并把它们与用户级 Skills 分开展示。

project-skills.png

这样,用户看到的不再是一堆没有上下文的文件,而是一套有来源、有作用范围的 AI 能力。

一个 Skill 不够,更需要管理“技能包”

在真实项目中,开发者很少只依赖一个 Skill。

以 Vue 项目为例,一套完整的开发能力可能包括:

  • Vue 3 最佳实践;
  • Vue Router 使用规范;
  • Pinia 状态管理规范;
  • VueUse 组合式函数规范;
  • 组件测试规范;
  • UI 组件库规范;
  • 项目自己的代码和设计规范。

如果每次创建项目都逐个寻找、选择和安装,不仅操作重复,还很容易漏掉其中一项。

这和开发环境中的依赖管理很相似:最终需要管理的不是一个个孤立工具,而是一套可以复用的能力组合。

image.png

所以 SkillBuddy 支持把多个 Skills 组合成技能包,用于:

  • 保存常用的个人开发组合;
  • 一次安装到多个 Agent;
  • 给新项目快速配置一套 Skills;
  • 导入、导出和分享组合;
  • 批量启用或管理相关 Skills。

可以建立:

  • Vue 前端技能包;
  • React 性能优化技能包;
  • UI 设计审查技能包;
  • Node.js 后端技能包;
  • 代码评审技能包;
  • 某个岗位或项目的专属技能包。

Skills 只有能够被组织和复用,才会逐渐从“几份提示词文件”变成真正的能力体系。

个人 Skills 和团队 Skills,是两种不同的问题

个人使用 Skills 时,用户更关心:

  • 安装了什么;
  • 哪些 Agent 可以使用;
  • 多台电脑之间如何迁移;
  • 如何备份自己编写的 Skills;
  • 如何保持多个副本一致。

因此,SkillBuddy 支持将个人用户级 Skills 和技能包备份到私有 Git 仓库。更换电脑时,可以先预览远端内容和安装目标,再决定恢复哪些资源。

data-backup.png

但团队管理完全是另一个层次的问题。

团队不能把未经确认的 Skill 直接分发给所有成员。它通常需要考虑:

  • 哪些 Skills 已经通过团队审核;
  • 谁可以维护和发布 Skills;
  • 如何记录每次修改;
  • 不同岗位应该安装哪些 Skills;
  • 新成员如何快速获得标准能力;
  • 项目要求的 Skills 是否缺失或过期;
  • 如何阻止不符合安全要求的 MCP 配置。

只把文件放进一个共享目录,并不能解决这些问题。

SkillBuddy 的团队库使用 Git 仓库作为事实来源。团队可以在仓库中管理经过审核的 Skills、MCP 定义、岗位技能包和项目策略,并继续利用 Git 已有的分支、提交和 Pull Request 审核流程。

team-library.png

个人 Skills 可以自由实验,团队 Skills 则需要可审核、可追踪、可分发。把两者分开,是团队真正采用 Skills 时必须面对的一步。

Skills 之外,MCP Server 也在面临同样的问题

在之前的文章中,已经介绍过 MCP。它让 AI 应用能够以统一协议连接外部工具和数据。

但在本地使用时,MCP Server 的配置同样散落在不同 Agent 中。

每个 Agent 的配置文件、字段格式和支持能力可能不同。用户需要面对命令、参数、环境变量、远程地址和启用状态,很难快速确认某个 MCP Server 当前到底安装在哪里。

因此,SkillBuddy 也会扫描和聚合本地 MCP Server:

  • 查看 MCP Server 的配置和安装目标;
  • 管理启用与禁用状态;
  • 将配置同步到其他支持的平台;
  • 在修改前预览将要写入的配置文件;
  • 校验目标平台是否支持对应能力;
  • 避免在团队资源中保存明文 Token 和密码。

mcp-overview.png

1787497225288.png

SkillBuddy 管理的不只是某一种文件,而是开发者交给 AI 的整套本地能力。

SkillBuddy 是怎样工作的?

SkillBuddy 没有创造一种新的 Skills 格式,也不会要求 Agent 通过 SkillBuddy 才能运行 Skills。

它直接读取各个 Agent 原本使用的本地目录,并在用户确认后,把内容写入用户选择的目标位置。

可以把它理解为位于不同 Agent 之上的一个管理层:

                  SkillBuddy
                       │
        ┌──────────────┼──────────────┐
        │              │              │
  Claude Code        Codex          Cursor       ...
        │              │              │
   各自原有的 Skills 与 MCP 配置目录

即使不再使用 SkillBuddy,已经安装的 Skills 仍然保存在 Agent 原有目录中,不会被锁定在某个私有平台里。

目前 SkillBuddy 内置支持以下 Agent 的 Skills 目录约定:

  • Claude Code
  • Codex
  • Cursor
  • OpenCode
  • GitHub Copilot
  • Gemini CLI
  • CodeBuddy
  • Trae / Trae CN
  • WorkBuddy
  • 豆包
  • Kimi Code
  • Z Code
  • ...

目前还在不断扩充中,当然你也可以通过自定义目录添加其他 Agent。

platforms.png

为什么选择桌面应用?

Skills 和 MCP 配置首先是本地文件。

如果要扫描多个 Agent 的目录、比较文件差异、管理项目级资源、打开本地安装包,那么桌面应用比纯网页更适合。

SkillBuddy 采用本地优先的方式:

  • 不要求注册 SkillBuddy 账号;
  • 默认扫描和管理本地文件;
  • 只修改用户明确选择的目标;
  • 私有 Git 仓库认证交给系统 Git、SSH Agent 或凭据管理器;
  • 不保存 Git 仓库密码;
  • Git 备份不会包含 MCP 配置、Token、本机绝对路径和项目级 Skills。

当然,能够操作本地文件也意味着工具必须更加谨慎。SkillBuddy 会在主进程中校验可管理路径,拒绝写入受管目录之外的位置,并在批量变更前尽可能展示目标和具体操作。

当前版本和一些限制

SkillBuddy 目前仍处于公开预览阶段,还有很多细节需要继续完善。

当前提供以下安装包:

  • macOS Apple Silicon:DMG、ZIP;
  • Windows x64:EXE、ZIP;
  • Windows ARM64:预览版本;
  • Linux x64:AppImage、DEB、RPM;
  • Linux ARM64:预览版本。

目前暂不支持 Intel Mac。

下载和体验

SkillBuddy 已经在 GitHub 开源,使用 MIT 协议。

安装完成后,可以先尝试下面这条最短体验路径:

  1. 打开 SkillBuddy,查看自动检测到的 Agent;
  2. 查看本机已有的用户级 Skills;
  3. 添加一个项目目录,检查项目级 Skills;
  4. 选择一个 Skill,查看它在不同 Agent 中的安装状态;
  5. 尝试把它安装或同步到另一个 Agent;
  6. 将几个常用 Skills 保存为一个技能包。

Skills 的下一步,是从“安装”走向“管理”

一开始我们关注如何让 AI 获得新的能力。

而当这些能力越来越多,新的问题就变成了:怎样才能真正管理好它们?

随着 Agent 数量增加,Skills 生态很可能会继续扩大。开发者需要更多高质量的 Skills,同时也需要解决可视化、作用范围、版本漂移、技能包、备份迁移和团队协作等问题。

SkillBuddy 是对这个问题的一次开源尝试。

它现在还处于早期阶段。如果你也在同时使用 Claude Code、Codex、Cursor 或其他 AI Agent,欢迎体验 SkillBuddy,并分享:github.com/konnga/skil…

你在管理个人或团队 Skills 时,还遇到过哪些问题?