微信扫码
添加专属顾问
我要投稿
Claude与Gemini技能格式大揭秘!一文掌握两大AI生态的互转技巧,附赠实用脚本和GitHub项目。核心内容: 1. Claude Skills与Gemini Skills的核心机制与格式规范对比 2. 两种技能格式转换的实操方案与示例脚本 3. GitHub项目实战演示与最佳实践分享
首先我们来看两个概念:
Claude Skills(Agent Skills)
Anthropic 为 Claude 提供的模块化能力包。Skills 是一个目录,由一个 SKILL.md 文件及必要的资源组成,用来描述某项专业能力或工作流,Claude 在遇到相关任务时自动“加载”该技能并执行。
Gemini Skills(Agent Skills / CLI Skills)
Google 在 Gemini CLI(命令行代理) 中提出的扩展机制,同样是技能包形式,允许开发者将复杂流程封装为可复用的能力单元,供 Gemini 自动调用。
两者本质上是同一种思想:
将复杂、重复、专业的任务抽象成可分发的模块,让智能体在需要时“主动发挥能力”。
下面我们把两个生态的技能包进行结构对比:
SKILL.md |
SKILL.md |
|
.gemini/skills/ 目录 |
共同点
1.都采用 SKILL.md + YAML frontmatter + Markdown 内容的方式来定义技能。
2.元数据中至少要包含 name 和 description 以便发现和描述技能。
---name: summarize-newsdescription: 提取新闻文章关键信息及生成摘要---# Summarize News Articles## Instructions请将以下新闻文本拆解为标题、要点和精炼摘要,并保证结构清晰。## Examples- 输入:"xxx新闻内容..."- 输出:标题:...要点:...摘要:...
Gemini Skills 示例
---name: report-generatordescription: 自动生成结构化报告---# Report Generator## Purpose当用户询问“生成周报/分析报告”时自动激活。## Instructions1. 从输入文本中提取关键信息2. 使用模板渲染成 Markdown 格式3. 输出结构化报告
Gemini CLI 也是先读取 YAML frontmatter,再在需要时加载完整技能内容执行。
尽管在视觉上都采用 Markdown + YAML 的形式,但两者生态在运行机制和语义触发上有差异:
Claude 端内置自动发现机制,无需手动激活,模型自行判断何时加载。
Skills 可附带脚本、资源和运行逻辑,与 Claude Code/Agent SDK 配合更紧密。
Gemini CLI 在本地目录中探测技能文件,并根据用户交互和环境触发技能激活。
Skills 的加载优先级可以按目录顺序(workspace > user > extension)控制。
总结来说:
文件格式层面高度一致,但具体的生态触发逻辑和运行平台有差异,因此不能完全“复制黏贴”使用,而是需要适配。
实现格式迁移的核心思路是:
整理元数据结构:确保 name 和 description 字段在前置 YAML 中清晰无误
统一主体 Markdown 语义:将 Claude 用例、说明部分转换为 Gemini 可执行指令语义
调整触发机制:在 Gemini CLI 环境中针对触发条件做增强说明
测试并优化:在 Gemini CLI 中安装并测试技能执行效果
当前 Gemini CLI 已经支持与 Claude Skills 类似的机制,一些社区工具甚至允许共享同一套技能目录,无需多余改动即可在不同平台测试运行。
1. 实现一套 Skill 能同时被 Claude Code 和 Gemini CLI 识别
2. 自动化处理格式差异、元数据适配与部署流程
3. 使用开源工具将 Skills 从一个平台“迁移”到另一个平台
社区项目:gemini-cli-skillz
GitHub:https://github.com/intellectronica/gemini-cli-skillz
这个工具的核心思路是:
让 Claude Code Skills 与 Gemini CLI 使用同一个 Skills 目录
没有复杂转换逻辑,只需要方便地在两个平台之间共享文件夹结构
避免了重复复制、手动维护不同版本的 Skill 格式
假设你有以下技能包:
skills/summarize-news/SKILL.mdexamples.jsonhelper.py
这里的 SKILL.md 是标准的技能定义文件。
npm install -g @google/gemini-cligemini)
如果你还未安装 Gemini CLI:
gemini --version确认命令可用即可。
假设你的技能放在本地:
~/projects/ai-skills/在这个目录下你可以:
cd ~/projects/ai-skills确保每个 Skill 有正确的 SKILL.md 定义,以及你希望的支持文件。
示例结构:
~/projects/ai-skills/summarize-news/SKILL.mdREADME.md
步骤 3|在 Gemini CLI 中共享该目录
将 Skills 目录链接到 Gemini CLI 默认技能路径:
ln -s ~/projects/ai-skills ~/.gemini/skills这个命令(在 Linux/Mac)下会创建一个符号链接,让 Gemini CLI 在启动时识别你的项目技能。
如果你使用 Windows,可以手动在 Gemini CLI 配置目录中建立等效链接或复制目录。
在终端运行:
gemini skills reload然后列出当前可执行技能:
gemini skills list
如果一切正确,你会看到类似:
✔ summarize-news — 提取摘要并生成结构化概要
这说明 Gemini CLI 已经识别并能加载这个技能文件。
在 Gemini CLI 输入类似:
/skills run summarize-news
然后输入:
这里是一条需要提取关键信息和摘要的新闻内容……
你会得到 Gemini 对 summarize-news 技能的执行结果。
如果你的 Skill 在两个平台存在一些细微格式差异,可以写一个简单的小工具来辅助统一(这是示范脚本,可根据你自己的架构扩展):
import osimport shutilimport frontmatterSRC = 'claude-skills/'DST = 'shared-skills/'os.makedirs(DST, exist_ok=True)for skill in os.listdir(SRC):src_path = os.path.join(SRC, skill, 'SKILL.md')if not os.path.exists(src_path):continuewith open(src_path, 'r', encoding='utf-8') as f:data = frontmatter.load(f)# 保留 name/descriptionname = data.get('name')description = data.get('description')# 规范 frontmatterdata.metadata['platforms'] = ['claude', 'gemini']out_folder = os.path.join(DST, skill)os.makedirs(out_folder, exist_ok=True)with open(os.path.join(out_folder, 'SKILL.md'), 'w', encoding='utf-8') as out:out.write(frontmatter.dumps(data))print(f'Converted {skill} → {out_folder}')
这段代码做了:
1. 读取 Claude Skill 的 SKILL.md
2. 添加或修改元数据字段
3. 输出到新的共享目录
你可以根据实际需求扩展处理逻辑,例如:
添加兼容字段
替换平台特定指令
自动更新 README 模板
除了 gemini-cli-skillz,这里还有一些有价值的生态项目:
awesome-agent-skills – 各平台通用的 Skills 集合https://github.com/heilcheng/awesome-agent-skills
Skill_Seekers – 自动化从文档生成 Claude Skills 的工具https://github.com/yusufkaraaslan/Skill_Seekers
awesome-llm-skills – 含多平台兼容案例(包括 Gemini CLI)https://github.com/Prat011/awesome-llm-skills
这些仓库不仅包含示例技能,也给出技能如何跨平台运行、结构约定、例子等,有助于构建可分享的 Skills 生态。
统一目录管理
不管是 Claude 还是 Gemini CLI,使用同一个目录管理你的 SKILL 文件,可以将技能“一次编写,多处运行”。
JSON + Markdown 结构分离
如果技能有大量示例或模板,可考虑使用 JSON 做为示例输入/输出规范,Markdown 仅用于说明。
CI/CD 自动发布
在 GitHub Actions 中,你可以自动:
on: pushjobs:publish-skills:steps:- uses: actions/checkout@v3- run: python convert.py- run: gemini skills reload
实现提交代码后自动更新技能集。
目前 Claude Skills 和 Gemini CLI Skills 的生态正快速融合,有一些社区工具能够让你无需繁琐手工操作就实现跨平台兼容运行。通过统一目录、简单自动化脚本、开源库和 CLI 工具,你可以创建真正可复用、可分享、可在多个智能体平台运行的技能包。
如果你对Skills生态感兴趣可以加我,我拉你进“Skills生态建设群”。
加我时请备注“Skills”
声明:本文为 真聊技术 原创,转载请联系授权。
看完本文有收获?请转发分享给更多人
关注「真聊技术」,提升综合技能
真聊技术
顿悟也许就是那么一瞬间
分享、点赞和在看就是最大的支持❤️
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-01-26
重磅!千问最强模型正式发布
2026-01-26
从0到1玩转Clawdbot:我花了40小时,把这些坑都踩完了
2026-01-26
Skills 设计思路分享|一键实现 OneService 接口调用
2026-01-26
3个真实场景 + 5个专业技巧:Claude Code Skills如何重塑你的开发工作流
2026-01-26
如何设计一个AI Agent系统
2026-01-26
突发!OpenAI 明天“发布会”,GPT能再次碾压谷歌 Gemini吗 ?
2026-01-26
深度剖析|Claude Agent 是如何一步步加载 Skill 的?
2026-01-26
深度剖析|Claude Agent 是如何一步步动态加载 skill 的(续)
2026-01-10
2025-11-19
2025-11-13
2025-11-03
2026-01-01
2026-01-24
2025-12-09
2025-11-12
2025-11-15
2025-11-21
2026-01-26
2026-01-26
2026-01-23
2026-01-23
2026-01-22
2026-01-22
2026-01-21
2026-01-21