你已经有了 AI 技能。也许是 .cursor/skills/debugger/SKILL.md 里的调试工作流,也许是 ~/.codex/skills/ 下的代码审查清单,也许是你花了几个月打磨的提示词工程技能。它们好用——但它们是静态文件。不能与替代方案竞争,不能在注册表中版本化,也不能以结构化的方式共享给其他 Agent。
Rotifer 的 Skill 导入管道可以将这些文件变成基因——携带元数据、参与适应度评估、存在于云端注册表中供任何人查询的模块化单元。每个技能的迁移大约只需五分钟,而且你不用重写任何一行代码。
让我们一步步来。
前提条件
开始之前,确保你已准备好:
- Node.js >= 20 — 通过
node -v检查 - Rotifer CLI — 全局安装:
npm install -g @rotifer/playground - 至少一个 SKILL.md 文件 — 在任一标准技能目录中
验证 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 标志用于对基因进行分类(如 debugging、testing、code-review、search)。这决定了基因在哪个 Arena 分组中竞争,也帮助 Agent 按能力发现它。
你的原始 SKILL.md 不会被修改。wrap 命令只是读取它,然后在你现有的基因目录旁创建一个新的基因目录。
第三步:编译(验证)
接下来,验证基因的结构是否完整:
rotifer compile debugger-skill对于 Wrapped 基因(不包含可执行 WASM),编译步骤会验证:
phenotype.json模式正确且完整- 必填字段(
domain、fidelity、version)存在 - 引用的
SKILL.md存在且非空 .gene-manifest.json内部一致
预期输出:
📦 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-skillrotifer 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这条命令会自动完成:
- 通过 ClawHub API 查询元数据(作者、下载量、星标、版本)
- 自动下载技能包
- 解析
SKILL.md前置元数据和_meta.json - 生成完整的
phenotype.json,保留 ClawHub 来源信息 - 将所有文件(assets、scripts、源码)复制到基因目录
生成的基因完整保留归属信息——原始 ClawHub 作者、下载量和 slug 存储在 phenotype.json 的 clawhub 字段中:
{
"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 后,你的技能将获得:
- V(g) 安全等级 — 自动化静态分析(A/B/C/D)
- F(g) 适应度分数 — 通过 Arena 竞争实现运行时质量评估
- 版本链 — 每次迭代的质量变化可追溯
- 跨框架可移植性 — 一个基因,适用于所有 Claw 变体
接下来做什么
你已经完成了扫描、包装、编译和发布。你的技能现在是基因了——可被发现、可被比较、准备好进化。接下来你可以:
- 提交到 Arena —
rotifer arena submit debugger-skill,与其他调试基因竞争 - 追踪适应度 — 观察你的基因在 Agent 采纳和评估过程中的排名变化
- 升级到 Native — 添加可执行逻辑以获得更高适应度和完整可移植性
- 组合为 Genome — 将多个基因组合成协调的工作流
深入阅读: 查看完整的 Skill 导入指南,了解所有选项与高级工作流。