# skill-sync **Repository Path**: guohui.cn/skill-sync ## Basic Information - **Project Name**: skill-sync - **Description**: 同步各个agent的skill和导入skill到指定的agent - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-07 - **Last Updated**: 2026-08-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🔄 SkillSync **本地 Skill 管理与跨 Agent 同步工具** 一个现代化的桌面应用,帮助你管理、浏览和同步来自不同 AI Agent(Claude Code、Cursor、WorkBuddy 等)的 Skill。 ![Platform](https://img.shields.io/badge/Platform-Windows-blue) ![Electron](https://img.shields.io/badge/Electron-28-green) ![License](https://img.shields.io/badge/License-MIT-yellow) --- ## ✨ 功能特性 ### 📂 统一管理 - 自动扫描多个 Agent 的 Skill 目录,统一呈现在一个界面中 - 支持**递归扫描**,无论 Skill 目录嵌套多深都能发现 - 识别含 `SKILL.md` 文件的目录作为 Skill 标准 ### 🔄 跨 Agent 同步 - 选中任意 Skill,一键同步到其他 Agent - 支持**多选 Skill × 多选目标 Agent** 批量同步 - 智能冲突处理:目标目录已有同名 Skill 时弹出确认框,可选择覆盖或跳过 ### 📦 导入 Skill 包 - 支持导入 ZIP 格式的 Skill 压缩包 - 自动验证 ZIP 内容(必须包含 SKILL.md) - 批量导入多个 Skill 到指定 Agent - 支持强制覆盖已存在的同名 Skill ### 🖥️ 美观现代的界面 - 左侧 Agent 筛选栏,右侧 Skill 卡片列表 - 点击卡片展开详情预览(Skill 名称、描述、路径) - 全局搜索、批量选择、刷新扫描 - 支持**明/暗主题自动跟随系统** ### ⚙️ 开箱即用 + 可扩展 - 内置 4 个常用 Agent 预设(Claude Code、Cursor、WorkBuddy、WindiC) - 支持添加自定义 Agent 类型和路径 - 导入/导出配置,方便多设备同步 ### 🌐 中英双语界面 - 菜单栏支持**中文 / English 一键切换** - 通过菜单「帮助 → 语言」或界面右上角「中文 / EN」按钮切换 - 语言偏好持久化到 `~/.skill-sync/config.json`,首次启动自动跟随系统语言 --- ## 🚀 快速开始 ### 下载安装 **方式:从源码运行** ```bash git clone https://github.com/guohui1992/skill-sync.git cd skill-sync npm install npm run dev ``` ### 构建发布包 ```bash npm install npm run build ``` 构建产物位于 `release/` 目录。 --- ## 📖 使用指南 ### 首次使用 1. 启动应用后,点击顶部 **刷新** 按钮扫描 Skill 2. 应用会自动发现内置 4 个 Agent 目录中的所有 Skill 3. 如需添加其他 Agent,点击左侧栏底部 **添加自定义 Agent** ### 同步 Skill 1. 在 Skill 列表中勾选要同步的 Skill(支持多选) 2. 点击底部 **同步到...** 按钮 3. 在弹窗中选择目标 Agent 4. 如目标目录已存在同名 Skill,可勾选「强制覆盖」 5. 点击确认完成同步 ### 管理 Agent - **编辑**:鼠标悬停在 Agent 条目上,点击出现的编辑图标 - **删除**:仅支持删除自定义 Agent,内置 Agent 不可直接删除 - **永久删除内置 Agent**:通过导入配置实现 — 导出配置后手动删除内置 Agent 条目,再导入配置即可;重启后该内置 Agent 不会恢复 - **路径**:Agent 配置中的路径为该 Agent 的 Skill 根目录,应用会递归扫描其下所有含 `SKILL.md` 的子目录 - **导入 Skill 包**:在左侧 Agent 列表右键点击目标 Agent,选择「导入 Skill 包」,然后选择 ZIP 文件 ### 导入 Skill 包 1. 在左侧 Agent 列表右键点击目标 Agent 2. 选择「导入 Skill 包」 3. 在文件选择框中选择 ZIP 文件(需包含 skill 目录,每个目录含 `SKILL.md`) 4. 在弹窗中确认要导入的 Skill 列表 5. 如目标目录已存在同名 Skill,可勾选「强制覆盖」 6. 点击确认完成导入 ### 切换界面语言 - **菜单栏**:点击「帮助 → 语言」,选择「简体中文」或「English」,整个菜单栏立即切换 - **界面按钮**:点击右上角的「中文 / EN」分段按钮,实时切换菜单语言 - **记忆与默认**:语言选择会自动保存;首次启动会根据系统语言(中文系统→中文,其它→英文)自动设置 --- ## 🏗️ 技术架构 | 层级 | 技术栈 | |------|--------| | 桌面框架 | Electron 28 | | 前端框架 | React 18 + TypeScript | | 构建工具 | Vite 5 | | 样式方案 | Tailwind CSS v3 | | 状态管理 | React Context + useReducer | | 日志系统 | electron-log | ### 项目结构 ``` skill-sync/ ├── electron/ │ ├── main/ # Electron 主进程 │ │ └── index.ts # 文件扫描、同步、IPC 处理器 │ └── preload/ # 预加载脚本(安全桥接) ├── src/ │ ├── components/ # React 组件 │ │ ├── App.tsx │ │ ├── AgentSidebar.tsx │ │ ├── SkillList.tsx │ │ ├── SyncBar.tsx │ │ ├── AgentModal.tsx │ │ ├── SyncModal.tsx │ │ └── ConflictModal.tsx │ ├── types.ts # TypeScript 类型定义 │ ├── index.css # Tailwind 入口 │ └── main.tsx # React 入口 ├── release/ # 构建产物 ├── package.json └── README.md ``` ### 数据存储 - **配置文件**:`~/.skill-sync/config.json`(Agent 配置、最后扫描时间、界面语言偏好) - **扫描缓存**:`~/.skill-sync/cache.json`(已发现的 Skill 列表) - 配置文件为 JSON 格式,可手动备份或迁移 --- ## 🔧 配置说明 ### 内置 Agent 默认路径 | Agent | 默认 Skill 目录 | |-------|----------------| | Claude Code | `~/.claude/skills/` | | Cursor | `~/.cursor/skills/` | | WorkBuddy | `~/.workbuddy/skills/` | | WindiC | `~/.windic/skills/` | ### Skill 识别规则 一个目录被识别为 Skill 的条件:**该目录下存在 `SKILL.md` 文件**。 这与主流 Agent 的 Skill 规范保持一致。 --- ## 📝 更新日志 ### v1.0.0 (2026-08-01) - 初始版本发布 - 支持 4 种内置 Agent + 自定义 Agent - Skill 扫描、同步、批量操作 - 导入/导出配置 ### v1.1.0 (2026-08-01) - 新增菜单栏中英文切换(菜单「帮助 → 语言」与界面右上角按钮) - 语言偏好持久化到 `config.json`,首次启动跟随系统语言 ### v1.2.0 (2026-08-07) - 新增导入 Skill 包功能:支持 ZIP 格式批量导入 Skill - 左侧 Agent 列表右键菜单新增「导入 Skill 包」选项 - 自动验证 ZIP 内容(必须包含 SKILL.md) - 支持强制覆盖已存在的同名 Skill - 顶部标题栏新增 GitHub / Gitee 项目链接 - 关于弹窗新增版权归属 © 2026 疾风浴雪 ### v1.3.0 (2026-08-11) - 支持通过导入配置永久删除内置 Agent,重启后不再恢复 - 新增 `removedBuiltInAgents` 字段记录已删除的内置 Agent ID --- ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! --- ## 📄 License MIT