← 返回博客

从 Skill 到 Gene:迁移实战指南

将你现有的 Cursor 或 Codex 技能转化为 Rotifer 基因。一步步带你完成扫描、包装、编译和发布。

你已经有了 AI 技能。也许是 .cursor/skills/debugger/SKILL.md 里的调试工作流,也许是 ~/.codex/skills/ 下的代码审查清单,也许是你花了几个月打磨的提示词工程技能。它们好用——但它们是静态文件。不能与替代方案竞争,不能在注册表中版本化,也不能以结构化的方式共享给其他 Agent。

Rotifer 的 Skill 导入管道可以将这些文件变成基因——携带元数据、参与适应度评估、存在于云端注册表中供任何人查询的模块化单元。每个技能的迁移大约只需五分钟,而且你不用重写任何一行代码。

让我们一步步来。


前提条件

开始之前,确保你已准备好:

验证 CLI 可用:

Terminal window
rotifer --version
# => @rotifer/playground v0.5.x

第一步:扫描现有技能

首先,让 Rotifer 发现你已有的技能:

Terminal window
rotifer scan --skills --skills-path .cursor/skills

示例输出:

🔍 Scanning .cursor/skills/ for SKILL.md files...
Found 4 skills:
┌──────────────────────┬────────────────────────────────────────────┬──────────┐
│ Skill Name │ Path │ Size │
├──────────────────────┼────────────────────────────────────────────┼──────────┤
│ debugger │ .cursor/skills/debugger/SKILL.md │ 3.2 KB │
│ testing-strategist │ .cursor/skills/testing-strategist/SKILL.md │ 4.1 KB │
│ prompt-engineer │ .cursor/skills/prompt-engineer/SKILL.md │ 2.8 KB │
│ security-auditor │ .cursor/skills/security-auditor/SKILL.md │ 5.0 KB │
└──────────────────────┴────────────────────────────────────────────┴──────────┘
Run `rotifer wrap <name> --from-skill <path>` to wrap any skill as a gene.

扫描器会读取它找到的每一个 SKILL.md,从目录结构中提取技能名称,然后报告可用的技能。不会修改任何文件——这是只读的侦察操作。


第二步:包装技能为基因

选择一个技能并将其包装为基因。我们以调试器为例:

Terminal window
rotifer wrap debugger-skill \
--from-skill .cursor/skills/debugger/SKILL.md \
--domain debugging

这会在 genes/debugger-skill/ 下生成一个基因目录,包含三个文件:

文件用途
phenotype.json声明基因的领域、输入/输出模式和保真度级别(wrapped
SKILL.md你原始技能文件的副本,现在作为基因文档打包
.gene-manifest.json内部元数据——基因 ID、版本、创建时间戳、来源路径

--domain 标志用于对基因进行分类(如 debuggingtestingcode-reviewsearch)。这决定了基因在哪个 Arena 分组中竞争,也帮助 Agent 按能力发现它。

你的原始 SKILL.md 不会被修改。wrap 命令只是读取它,然后在你现有的基因目录旁创建一个新的基因目录。


第三步:编译(验证)

接下来,验证基因的结构是否完整:

Terminal window
rotifer compile debugger-skill

对于 Wrapped 基因(不包含可执行 WASM),编译步骤会验证:

预期输出:

📦 Compiling debugger-skill...
Fidelity: wrapped (metadata-only, no WASM)
Phenotype: ✓ valid
Manifest: ✓ consistent
Docs: ✓ SKILL.md present (3.2 KB)
✅ debugger-skill is ready to publish.

如果有任何缺失或格式错误,编译器会准确告诉你需要修复什么,然后才能继续。


第四步:发布

通过 Rotifer 云注册表进行身份验证,然后发布:

Terminal window
rotifer login
rotifer publish debugger-skill

rotifer login 会打开交互式认证流程(如果你之前登录过,则从 ~/.rotifer/auth.json 读取凭证)。认证成功后,publish 会将你的基因上传到云注册表,使其可以被任何使用 MCP Server 的 Agent 或 rotifer.ai 网页注册表发现。

🚀 Publishing debugger-skill v0.1.0...
Registry: cloud.rotifer.dev
Fidelity: wrapped
Domain: debugging
✅ Published! View at: https://rotifer.ai/genes/debugger-skill

你的技能现在是一个基因了。其他 Agent 可以找到它、将它与替代方案进行比较,然后采纳它——全部通过标准的 Rotifer 工具链完成。


Wrapped 与 Native 对比

并非所有基因生而平等。保真度级别决定了基因能做什么:

属性Wrapped 基因Native 基因
来源从 SKILL.md 导入使用 express() 函数编写
包含 WASM否——仅元数据是——可执行 IR
沙箱中运行
基础适应度0.450.70
Arena 参赛资格有限分组所有分组
跨 Binding 可移植性仅元数据完整执行可移植

Wrapped 基因是合理的起点。它们参与注册表、携带声誉,并可以被 Agent 发现。但它们无法在 Rotifer 运行时中执行——采纳 Wrapped 基因的 Agent 会将其文档作为提示词使用,而非可运行的代码。

Native 基因则编译为 WASM,在沙箱环境中运行,性能可测量。更高的基础适应度反映了这种额外能力。


升级到 Native

当你准备好为基因赋予可执行行为时,可以提供 WASM 二进制文件:

Terminal window
rotifer compile debugger-skill --wasm debugger.wasm

或者在 genes/debugger-skill/index.ts 中编写 TypeScript express() 函数,让编译器自动处理 TS → WASM 管道:

Terminal window
rotifer compile debugger-skill
# 检测到 index.ts → esbuild → Javy → WASM → Rotifer IR

基因的保真度会从 wrapped 升级为 native,基础适应度上升,并获得完整 Arena 竞争的参赛资格。你现有的表型和元数据会保留——无需从头重新发布。


默认技能路径

Rotifer 的扫描器知道在哪里寻找主流 AI 开发工具的技能:

环境默认路径说明
Cursor.cursor/skills/项目级技能
Codex~/.codex/skills/全局技能
自定义任意目录rotifer scan 传入 --skills-path <dir>

你可以依次扫描多个路径:

Terminal window
rotifer scan --skills --skills-path .cursor/skills
rotifer scan --skills --skills-path ~/.codex/skills

每个被发现的技能都可以单独包装和发布。


接下来做什么

你已经完成了扫描、包装、编译和发布。你的技能现在是基因了——可被发现、可被比较、准备好进化。接下来你可以:

深入阅读: 查看完整的 Skill 导入指南,了解所有选项与高级工作流。