同一套 Skills 跨 Agent 迁移:Claude Code、Codex、Gemini CLI 的兼容性实测

发布时间:2026/10/11 10:12:58

同一套 Skills 跨 Agent 迁移:Claude Code、Codex、Gemini CLI 的兼容性实测 同一套 Skills 跨 Agent 迁移Claude Code、Codex、Gemini CLI 的兼容性实测【免费下载链接】claude-skills380 Claude Code skills agent skills plugins (30 Agents, 70 custom commands, 380 skills, customizable references, scripts)for Claude Code, Codex, Gemini CLI, Cursor, and 8 more coding agents — engineering, marketing, product, compliance, C-level advisory, research, business operations, commercial finance, and your daily productivity skills.项目地址: https://gitcode.com/GitHub_Trending/cla/claude-skills当开发者的技能资产被锁定在单一工具里迁移一次 Agent 就意味着重写一遍提示词与工作流——这是 Agent 工程化路上最真实的痛点。Anthropic 的 Agent Skills 规范SKILL.md YAML frontmatter正试图终结这种技能孤岛一套技能包能否在 Claude Code、OpenAI Codex、Gemini CLI 之间原样迁移决定了它究竟是单工具插件还是可复用软件资产。本文以本地仓库 claude-skills 为实测样本——它对外宣称 355 个生产级技能、602 个纯标准库 Python 工具、覆盖 13 个编码工具README.md。我逐行阅读了三端各自的安装脚本、同步脚本与格式转换器用源码级证据回答三个问题跨 Agent 技能规范到底统一到什么程度三端实测差异在哪迁移的真实成本与坑是什么一、跨 Agent 技能规范SKILL.md 正在成为公约数先说结论Claude Code、OpenAI Codex、Gemini CLI、Hermes Agent、Mistral Vibe 五家已经事实上收敛到了同一套技能格式——SKILL.md文件加 YAML frontmatter。这套被社区称为 agentskills.io 的标准核心结构非常克制--- name: skill-name description: When to use this skill. Include trigger keywords and phrases users might say. license: MIT metadata: version: 1.0.0 category: domain-name --- # Skill Name ## Before Starting ## How This Skill Works ...仓库根目录的 SKILL-AUTHORING-STANDARD.md 把这份模板固化为所有技能的DNAfrontmatter 只负责声明name、description、license、metadata正文负责指令与决策框架。以实际的工程技能为例engineering/skills/changelog-generator/SKILL.md 的 frontmatter 只有两行核心声明正文则完整承载了 Conventional Commits 解析、语义化版本推断、Keep a Changelog 渲染等全部方法论。这种设计的巧妙之处在于description 字段同时承担了触发与索引双重职责。Claude Code 依据 description 的语义匹配决定何时加载技能Codex 的同步脚本从 frontmatter 提取 description 生成索引清单Gemini CLI 同样靠它做技能发现。技能能否跨 Agent本质上取决于这个字段写得是否足够机器可读——它既是门面也是兼容性的第一道关卡。仓库的领域编排也为此做了铺垫。scripts/sync-codex-skills.py 中的find_skills明确支持三种技能发现模式domain/skill/SKILL.md扁平模式、domain/skills/skill/SKILL.md标准模式以及domain/plugin/skills/skill/SKILL.md嵌套插件模式并按路径去重。也就是说仓库内部本身就为同一套技能被不同工具以不同目录结构发现做了归一化处理。社区对这一趋势的关注也在升温中文社区的 Awesome Agent Skills 类合集普遍宣称技能包兼容 Claude Code、Codex、Gemini CLI、Cursor 等主流 AI 助手并将技能的可复用性、Git 可追踪性视为核心卖点。规范统一、目录标准、描述驱动——这三件事叠在一起跨 Agent 迁移才有了技术前提。二、三端实测安装、发现与激活的对照同一套技能在三端的手感差异体现在安装路径、发现机制和激活方式三个环节。以下全部来自仓库实际脚本的代码级核实。Claude Code插件市场原生集成Claude Code 是技能格式的母语者安装体验最顺滑走的是插件市场路线/plugin marketplace add alirezarezvani/claude-skills /plugin install engineering-skillsclaude-code-skills /plugin install marketing-skillsclaude-code-skills也可以直接复制技能目录到~/.claude/skills/。触发机制是描述语义匹配——Agent 读取技能时依据 description 判断当前任务是否命中命中才把 SKILL.md 全文加载进上下文。这解释了一个社区常见困惑为什么技能不触发往往要先去检查 description 写得是否精准。OpenAI Codexnpx 一键安装或脚本同步Codex 走的是索引 符号链接 实体复制的三段式。官方推荐一行命令npx agent-skills-cli add alirezarezvani/claude-skills --agent codex仓库内则提供了更可控的本地同步scripts/sync-codex-skills.py 会扫描全部领域目录在.codex/skills/下为每个技能建立符号链接并生成skills-index.json清单含 category、description供工具链做分类统计。随后 scripts/codex-install.sh 负责真正落地到~/.codex/skills/它支持--all、--category name、--skill name三种粒度并在复制时使用cp -rL跟随符号链接展开真实内容——这一步暗藏玄机下文详述。Gemini CLI显式激活另辟蹊径Gemini CLI 的接入最特别。运行./scripts/gemini-install.sh后scripts/sync-gemini-skills.py 在.gemini/skills/下建立符号链接树和索引而激活方式从语义匹配变成了显式函数调用activate_skill(namesenior-architect) activate_skill(namecontent-creator)更值得注意的是Gemini 的同步脚本把仓库的 agents 和 commands 也纳入了技能体系GEMINI.md 明确写到agents/下的子代理文件如cs-engineering-lead和commands/下的斜杠命令如tdd都会被同步为 category 为agent、command的技能统一通过activate_skill(name...)激活。也就是说在 Gemini CLI 眼里技能、子代理、斜杠命令被拉平到了同一个发现机制里。三端对照汇总如下维度Claude CodeOpenAI CodexGemini CLI安装方式插件市场 /~/.claude/skills/npx agent-skills-cli/ 同步脚本./scripts/gemini-install.sh格式转换无原生无原生无原生发现机制description 语义匹配skills-index.json索引.gemini/skills/符号链接树激活方式自动触发自动/按需activate_skill(name...)显式激活附加资产仅技能技能 分类索引技能 agents commands 统一入索引分层之外原生标准 vs 格式转换把视野放大到全部 13 个工具兼容性其实是分层的。Hermes Agent 与 Mistral Vibe 采用与仓库完全相同的 agentskills.io 标准属于零转换的 BYO-sync 层级只需python scripts/sync-hermes-skills.py或./scripts/vibe-install.sh做一次符号链接同步scripts/sync-hermes-skills.py 源码注释直言no format conversion needed。而 Cursor、Aider、Kilo Code、Windsurf、OpenCode、Augment、Antigravity 这 7 个工具则必须经过 scripts/convert.sh 的格式适配再交给 scripts/install.sh 落地目标工具输出格式默认安装位置Cursor.mdc规则文件globs/alwaysApplyproject/.cursor/rules/Aider单文件CONVENTIONS.md全部技能拼接project/CONVENTIONS.mdKilo Code纯 Markdown 规则project/.kilocode/rules/WindsurfSKILL.md技能目录包project/.windsurf/skills/OpenCodeSKILL.mdcompatibility: opencodeproject/.opencode/skills/AugmentMarkdown 规则文件project/.augment/rules/AntigravitySKILL.mdrisk/source/date_added~/.gemini/antigravity/skills/转换器的核心逻辑非常简洁见 scripts/convert.sh用 awk 解析出 frontmatter 的name与description正文原样透传再按目标工具的 frontmatter 约定重新包装。这套设计保证了指令不丢、元数据重映射。三、迁移的适配成本与坑规范统一不等于零成本。逐行读脚本和文档后我整理出六个真实的坑它们共同决定了迁移的摩擦系数。坑 1frontmatter 解析是迁移的咽喉convert.sh 的 awk 解析器只认name:和description:两行而且必须出现在文件最顶部的---块内。frontmatter 缺失或字段为空技能会被直接跳过脚本会打印Skipping invalid frontmatter。文档也承认使用折叠或字面量|写多行 description 的技能转换后可能出现描述乱码。也就是说一个在 Claude Code 下运行良好的技能如果 description 写法不规范迁移时可能静默消失——这是迁移失败最隐蔽的形态。坑 2符号链接的伪共享陷阱Codex 和 Gemini 的同步脚本默认建立符号链接而非复制本意是省空间、保单一事实源。但随之而来的问题是符号链接一旦指向绝对路径克隆到另一台机器就全线断裂。仓库文档专门记录了这个坑如果克隆了提交了绝对路径符号链接的分支Hermes 会报Symlinks point to a path on someone elses machine。仓库的解法是 v2.7.2 一律生成相对符号链接并在 codex-install.sh 中用cp -rL把符号链接展开成实体文件再落到用户目录——实体复制意味着与源仓库解耦任何一次git pull都不会破坏已安装内容。坑 3扁平规则工具会丢失支持目录这是最容易低估的适配成本。Cursor、Aider、Kilo Code、Augment 这类只支持每技能单文件的工具转换时只得到 SKILL.md 正文——scripts/、references/、templates/三个支持目录全部丢失。反观 Windsurf、OpenCode、Antigravity 等支持子目录的工具才能拿到完整技能包。以 changelog-generator 为例它的正文明确引用了references/hotfix-procedures.md等配套文档迁到 Cursor 后这些引用直接失效。选择目标工具前必须先确认自己的技能栈是否强依赖 Python 脚本与参考文档。坑 4重名与命名空间冲突技能迁移到新平台后名称冲突是确定性事件。scripts/sync-gemini-skills.py 为此实现了三重消歧策略同一目录下重名自动加-2、-3后缀与既有技能重名的 agent 文件加agent-前缀重名的 command 加cmd-前缀。而 Hermes 侧则用~/.hermes/skills/claude-skills/子目录做命名空间隔离避免覆盖其内置技能。即便是这样斜杠命令仍可能碰撞——文档明确记载了/research与 Hermes 内置命令冲突时需要手动改名或用全限定路径调用的处理方式。坑 5嵌套结构的扁平化仓库内部大量技能采用engineering/caveman/skills/caveman/SKILL.md这种嵌套插件布局。Hermes 等工具要求 SKILL.md 位于技能目录顶层同步脚本必须把嵌套结构压平为claude-skills/domain/skill/SKILL.md。如果某个技能在同步后找不到 SKILL.md十有八九是符号链接指向了错误层级重新运行同步脚本即可。这提醒我们技能仓库的内部目录结构本身就是为兼容多工具发现机制而设计的产物而非随意的文件摆放。坑 6更新与版本兼容跨 Agent 迁移不是一次性动作后续的同步更新才是常态成本。标准操作是git pull origin main后重跑同步脚本或convert.sh install.sh。仓库在 README.md 中承诺语义化版本管理patch 版本内不改动脚本参数、插件源路径和 SKILL.md 结构这意味着跨 Agent 维护的长期稳定性是有约束保障的而非口号。综合评估三端Claude Code / Codex / Gemini CLI作为 SKILL.md 原生阵营迁移成本极低——零格式转换只付出同步 索引 符号链接的适配代价真正的成本集中在扁平规则工具丢失支持目录、frontmatter 规范性和符号链接管理上。结语回到开头的问题同一套 Skills 能否跨 Agent 迁移实测答案是可以但可以的程度有清晰的梯度。SKILL.md 标准已经为 Claude Code、Codex、Gemini CLI 等主流工具提供了公约数技能资产的跨平台复用从手动翻译提示词进化到了同步脚本一键落地同时description 驱动的触发机制、符号链接的生命周期管理、支持目录的保留策略构成了迁移的真实摩擦面。对技能作者而言最务实的结论是把 description 当作接口契约来写把 frontmatter 当作公共 API 来维护——因为它在每一个目标工具里都被解析、被索引、被触发。一套规范的 SKILL.md就是一套能同时在十三个 Agent 里工作的软件资产。【免费下载链接】claude-skills380 Claude Code skills agent skills plugins (30 Agents, 70 custom commands, 380 skills, customizable references, scripts)for Claude Code, Codex, Gemini CLI, Cursor, and 8 more coding agents — engineering, marketing, product, compliance, C-level advisory, research, business operations, commercial finance, and your daily productivity skills.项目地址: https://gitcode.com/GitHub_Trending/cla/claude-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/11 10:12:58

