【摘要】
SkillDeck 是首个用于管理多个 AI 代码代理技能的 macOS 原生桌面应用,支持 Claude Code、Codex、Gemini CLI 等 11 种主流 AI Agent。本文从痛点分析、核心功能、安装配置、实际使用和架构设计 5 个维度,带你全面掌握这款开源工具的使用方法。

【正文】


前言

作为一名经常同时使用 Claude Code、Copilot CLI、Gemini CLI 的程序员,你有没有遇到过这样的场景:某个 Agent 装了十几个 Skills,另一个 Agent 又装了一套,更新时根本不知道哪个是最新版,卸载还容易留残留。

最近开源社区出现了一个专门解决这个问题的工具——SkillDeck,今天来全面评测一下。


一、AI Coding Agent 技能管理的痛点

1.1 现状:一个技能,N 种折腾

目前主流的 AI Coding Agent 都有自己的 Skills 体系,用于扩展 Agent 的专业能力。但这些技能的管理方式非常原始:

操作 传统方式 痛点
安装技能 git clone + 手动建软链接 重复操作,容易出错
多 Agent 共享 复制 N 份软链接 维护成本高
检查更新 手动 git pull 对比 根本不知道哪个该更新
卸载技能 手动删文件 + 清理软链接 容易残留

1.2 主流 Agent 及其技能目录

目前至少有 11 种主流 AI Coding Agent,每个都有自己的技能目录:

Agent 技能目录 是否支持共享
Claude Code ~/.claude/skills/ 仅自身
Codex ~/.codex/skills/ 支持 ~/.agents/skills/
Gemini CLI ~/.gemini/skills/ 仅自身
Copilot CLI ~/.copilot/skills/ 支持 ~/.claude/skills/
Cursor ~/.cursor/skills/ 支持 ~/.claude/skills/
OpenCode ~/.config/opencode/skills/ 支持多个共享目录
Kiro ~/.kiro/skills/ 仅自身
CodeBuddy ~/.codebuddy/skills/ 仅自身

💡 虽然有些 Agent 支持共享目录(如 Codex 可以读 ~/.agents/skills/),但实际使用中还是很混乱。


二、SkillDeck 核心功能详解

2.1 统一仪表盘:一个界面管所有

SkillDeck 采用 macOS 原生 SwiftUI 三栏布局:

  • 左侧:Agent 筛选面板(支持多选)
  • 中间:技能列表(支持搜索、排序)
  • 右侧:技能详情(SKILL.md 内容、安装状态、Agent 分配)

关键特性是 Symlink 去重——同一个技能安装到多个 Agent 时,列表中只显示一次,不会重复刷屏。

2.2 内置技能市场

集成了两个技能市场源:

市场源 说明
skills.sh 社区排行榜,支持 All Time / Trending / Hot 排序
ClawHub OpenClaw 的技能目录

支持关键词搜索、排序筛选、一键安装。安装过程自动处理 git clone、扫描 SKILL.md、创建软链接和更新锁文件。

2.3 Toggle 分配 Agent

这是我觉得最实用的功能。在技能详情页,每个 Agent 对应一个 Toggle 开关:

开关状态 = ON  → 自动创建软链接到对应 Agent 目录
开关状态 = OFF → 自动删除软链接

代码逻辑示意

// SkillDeck 的 Agent 分配逻辑(伪代码)
func toggleAgent(skill: Skill, agent: Agent, enabled: Bool) async {
    let symlinkPath = agent.skillDirectory + "/" + skill.name
    if enabled {
        // 创建软链接
        try fileManager.createSymbolicLink(
            at: URL(fileURLWithPath: symlinkPath),
            withDestinationURL: skill.originalPath
        )
    } else {
        // 删除软链接
        try fileManager.removeItem(at: URL(fileURLWithPath: symlinkPath))
    }
}

2.4 自动更新检测

SkillDeck 通过对比远程 Git 仓库的 tree hash 来判断是否有更新:

检测方式 说明
本地 commit hash 记录安装时的版本
远程 tree hash 对比远程是否有变更
UI 角标提示 有更新时显示红色角标

检测到更新后,一键 git pull 即可完成更新,不需要重新安装。

2.5 文件系统监听

SkillDeck 使用文件系统监控(File System Monitor),实时监听各 Agent 技能目录的变化:

  • 如果通过 CLI(如 claude skills add)安装了新技能,GUI 自动刷新
  • 如果手动删除了技能文件,GUI 也会即时响应
  • 双向同步,CLI 和 GUI 操作不会冲突

三、安装与配置

3.1 安装方式

方式一:Homebrew(推荐)

brew tap crossoverJie/skilldeck
brew install --cask skilldeck

方式二:直接下载

GitHub Releases 下载 SkillDeck-v0.0.18-universal.zip,解压后将 SkillDeck.app 拖入 /Applications/

方式三:从源码构建

# 环境要求:macOS 14+、Xcode 15+、Swift 5.9+
git clone https://github.com/crossoverJie/SkillDeck.git
cd SkillDeck
swift run SkillDeck

# 或使用 Xcode
open Package.swift  # 然后按 Cmd+R 运行

