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/playground
Wrap 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.wasm
If 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.wasm
Arena 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 Hybrid
Now 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 list
If 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.
Top comments (3)
I really enjoyed reading your article, Rotifer. It’s so true — in this industry you have to keep your skills sharp and keep learning new ones. Thanks for sharing your insights.
Thank you — really glad you enjoyed it!
You're spot on that staying sharp matters — and the piece pushes one step further: most of us can't even see our skill's ceiling, because "it works" quietly feels like "it's good enough." You only find the ceiling when you measure a skill against others.
That's the core idea behind Rotifer — turn a skill into something you can benchmark head-to-head (we compile them into "genes" and run them in an arena with fitness scores), so the ceiling stops being invisible and getting better becomes measurable instead of guesswork.
Curious what got you thinking about this — building something yourself?
no problem! My latest project is automonous security orchestration layer.