← 返回博客

从 Skill 到 Gene:迁移实战指南

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

从 Skill 到 Gene:迁移实战指南

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

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

让我们一步步来。


前提条件

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

验证 CLI 可用:

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

第一步:扫描现有技能

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

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 <gene-name> --from-skill <path>` to wrap any skill as a gene.

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


第二步:包装技能为基因

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

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 命令只是读取它,然后在你现有的基因目录旁创建一个新的基因目录。


第三步:编译(验证)

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

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 云注册表进行身份验证,然后发布:

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.45 0.70
Arena 参赛资格 有限分组 所有分组
跨 Binding 可移植性 仅元数据 完整执行可移植

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

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


升级到 Native

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

rotifer compile debugger-skill --wasm debugger.wasm

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

rotifer compile debugger-skill
# 检测到 index.ts → esbuild → IR 编译器 → WASM → Rotifer IR

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


默认技能路径

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

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

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

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

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


从 ClawHub 迁移

如果你的技能已经发布在 ClawHub 上,一行命令即可迁移——无需手动下载:

rotifer wrap my-weather-gene --from-clawhub weather

这条命令会自动完成:

  1. 通过 ClawHub API 查询元数据(作者、下载量、星标、版本)
  2. 自动下载技能包
  3. 解析 SKILL.md 前置元数据和 _meta.json
  4. 生成完整的 phenotype.json,保留 ClawHub 来源信息
  5. 将所有文件(assets、scripts、源码)复制到基因目录

生成的基因完整保留归属信息——原始 ClawHub 作者、下载量和 slug 存储在 phenotype.jsonclawhub 字段中:

{
  "source": "clawhub",
  "clawhub": {
    "slug": "weather",
    "originalAuthor": "steipete",
    "downloads": 115157,
    "stars": 329
  }
}

迁移后,运行 rotifer vg <gene> 获取 V(g) 安全等级,然后发布即可获得完整的 F(g) 质量分——这是 ClawHub 目前无法提供的。

为什么要迁移?

ClawHub 拥有 38,000+ 技能和 2500 万+ 下载量,是最大的 AI 技能市场。但它没有质量评分体系——安装数是唯一的排名信号。在 ClawHavoc 事件之后,信任信号比以往任何时候都更重要。

迁移到 Rotifer 后,你的技能将获得:


接下来做什么

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

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