统一管理Agent Skills

AI 编程工具越来越多,Claude Code、Cursor、Gemini CLI、Copilot、Windsurf、Cline......每个工具都有自己的 skills,配置文件分散在不同目录

文章目标:统一管理 AI Agent 的 Skills,将所有 Skills 存储在一个中央目录(例如 ~/.skills),再通过软链接分发到各个 Agent

方案一:手动创建管理然链接

  1. 创建中央技能仓库,选择一个固定的位置来存放所有 Skills。推荐 ~/.skills

    bash 复制代码
    mkdir -p ~/.skills
  2. 规划目录结构,在 ~/.skills 下,为每个技能创建一个独立的目录,并在其中放入核心文件 SKILL.md

bash 复制代码
~/.skills
├── my-skill-1
│   └── SKILL.md
└── my-skill-2
    └── SKILL.md
  1. 为每个Agent创建软链接,
AI Agent 默认技能目录路径
Claude Code (个人级) ~/.claude/skills/
Cursor (个人级) ~/.cursor/skills/

对于每个你想共享的技能,在每个Agent的技能目录下执行以下命令:

bash 复制代码
# 示例:将 ~/.skills/my-skill-1 链接到 Claude Code 和 Cursor
ln -s ~/.skills/my-skill-1 ~/.claude/skills/
ln -s ~/.skills/my-skill-1 ~/.cursor/skills/

方案二:ai自动创建软连接

将下面这端文字直接丢给ai执行,他会自动帮你创建好相对应的软连接,不方便的是每次又要执行一次,掌控成熟度不高

txt 复制代码
统一用户级 Skills 软链接配置 
目标:将分散在各 Agent 工具中的 skills 统一迁移到 ~/.skills,并通过软链接让所有 Agent 共享同一份用户级 skills。 
执行步骤: 创建 ~/.skills 目录 遍历以下 Agent 
工具目录:~/.qoder、~/.qoderwork、~/.claude、~/.cursor ~/.copilot 
对每个存在的 Agent 目录: 
如果 skills 是真实目录:将其内容复制到 ~/.skills/(有冲突则跳过),然后备份原目录 
如果 skills 已是软链接:直接删除 创建软链接 ~/.{agent}/skills 指向 ~/.skills 验证所有软链接创建成功

方案三 使用专用管理工具(推荐)

工具 核心理念 配置 同步方式 主要亮点 适用场景
open-skill-manager (osm) "统一存储 + 动态软链分发" 通过 ~/.osmrc 配置文件设置 store_path (技能仓库) 和 link_targets (需要同步的Agent目录) 执行 osm sync 命令,将 store_path 中的所有技能,同步到所有配置好的 link_targets 目录 支持从GitHub等源安装技能;安装后可通过修改配置并用sync命令一键同步到所有新Agent 偏好命令行、需要批量同步多Agent的用户
one-skills-manager 基于"安装一次,到处链接"的理念 通过 Profiles 概念管理不同场景(如工作、个人),每个Profile可独立配置需要同步的Agent 执行 one-skills sync 命令,将当前激活的Profile下的所有技能同步到该Profile指定的Agent 支持Profile切换,场景管理灵活;不仅能管理Skills,还能管理Rules和MCP Servers 工作场景多变,需要隔离不同环境配置的进阶用户
dotagents 声明式包管理器 通过项目根目录下的 agents.toml 文件,以类似package.json的方式声明项目依赖的技能及其来源 执行 npx @sentry/dotagents install 命令,根据声明自动安装并创建软链接 支持从Git仓库、本地路径安装;通过agents.lock锁定版本,确保团队环境一致 团队协作、需要版本锁定和可复现环境的项目
ShareSkills "通用中央枢纽" 通过交互式命令行设置中央Hub目录和需要同步的Agent 运行同步命令,它会将所有Agent的现有技能合并到中央Hub ,然后将各Agent的原始目录替换为指向Hub的软链接 操作简单,偏向迁移和整合;支持多Agent,提供安全备份 希望快速整合现有分散的技能,实现"一处修改,处处生效"的用户
skillmanager 跨平台多源管理器 支持project(项目级)和global(用户级)作用域,通过交互式界面或命令行参数选择技能和Agent install命令安装,update命令更新,基于openskills实现同步 跨平台支持优秀;提供Web UI进行可视化管理 需要跨平台(特别是Windows)支持,或偏好图形化界面的用户

对比了几个三方的管理工具,这些工具能自动完成技能安装、更新、链接创建和同步等繁琐工作。这里我选择的是osm用于我机子的管理,主要是命令简单快捷,所以就用这个了