3.2 首次启动配置

⚠️ 由于应用未签名,macOS 可能拦截启动。解决方法:

# 方法一:终端命令
xattr -cr /Applications/SkillDeck.app

# 方法二:右键点击应用 → 打开 → 在弹窗中点击"打开"

3.3 应用设置

SkillDeck 支持以下全局配置:

设置项 说明
语言切换 英文 / 简体中文,支持应用内一键切换
全局字体 自定义界面字体大小
代理网络 支持 HTTPS / SOCKS5 代理,Keychain 存储凭证
内联翻译 macOS 26+ 支持中文界面下自动翻译技能文档

四、实战案例与踩坑记录

4.1 实战:从零开始管理 Claude Code 技能

以下是一个完整的使用流程:

Step 1:启动 SkillDeck,左侧选择 “Claude Code”

Step 2:点击"市场"标签,浏览 skills.sh 排行榜

Step 3:搜索 “pdf”,找到 PDF 相关技能,点击"安装"

Step 4:安装完成后,自动出现在技能列表中,SKILL.md 内容实时预览

Step 5:在详情页,打开 “Codex” 和 “Copilot CLI” 的 Toggle,一键共享给其他 Agent

Step 6:点击"检查更新",发现某个技能有新版本,一键更新

整个过程无需打开终端,全程 GUI 操作。

4.2 踩坑记录

坑点 描述 解决方案
首次启动被拦截 macOS Gatekeeper 阻止未签名应用 xattr -cr 命令解除
技能不显示 某些 Agent 未安装或未检测到 确保 Agent CLI 在 PATH 中
软链接失效 手动移动了原始技能目录 在 SkillDeck 中重新安装
中文翻译不生效 需要 macOS 26+ 系统支持 升级系统或关闭翻译功能
代理配置不生效 SOCKS5 代理格式不正确 格式:socks5://host:port

4.3 最佳实践

  • 定期检查更新:SkillDeck 的更新检测功能可以一键批量更新所有技能
  • 善用共享目录:Codex、OpenCode 等支持共享目录的 Agent,优先使用共享
  • 用 Toggle 管理:不要手动操作软链接,全部通过 SkillDeck 的 Toggle 管理
  • 配合 CLAUDE.md:在项目根目录放 CLAUDE.md 文件,规范 AI Agent 的行为

五、架构设计解析

5.1 技术栈

技术 说明
语言 Swift 5.9+(占比 96.9%)
框架 SwiftUI
架构 MVVM(基于 @Observable
并发 Swift Actor
系统 macOS 14+ (Sonoma)
协议 MIT

5.2 核心架构

SkillDeck 的数据流向非常清晰:

Views (SwiftUI)
  ↓
ViewModels (@Observable)
  ↓
SkillManager
  ↓
Services (Swift Actor, 线程安全)
  ↓
File System (文件系统即数据库)

设计理念:文件系统即数据库(Filesystem as Database)。每个技能就是一个包含 SKILL.md 文件的目录,SkillDeck 通过读取文件系统来获取所有技能信息,不依赖额外的数据库。

5.3 值得关注的亮点

🤯 全程 AI 开发:整个项目从第一行代码到现在,全部使用 Claude Code 开发。作者 crossoverJie 的技术栈是 Java/Go/Python,Swift 零基础、SwiftUI 零经验,但借助 AI 完成了这个高质量的原生 macOS 应用。

这个案例本身就很有参考价值——它证明了 AI Coding 已经可以胜任跨语言、跨平台的完整应用开发。


六、总结与建议

6.1 适用场景

场景 推荐指数 说明
多 Agent 用户 ⭐⭐⭐⭐⭐ 同时使用 3+ 个 AI Agent 的程序员
技能重度用户 ⭐⭐⭐⭐⭐ 安装了 10+ 个 Skills 的用户
单 Agent 轻度用户 ⭐⭐⭐ 如果只用一个 Agent 且技能不多,CLI 足够
非 macOS 用户 目前仅支持 macOS

6.2 综合评价

维度 评分 说明
功能完整性 ⭐⭐⭐⭐⭐ 覆盖安装、更新、分配、市场全流程
UI 体验 ⭐⭐⭐⭐⭐ 原生 SwiftUI,流畅直观
稳定性 ⭐⭐⭐⭐ 已迭代到 v0.0.18,日常使用稳定
文档质量 ⭐⭐⭐⭐ 中英文 README 齐全,有开发文档
社区活跃度 ⭐⭐⭐ 250+ Star,24 Fork,早期阶段

6.3 一句话总结

SkillDeck 是目前唯一一个能统一管理多个 AI Coding Agent 技能的桌面工具,如果你同时使用多个 AI 编程助手,强烈建议一试。


参考资料/延伸阅读


📢 你在日常开发中用哪些 AI Coding 工具?遇到过技能管理的痛点吗?欢迎评论区交流!

如果本文有帮助,欢迎 点赞 👍 收藏 ⭐ 关注,持续输出 AI 工具深度评测!

更多 AI 实战干货,关注公众号「一粒黑子」,扫码关注不迷路👇
在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