MCPcopy Index your code
hub / github.com/cchao123/skills-manager

github.com/cchao123/skills-manager @v1.3.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.3.5 ↗ · + Follow
2,211 symbols 6,447 edges 145 files 81 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Skills Manager

在多个 AI Agent 之间管理、同步和分发 Skills 的桌面应用。

Tauri React TypeScript License Platform

文档语言 / Readme language

中文 · English

意见反馈(GitHub Issues)


Skills Manager 是什么

Skills Manager 是一个基于 Tauri 2 + React + Rust 的桌面应用,为 Claude Code 及其他 AI Agent 提供统一的技能管理与分发平台。

它当前围绕以下工作流展开:

  • Marketplace 技能市场:浏览、搜索并一键安装社区技能,支持 All Time、Trending、Hot 三种排序
  • 统一扫描与管理:聚合本地多个 Agent 的 skill 目录,合并成一份可管理视图
  • 跨 Agent 分发:通过链接或复制,把同一个 skill 分发到不同 Agent
  • 集中存储:把可复用的 skills 放进中心目录,便于维护与迁移
  • GitHub 备份与恢复:将技能仓库推送到远端,或在新机器上一键恢复
  • CI/CD 自动构建:基于 GitHub Actions 实现跨平台自动构建与发布

默认支持的 Agent 包括:Claude、Cursor、Codex、OpenClaw、OpenCode


功能概览

Marketplace 技能市场

  • 三大榜单:All Time(总榜)、Trending(趋势榜)、Hot(热门榜)
  • 智能搜索:按技能名称、描述快速筛选
  • 一键安装:选择目标 Agent,直接下载并启用技能
  • 详情预览:查看技能的 SKILL.md 内容、统计数据、安全审计等
  • 进度追踪:实时显示下载进度与安装状态
  • Agent 选择器:可选择安装到 Root 或特定 Agent 目录

技能市场 技能详情

Skills 总览与管理

  • 统一视图:把来自不同来源的 skills 聚合到一个界面中管理
  • 跨 Agent 开关:通过总开关 / 子开关控制 skill 在不同 Agent 中的启用状态
  • 多来源查看:查看 skill 的详情、来源和文件结构
  • 拖拽导入:支持将包含 SKILL.md 的文件夹直接拖入导入

主页 技能详情

GitHub 备份与分发

  • 同步到 GitHub:将本地 skills 仓库推送到远端
  • 从 GitHub 恢复:在新机器上拉取远端仓库并恢复本地 skills
  • 分发技能仓库:把整理好的 skills 作为共享仓库提供给自己或团队使用
  • 配置向导:可视化配置 GitHub 仓库信息

GitHub 备份 GitHub 设置


技术栈

层级 技术
前端 React 18、TypeScript、Vite 5、Tailwind CSS、react-i18next
桌面 Tauri 2(Rust)
CI/CD GitHub Actions(多平台构建、自动发布)
典型依赖 serde、git2、ureq、walkdir 等

开发与构建需安装 Node.jsRust;在 macOS 上编译部分原生依赖时可能需要 OpenSSL(见下文)。


快速开始

环境要求

  • Node.js 18+npmpnpm,与仓库锁文件一致即可)
  • Rustrustup 安装 stable)
  • macOS:若遇 OpenSSL 相关报错,可用 Homebrew: bash brew install openssl@3 export OPENSSL_DIR=$(brew --prefix openssl@3) export PKG_CONFIG_PATH=$(brew --prefix openssl@3)/lib/pkgconfig

克隆与安装

git clone <仓库地址>
cd skills-managers
npm install

可选:启用统计与监控(Aptabase + Sentry)

项目会按需读取 .env / .env.local / src-tauri/.env 等环境变量文件。若你需要启用统计或监控,可自行创建 .env 并填写以下变量:

  • APTABASE_APP_KEY:事件统计(前端 trackEvent + Rust 生命周期事件)
  • VITE_SENTRY_DSN:前端 React 错误上报
  • SENTRY_DSN:Rust 侧 panic / error 上报
  • VITE_ENABLE_TELEMETRY=false:可一键关闭前端 telemetry

开发调试

npm run tauri:dev