open-skill-manager它的核心逻辑很清晰:

  1. 统一存储 :所有通过 osm 下载的 Skills 实体,都会存放在一个固定的中央仓库(例如 ~/.open_skills
  2. 动态分发 :工具会根据你的配置(link_targets),在指定 Agent 的技能目录(如 ~/.claude/skills/)下创建指向中央仓库的软链接 。这意味着,你实际上只需管理中央仓库这一份技能,然后通过 osm sync 命令,就能一键把这份技能同步到所有配置好的 Agent 中,实现高效管理

osm使用

**1.全局安装oms :**这个命令会全局安装 osm 命令,让你在任意目录下都能使用它

arduino 复制代码
npm install -g open-skill-manager
bash 复制代码
# 这个命令可以查看需要同步的agent
osm config set link_targets '["~/.claude", "~/.cursor"]'

2.核心配置: 安装后,配置文件 ~/.osmrc 会自动生成,其中有三个最关键的配置项需要你关注

  • store_path : 中央仓库的位置。默认是 ~/.open_skills,建议保持默认。
  • link_targets: 这是一个数组,用来定义所有需要管理的 Agent 技能目录的路径。这是你实现"一处管理,多Agent共享"的核心。
  • system.auto_overwrite_links: 控制当软链接已存在时是否自动覆盖 你可以通过以下命令进行配置管理:
bash 复制代码
# 查看所有配置
osm config list

# 查看特定配置项
osm config get link_targets

# 设置link_targets,例如同时为 Claude Code 和 Cursor 创建软链接
osm config set link_targets '["~/.claude", "~/.cursor"]'

# 设置自动覆盖软链接
osm config set system.auto_overwrite_links true

3.OSM下载skill: 使用 osm install 命令,支持从 GitHub 仓库、子目录或自定义源安装

bash 复制代码
# 从 GitHub 仓库安装某个技能
osm install username/skill-name

# 安装 GitHub 仓库的子目录作为技能
osm install jimliu/baoyu-skills/skills/baoyu-image-gen

# 从自定义的 Git 仓库或 ZIP 文件安装
osm install my-skill -s https://github.com/user/repo.git
osm install my-skill -s https://example.com/skill.zip

4.一键同步分发:

bash 复制代码
# 将当前 store_path 里的所有技能,同步到所有配置好的 link_targets 目录
osm sync

⚠️ 可能遇到的问题

虽然 osm 会自动创建目录,但在极少数情况下,如果当前用户没有家目录 (~) 的写入权限,创建操作可能会失败。如果你遇到此类问题,可以:

  • 检查权限 :执行 ls -ld ~ 查看家目录的权限。
  • 手动创建:作为备选方案,你也可以手动创建目录以确认权限。
bash 复制代码
mkdir -p ~/.open_skills

一个应用,统一管理所有 AI 编码工具的 Skills。

可以看看这个开源应用,能省很多事,可视化操作

其他方案

遵循标准化目录 .agents/skills,这是一个行业趋势,旨在解决不同Agent工具目录不统一的碎片化问题。部分前沿工具(如Codex)已开始支持从 .agents/skills 目录读取技能。这一步取决于工具本身。对于已支持该标准的Agent,你只需确保它在启动时会优先或同时扫描 .agents/skills 目录。对于暂未支持的,你仍可能需要为它们创建从各自目录指向 .agents/skills 的软链接。

相关推荐
淸湫15 小时前
项目中使用了全局权限管理,请详细描述如何通过Vue Router的路由守卫来实现全局权限控制?
前端·vue.js
雪铃儿15 小时前
Shorebird 之外,Flutter Android 热更新还有什么选择
android·前端
李剑一15 小时前
前端必看 | Vue 刷新页面,生命周期钩子直接 "罢工",原来问题在这?90% 开发者都栽过!
前端·vue.js
閞杺哋笨小孩15 小时前
域名驱动多租户入驻:后台配置 + 前端解析
前端·vue.js
TeamDev15 小时前
在 Excel 加载项中嵌入 Web 视图
前端·后端·.net
悠哉摸鱼大王15 小时前
cesium学习(一)-基本概念
前端·cesium
LinDaiDai_霖呆呆15 小时前
大白话介绍大模型的一些底层原理,看完终于能跟人聊两句了
前端·人工智能·面试
嘻嘻仙人15 小时前
从原理到代码,拆解Plan-and-Solve智能体设计模式
agent
悠哉摸鱼大王15 小时前
cesium学习(二)-地图地形
前端·cesium
阿里云云原生16 小时前
从“玩具”到“工具”的进化:AgentRun如何构建企业级AI运维中台?
agent