我做了一个 AI Agent Skill 云:用 MCP 在 Claude Code、Codex、OpenCode 之间同步技能
前言AI 会写代码以后我开始管理 AI 的“技能”这两年我使用 Claude Code、Codex、OpenCode 等 AI Agent 的频率越来越高。一开始我会把常用提示词放在文档里。后来提示词逐渐变成包含说明、脚本和参考资料的完整 Skill。一个 Skill 可以规定代码审查流程也可以封装发布步骤、项目规范或某类重复任务。Skill 的数量变多之后新的问题出现了Skill 分散在不同电脑和不同 Agent 的目录中修改后无法确认哪一份是最新版想把一组 Skill 分享给同事需要手动压缩和传输新电脑要重新配置一遍Skill 越来越多却缺少统一分类和检索不同 Agent 的安装目录和使用格式并不完全一致。这并不是“再写一个提示词管理器”就能解决的问题。Skill 已经开始接近一种需要存储、版本、授权、同步和分发的工程资产。因此我做了Skill-Everywhere一个面向 AI Agent Skill 的私有云和公开市场。官网Skill-Everywhere — Private AI Skill Cloud MCP Marketplace公开市场Skill-Everywhere — Private AI Skill Cloud MCP Marketplace一、什么是 AI Agent Skill在这个项目中Skill 是一个可复用的 Agent 能力包。它的核心是SKILL.md也可以携带脚本、参考资料和其他资源。一个简化的 Skill 目录可能是my-skill/ ├── SKILL.md ├── scripts/ │ └── run.py └── references/ └── conventions.mdSKILL.md可以包含 YAML frontmatter--- name: release-checker description: Check a project before a production release version: 1.2.0 ---它与一段临时 Prompt 的区别在于可复用同一套工作流可以反复调用可组合说明、脚本和知识材料可以放在一个包中可版本化内容可以持续迭代可分发可以交给其他人或同步到其他 Agent可治理可以授权、分类、审计和撤销访问。当团队把 Agent 用于真实工程流程时这些能力会比“收藏几个提示词”更重要。二、Skill-Everywhere 解决什么问题1. 私有 Skill 云每个用户拥有独立的私有 Skill 库。Skill 默认不会公开只有所有者主动发布后才会进入公开市场。上传的是标准 ZIP Skill 包服务端会解析SKILL.md的name、description和version等信息。除了保存文件还可以围绕 Skill 建立分类、版本、分享和授权关系。2. 多级分类与 AI 自动整理Skill 多起来以后手动分类也会成为负担。平台支持多级分类树并可调用 OpenAI 兼容模型进行自动分类只整理尚未分类的 Skill或忽略旧分类重新整理全部 Skill。这类功能的重点并不是“让 AI 替我起个标签”而是让长期积累的 Skill 库保持可检索状态。3. 分享但不破坏双方的独立性用户可以按邮箱分享单个或多个 Skill。接收方把 Skill 加入自己的库后会得到独立副本。这样既能共享成果也不会因为原作者继续修改而意外破坏接收方正在使用的版本。4. 公开 Skill 市场适合公开的 Skill 可以发布到 Marketplace供其他用户搜索、查看、收藏、评价和安装。私有库解决个人与团队的资产管理公开市场则解决发现与传播问题。二者并不是互相替代而是同一条 Skill 生命周期中的不同阶段。三、为什么选择 MCPSkill-Everywhere 提供 Model Context ProtocolMCP端点。用户创建 API Key 后可以限定该 Key 能访问全部 Skill或者只能访问选定的 Skill。当前核心工具包括MCP 工具作用update_skills把 API Key 已授权的 Skill 同步到本地 Agent 目录create_skill用文本和可选文件创建 Skillupload_skill上传 ZIP 格式的 Skill 包这里有一个很重要的设计选择MCP 不在运行时代理 Skill 的执行而是负责把已授权的 Skill 同步到本地。同步完成后由 Claude Code、Codex、OpenCode 等 Agent 使用各自的原生机制加载 Skill。这样的好处是Agent 使用 Skill 时不必持续依赖远端运行时本地文件可以直接检查和调试云端负责管理和同步Agent 负责原生执行API Key 可以精确控制同步范围更换设备时可以重新拉取授权内容。MCP 配置示例{ mcpServers: { skill-everywhere: { type: http, url: https://skill-everywhere.cn/mcp, headers: { X-Api-Key: sk_live_xxxxxxxx } } } }请勿把真实 API Key 提交到 Git 仓库、文章截图或公开配置中。四、一次完整的使用流程第一步建立 Skill 库注册后可以把本地 Skill 打包为 ZIP 并上传。包内至少应有SKILL.md也可以包含脚本和参考资料。第二步整理与授权在 Web 页面中建立分类或者让 LLM 自动整理。随后创建 API Key并选择它可以同步哪些 Skill。对不同设备或不同用途可以建立不同的 Key。例如个人电脑允许全部个人 Skill工作电脑只允许工作相关 Skill演示环境只允许一组可公开展示的 Skill。第三步通过 MCP 同步让支持 MCP 的 Agent 调用update_skills平台就会把该 Key 已授权的 Skill 同步到指定目录。目前可适配 Claude Code、Codex、OpenCode 等工作流。不同 Agent 的默认目录不同也可以通过base_dir指定自定义目录。第四步持续更新修改 Skill 并发布新版本后再次同步即可拉取更新。云端成为版本和授权的来源本地仍然保留 Agent 原生、透明的文件形态。五、技术实现概览Skill-Everywhere 采用前后端分离但可单进程部署的结构模块技术后端ASP.NET Core 9 Web APIORMEF Core 9数据库SQLite / MySQLWeb 认证JWT BearerMCP 认证API Key前端Vue 3 TypeScript Vite状态与路由Pinia Vue RouterUIElement PlusLLMOpenAI 兼容 Chat Completions API文件存储IStorage抽象本地存储可替换为 S3/MinIO后端按 Domain、Application、Infrastructure、Api 分层。SQLite 模式可以零配置启动生产环境可以切换 MySQL文件存储通过抽象接口保留了迁移到对象存储的空间。前端构建产物由 ASP.NET Core 的wwwroot托管因此最简单的部署方式只需要运行一个后端进程。六、它与提示词收藏夹有什么不同维度提示词收藏夹Skill-Everywhere内容形态单段文本为主SKILL.md 脚本 参考资料私有管理通常只有列表私有库、分类和版本多端同步复制粘贴MCP 按授权同步权限较少API Key 可限定 Skill 范围Agent 接入手工复制同步到 Agent 原生目录分享文本或文件传输多选分享、独立副本公开发现通常没有公开 MarketplaceSkill-Everywhere 更适合已经把 Agent 纳入日常工作流并开始长期积累 Skill 的个人开发者或团队。七、我对 Agent Skill 的判断随着 Agent 能力增强模型本身不会是唯一资产。围绕模型建立的工作流、约束、工具调用方式和领域经验也会逐渐成为可复用资产。未来一个成熟的 Agent 工作环境可能包括模型MCP 工具Skill / 指令包项目上下文权限与凭证可观测和评估机制。其中Skill 位于“模型能力”和“具体工作”之间。它既比临时提示词稳定又比重新开发一个完整工具轻量。因此Skill 的管理、同步和分发值得成为独立基础设施。结语Skill-Everywhere 想解决的是一个很具体的问题当你已经积累了很多 AI Agent Skill怎样让它们不再散落能够安全地保存、整理、分享并同步到不同 Agent 中继续使用如果你也在使用 Claude Code、Codex 或 OpenCode并且开始维护自己的 Skill可以访问官网Skill-Everywhere — Private AI Skill Cloud MCP MarketplaceSkill 市场Skill-Everywhere — Private AI Skill Cloud MCP Marketplace欢迎体验后反馈真实使用场景。相比功能数量我目前更关心的是大家究竟如何组织 Skill以及多端同步中最容易出问题的环节是什么。