OpenCV双目视觉实战:从标定到三维点云重建全流程

简介:这份资源面向计算机视觉初学者与进阶开发者,提供一套基于双目视觉的深度图像生成与三维空间重建完整实现方案。内容围绕双目相机采集、OpenCV双目标定、畸变校正、极线对齐、视差计算、深度图空洞填充及三维点云重建等核心环节展开,可帮…

2026/10/11 10:12:58

火灾火焰目标检测数据集:VOC/COCO/YOLO格式转换与YOLOv8训练指南

简介:YOLO火灾火焰目标检测数据集面向目标检测入门者及消防安全算法工程师,收集自真实场景、数据场景丰富,标注框质量高,可直接用于YOLO系列模型训练与验证。压缩包共2000个文件,大小约103.66MB,核心包含10…

2026/10/11 11:08:01

ESP32冰箱状态监测系统:温度、门磁与告警推送实战

1. 从一个被忽略的生活痛点说起:冰箱到底出了什么问题冰箱大概是家里最"沉默"的家电。它不像空调有遥控器可以随时调温,不像洗衣机有面板显示剩余时间,更不像路由器有指示灯告诉你它是不是在干活。你唯一能感知到它存在的方式&…

2026/10/11 11:03:01

QVerisFlow多模型配置完全手册:如何接入Qwen、DeepSeek和GPT

【免费下载链接】QVerisFlow Automatic multi-agent workflow generation, fully integrated with QVeris unified data and tool layer 项目地址: https://gitcode.com/gh_mirrors/qv/QVerisFlow 点击查看 免费下载 QVerisFlow 是一个自动化的多智能体工作流生成框…

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/11 0:02:13

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/11 0:02:13

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/11 0:02:13

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/11 0:02:13

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