| name | nanobot-skill-transpiler |
| description | 把 ClawHub/OpenClaw Skills(优先)、Claude Skills、Gemini Skills、Codex Skills 迁移/改写为 Nanobot 原生可用的技能目录(SKILL.md + scripts/ + references/)。当你需要:1)评估某个技能是否能在 Nanobot 直接跑;2)把外来技能批量转换成 workspace/skills 下的 Nanobot skill;3)把依赖 OpenClaw 专属工具的技能改成 Nanobot built-in tools 或 MCP 时,使用本技能。 |
Nanobot Skill Transpiler
你要记住的底层事实
- **Nanobot 的 skill 是“知识包”,不是 runtime 插件。**它的本体就是
skills/<skill-name>/SKILL.md(加可选 scripts/、references/)。
- **决定兼容性的不是“语言”,而是约定:**目录结构、frontmatter、工具名、路径、以及是否需要 MCP。
- **优先级:**尽最大努力支持 ClawHub/OpenClaw skills;其他体系(Claude/Gemini/Codex)尽力迁移“提示词能力”,工具能力优先改成 MCP。
工作流(建议照做)
1) 分诊:这个技能属于哪一类?
- 提示词/流程型(最容易迁移):主要是规则、流程、写作框架、检查清单。
- 弱工具依赖型(可迁移):调用了一些通用工具(读写文件、shell、web fetch/search)。
- 强生态绑定型(不建议硬兼容):依赖 OpenClaw/ClawHub 专属插件、专属 runtime hook、专属 marketplace 行为。
结论:3)别“兼容”,要“重写等价版”。
2) 先跑脚本做“机械转换”(再人工补齐)
优先用脚本把能自动处理的部分一次做完:
- frontmatter 清理(只保留 Nanobot 允许字段)
- 常见工具名替换(OpenClaw → Nanobot built-in tool)
- 元数据迁移(
openclaw → nanobot)
脚本:scripts/transpile_skill.py
python scripts/transpile_skill.py \
--input /path/to/source-skill-dir-or-skillzip \
--output /path/to/workspace/skills
输出会生成:
workspace/skills/<normalized-name>/SKILL.md
workspace/skills/<normalized-name>/TRANSPILE_REPORT.md
3) 人工补齐“语义层”差异
脚本只能做“文本层转换”,你需要人工补:
- 这个技能实际需要哪些工具?Nanobot 内置工具够不够?
- 不够的能力:优先改成 MCP,并在 SKILL.md 里写清楚「需要配置哪个 MCP server + tool 名」。
- 路径约定:Nanobot 更强调 workspace,避免写死系统路径。
4) 把“不可迁移技能”降级为“可用说明书”
当技能严重依赖 OpenClaw 生态时:
- 保留核心流程/判断标准/质量要求
- 删除或改写“调用不存在工具”的段落
- 增加「替代方案」:Nanobot built-in tools / MCP / 手工步骤
Nanobot skill 规范速查
需要细节时读:references/nanobot_skill_spec.md。
工具名替换规则(脚本使用的默认映射)
需要细节时读:
references/tool_mappings.md
references/tool_mappings.json
脚本与参考资料
scripts/transpile_skill.py:单个 skill 目录或 .skill/.zip → Nanobot skill
scripts/batch_transpile.py:批量转换目录
references/nanobot_skill_spec.md:Nanobot skill 的 frontmatter 与目录约定
references/tool_mappings.*:常见生态(OpenClaw/AnyGen/Claude/Gemini/Codex)→ Nanobot 的工具名映射