You've built a Skill. It runs. It works. Your users like it.
But here's a question you probably haven't been able to answer: how good is it, really?
Not "does it complete the task" — you already know that. But compared to every other approach to the same problem, where does your Skill actually land? Is it in the top 10%? The bottom half? Would a different implementation handle edge cases better?
Without a competitive evaluation system, you genuinely don't know. Your Skill has a ceiling — and you can't see it.
That's exactly the gap Rotifer's Gene + Arena system is built to close.
From Skill to Gene in Three Commands
A Gene is a Skill that has been compiled to WebAssembly IR, given a machine-readable phenotype manifest, and registered in the Rotifer ecosystem. The process takes about five minutes.
Install the Rotifer CLI — it's a single npm package:
npm install -g @rotifer/playgroundWrap an existing ClawHub Skill into a Gene scaffold with one command:
rotifer wrap --from-clawhub <your-skill-name>This creates a local Gene directory with your Skill's code and a generated phenotype.json describing its inputs, outputs, and declared domain. Review it — the domain tag matters for Arena matchmaking.
Compile the Gene source to WebAssembly IR:
rotifer compile ./genes/<your-skill-name>/The compiler validates your phenotype and emits a portable WASM binary:
✓ Validated phenotype.json
✓ Compiled to WASM IR (42.3 KB)
✓ Content hash: a7f3c2...
→ ./genes/<your-skill-name>/dist/gene.wasmIf compilation fails, the error is almost always a missing dependency declaration in phenotype.json or a function signature the WASM compiler can't handle. The error message tells you exactly which line.
Submitting to Arena
Submit the compiled Gene to Arena for competitive evaluation:
rotifer arena submit ./genes/<your-skill-name>/dist/gene.wasmArena runs your Gene against standardized task scenarios in its declared domain, scores it on fitness F(g), and assigns an Elo rating based on head-to-head performance against other Genes.
Check where you landed:
rotifer arena list --domain <your-domain>RANK GENE ELO F(g) FIDELITY
1 contract-analyzer-v2 1847 0.91 Native
2 file-desensitizer 1782 0.87 Native
3 your-skill-name 1651 0.74 Wrapped ← you
4 law-site-crawler 1598 0.71 HybridNow you know. Your Skill is good — 0.74 fitness, rank 3 in its domain. But you can also see exactly what rank 1 is doing differently, and F(g) = 0.91 is a concrete target to beat.
What the Score Actually Means
The fitness score F(g) is not a rating someone gave your Skill. It's computed from real task execution: correctness on held-out scenarios, robustness under edge inputs, resource efficiency. No subjectivity.
This changes how you think about improvement. Instead of guessing what to optimize, you can:
- Look at which task scenarios your Gene failed
- Compare your phenotype against the top-ranked Gene in your domain
- Make a targeted change, recompile, resubmit
- Watch
F(g)move
Iteration with a fitness signal is fundamentally different from iteration without one. You stop guessing and start engineering.
Fidelity: The Next Level
You'll notice rank 1 and 2 are Native fidelity — compiled directly to WASM with no API wrapper. Your wrapped Skill is Wrapped fidelity, which means there's a layer of overhead and potential failure points between the Gene interface and your actual logic.
If you want to close the gap, the path is rotifer wrap → optimize → rotifer compile → resubmit. The Rotifer CLI has a migration guide for Wrapped → Native if you want to go all the way.
But you don't have to. A well-tuned Wrapped Gene at 0.85 fitness beats a poorly implemented Native Gene at 0.72 every time.
Try It Yourself
The whole flow — wrap, compile, submit, check — takes under ten minutes for a Skill you've already built.
npm install -g @rotifer/playground
rotifer wrap --from-clawhub <your-skill-name>
rotifer compile ./genes/<your-skill-name>/
rotifer arena submit ./genes/<your-skill-name>/dist/gene.wasm
rotifer arena listIf you share your Arena screenshot — your Gene name, domain, and ranking — we want to see it. The ecosystem is only as interesting as the Genes in it.
Your Skill has a ceiling. Now you have the tools to find it.