将启动 Vite(默认 http://localhost:5173)并打开桌面窗口;前端支持热更新,后端修改后按 Tauri 常规流程重新编译。

纯浏览器中打开前端时,部分能力会使用 Mock 数据,完整功能请在 Tauri 窗口中使用。


构建发布

# Windows x64
npm run tauri:build

# macOS(按需指定 target,详见 Tauri 文档)
npm run tauri:build -- --target aarch64-apple-darwin
npm run tauri:build -- --target x86_64-apple-darwin

产物位于 src-tauri/target/release/src-tauri/target/release/bundle/(安装包视平台而定)。

仅改 Rust 时可加快迭代:

cargo build --manifest-path=src-tauri/Cargo.toml

配置与数据位置(摘要)

  • 应用配置:~/.skills-manager/config.json(技能启用状态、Agent、语言等)
  • 中央技能目录:~/.skills-manager/skills/
  • GitHub 配置:~/.skills-manager/github-config.json

技能元数据来自各目录下的 SKILL.md(建议含 YAML frontmatter:namedescription 等)。


CI/CD 自动构建

项目使用 GitHub Actions 实现自动化构建与发布:

构建工作流 (.github/workflows/build.yml)

触发条件: - 推送标签:v*(如 v1.0.4) - 手动触发:可选择指定标签

支持平台: - macOS ARM64(Apple Silicon) - macOS x64(Intel) - Windows x64

构建产物: - macOS:.app.app.tar.gz.dmg - Windows:.exe(NSIS 安装包)、.msi(Windows Installer)

自动发布: - 构建成功后自动创建 GitHub Release - 产物上传为 Release Assets - 支持环境变量配置监控与统计(Aptabase、Sentry)

使用方式

# 创建并推送标签触发自动构建
git tag v1.0.4
git push origin v1.0.4

# 或在 GitHub Actions 页面手动触发工作流

常见问题

现象 处理方向
图标格式报错 使用 npx @tauri-apps/cli icon <源图> 生成符合要求的图标集
5173 端口占用 结束占用进程或修改 Vite 端口配置
macOS OpenSSL 设置上文 OPENSSL_DIR / PKG_CONFIG_PATH
列表里没有技能 确认本机已安装对应 Agent、技能路径存在且含 SKILL.md,在界面中执行重新扫描
Marketplace 无法加载 检查网络连接,确保能访问 skills.sh API
GitHub 备份失败 确认 GitHub Token 有仓库读写权限,检查仓库配置是否正确
技能安装失败 确认目标 Agent 目录存在且有写入权限,检查磁盘空间

更多截图、说明和静态文档可参考 docs/ 目录;若文档与代码不一致,以当前代码实现为准。


项目结构(简)

skills-manager/
├── .github/workflows/   # GitHub Actions CI/CD 配置
│   ├── build.yml        # 多平台构建工作流
│   └── deploy-pages.yml # 页面部署工作流
├── app/                 # React 前端(Vite)
│   └── src/
│       ├── pages/       # 页面组件
│       │   ├── Dashboard/       # 技能管理主页
│       │   ├── SkillDownload.tsx # Marketplace 技能市场
│       │   ├── GitHubBackup/    # GitHub 备份页
│       │   └── Settings/        # 设置页
│       └── api/         # Tauri API 封装
├── src-tauri/           # Tauri + Rust 后端
│   ├── src/
│   │   ├── commands/   # Tauri 命令处理
│   │   └── *.rs        # 核心业务逻辑
├── docs/                # 文档与资源(如 docs/assets/logo.png)
├── LICENSE
├── README.md
└── README.en.md         # 英文说明

参与贡献

欢迎通过 GitHub Issues 反馈与讨论,也欢迎 Pull Request:功能改进、文档、国际化、Bug 修复等。

  1. Fork 本仓库
  2. 新建分支:git checkout -b feature/your-feature
  3. 提交修改并推送
  4. 发起 Pull Request

提交前建议在本地执行 npm run build(含 tsc)与 cargo build,减少 CI 失败。


开源协议

本项目以 MIT License 发布,详见仓库内 LICENSE

英文说明见 README.en.md


致谢 · Acknowledgments

Extension points exported contracts — how you extend this code

StepIndexProps (Interface)
* Steps / Step —— 用于渲染带编号圆圈和纵向连接线的分步教程。 * * 用法: * * * <p className="text-s
app/src/components/Steps.tsx
PreviewLockedSectionProps (Interface)
* 预览环境下对"需要桌面原生能力"的 Settings tab(Agents / Advanced) * 渲染的占位卡片。视觉风格和其他 Settings section 对齐(白底圆角 + 内容中置)。
app/src/pages/Settings/components/PreviewLockedSection.tsx
PinIndicatorProps (Interface)
* Skill 卡片置顶指示器:三个由浅到深的等距直角三角形叠加在左上角, * 形成"折角 / 多层标签"视觉。卡片本身的 `overflow-hidden + rounded-xl` * 会自动把三角形按圆角裁剪。 * * 颜色方
app/src/pages/Dashboard/components/PinIndicator.tsx
AgentMeta (Interface)
* 前端维护的 agent 元信息 —— 单一数据源。 * * 新增/调整 agent 时只改动这里,所有依赖(Settings 列表、Dashboard 路径、 * Detail Modal 全名、Source 短名、图标)都会自动
app/src/constants/agents.ts
PreviewOnlyDesktopProps (Interface)
* 非 Dashboard 路由在预览模式下的占位页。 * * 这些页面涉及本地文件系统(Settings / Agents 发现)、私密 token(GitHub Backup) * 或桌面托盘,无法在浏览器里还原,明确引导用户下载
app/src/preview/PreviewOnlyDesktop.tsx

Core symbols most depended-on inside this repo

t
called by 504
docs/preview/assets/preview-C3c-26Wv.js
push
called by 245
docs/preview/assets/preview-C3c-26Wv.js
consume
called by 227
docs/preview/assets/preview-C3c-26Wv.js
n
called by 217
docs/preview/assets/preview-C3c-26Wv.js
slice
called by 111
docs/preview/assets/preview-C3c-26Wv.js
a
called by 102
docs/preview/assets/preview-C3c-26Wv.js
i
called by 97
docs/preview/assets/preview-C3c-26Wv.js
e
called by 95
docs/preview/assets/preview-C3c-26Wv.js

Shape

Function 1,782
Method 256
Class 88
Interface 79
Enum 6

Languages

TypeScript90%
Rust10%

Modules by API surface

docs/preview/assets/preview-C3c-26Wv.js1,660 symbols
src-tauri/src/github/mod.rs25 symbols
src-tauri/src/commands/marketplace.rs25 symbols
app/src/pages/Marketplace/SkillDownload.tsx22 symbols
src-tauri/src/commands/skills.rs21 symbols
src-tauri/src/settings.rs20 symbols
src-tauri/src/linker.rs19 symbols
src-tauri/src/models.rs16 symbols
src-tauri/src/commands/github.rs13 symbols
app/src/pages/Settings/components/AgentsSection.tsx13 symbols
src-tauri/src/scanner.rs12 symbols
src-tauri/src/main.rs10 symbols

For agents

$ claude mcp add skills-manager \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page