Documents

rotifer-arena

Try it

Compare two Rotifer Genes head-to-head and get a Markdown report with F(g) fitness and V(g) security grades.

What it does

Guides an assistant through the rotifer CLI to compare two Rotifer Genes or Agents and produce a Markdown report. It walks through five phases: identifying the target (ClawHub import, local, scratch, or scenario scaffolding), compiling each Gene, matching same-domain opponents, running Arena submissions with rotifer vg for security grades, and rendering the final report. Output is a conversation-rendered Markdown report with F(g), V(g), fidelity, ranking, and reproduction commands, saved to arena-reports/ only when the user says 'save'.

When to use it

  • Evaluating a ClawHub Skill against the best same-domain Arena opponent
  • Comparing two of your own Genes and choosing the winner
  • Scaffolding a brand-new Arena scenario from scratch phenotypes
  • Producing a report after both Genes are already published to Cloud

The skill document

Rotifer Arena — Gene Comparison & Evaluation

One Skill covering Gene/Genome/Agent comparison across all scenarios.

Prerequisites

This Skill requires the Rotifer CLI:

npx @rotifer/playground --version

Or use the MCP Server for IDE integration:

{
  "mcpServers": {
    "rotifer": {
      "command": "npx",
      "args": ["@rotifer/mcp-server"]
    }
  }
}

Overview

This Skill wraps Rotifer Protocol's core value — objective, quantifiable capability evaluation — into a one-click workflow. Users don't need to understand Gene, Arena, or F(g) concepts upfront; the Skill introduces them naturally during execution.

Cross-platform: This SKILL.md runs in any AI development environment that supports Skills/Agents.


Workflow

Phase 1: Identify Evaluation Target

Understand user intent through conversation and determine the evaluation mode:

User signalModeAction
"Evaluate the X skill from ClawHub"ClawHub migration evaluationrotifer wrap --from-clawhub
"Compare my two implementations"Local comparisonConfirm both Gene names, skip to Phase 3
"I have a Skill I want to test"Skill import evaluationrotifer wrap --from-skill
"Help me build a XX scenario"Scenario scaffoldingGuide Gene creation (rotifer init or manual phenotype)

If the user doesn't specify a domain: auto-read from phenotype.json, or guide the user to choose.

Phase 2: Compile & Verify

rotifer compile 

Output guidance based on fidelity result:

  • Wrapped: Verification passed, deterministic evaluation mode
  • Hybrid/Native: WASM compilation, real sandbox execution mode (requires NAPI binding)

Phase 3: Automatic Opponent Matching

Priority order:

  1. User-specified: If the user says "compare X and Y", use those directly
  2. Same-domain local search: Highest-ranked Gene from rotifer arena list --domain
  3. Same-fidelity preferred: If target is Wrapped, prefer Wrapped opponents (avoid cross-fidelity blowouts)
  4. No opponent found: Inform the user, show current cross-domain Arena rankings for reference

Opponent selection requires user confirmation — show candidate F(g) and fidelity.

Phase 4: Arena Submit & Compare

rotifer vg 
rotifer vg 
rotifer arena submit 
rotifer arena submit 
rotifer arena list --domain 

rotifer vg is where the report's V(g) column comes from — it scans a Gene's code and returns a grade of A–D, or ? when there is no src/ to read (a pure-prompt Skill earns ?, which is not a failing grade and should be reported as "no code to scan"). Without this step there is no V(g) to put in the table, and a guessed one is worse than an absent one.

To watch the ranking settle after both submissions rather than re-running arena list:

rotifer arena watch           # live; Ctrl+C to stop
rotifer arena watch all --interval 10000

It marks each change as new / improved / dropped / eliminated, which is what the report's "← new entry" markers are describing.

If both Genes are already published to Cloud, two further commands add adoption data the Arena does not measure:

rotifer compare       # 2–5 published Genes, by reputation and downloads
rotifer stats               # download history: 7d / 30d / 90d / all time

Keep the two kinds of comparison apart in the report. rotifer compare ranks by reputation and downloads — how much the ecosystem uses something. The Arena run measures F(g) — how well it performs. A Gene can lead on one and trail on the other, and saying which is which is the point of the report.

Collect evaluation results for both Genes.

Phase 5: Generate Evaluation Report

Output the full report in the conversation (rendered Markdown). Append at the end: > Reply "save" to write the report to arena-reports/. When the user replies "save", write to /arena-reports/--vs-.md.

Say what "save" does when you offer it — it creates a file in their project, under arena-reports/, creating that directory if it is missing. The report is shown in full in the conversation first, so saving is a choice rather than the only way to read it. Never write it without being asked.

Report format requirements:

  1. Title = conclusion: Use scenario name + both Gene names, not a generic title
  2. Conclusion first: Immediately below the title, a > blockquote with one-sentence summary of winner and key data
  3. Concise comparison table: Only decision-relevant metrics (rank, F(g), V(g), Fidelity, success rate, latency, source), bold the winner. Every number in it must come from a command actually run — F(g) from arena list, V(g) from rotifer vg, downloads from rotifer stats. Leave a cell empty and say why rather than estimating it
  4. Ranking visualization: Fixed-width ASCII table showing the full domain ranking, mark new entries with
  5. Reproduction commands in a standalone bash block: Pure commands (no comments/output) for easy copy-paste
  6. No internal references: No ADR numbers, plan section numbers, or internal version notes
  7. Minimal metadata: One line at the bottom with date + CLI version + evaluation mode

Report structure (output directly in conversation):

  • Title: # Comparison: vs
  • Conclusion blockquote: One sentence — who won, key metric delta, core reason
  • Comparison table: Rank, F(g), V(g), Fidelity, Success rate, Latency score, Source
  • Current ranking: Full domain leaderboard (ASCII table, marks new entries)
  • Analysis: 2–3 paragraphs on fitness gap attribution, security comparison, same-fidelity positioning
  • Upgrade path: Table with path / action / expected improvement / effort
  • Reproduction steps: 4–5 pure CLI commands
  • Next steps: 4 commands with brief descriptions
  • Footer: Generated on YYYY-MM-DD · @rotifer/playground@X.Y.Z · Mode: deterministic estimation

Scenario Examples

Example 1: Evaluate a ClawHub Skill's Competitiveness

User: Evaluate the web-search skill from ClawHub in the Rotifer ecosystem

Skill execution:
1. rotifer wrap clawhub-web-search --from-clawhub web-search -d search
2. rotifer compile clawhub-web-search
3. Auto-discover same-domain opponent: genesis-web-search (Native, F(g)=0.9470)
4. rotifer arena submit clawhub-web-search
5. Generate comparison report

Example 2: Compare Two Custom Genes

User: Compare my particle-brute and particle-spatial — which is better?

Skill execution:
1. Confirm both Genes exist with phenotype.json
2. rotifer arena submit particle-brute
3. rotifer arena submit particle-spatial
4. rotifer arena list --domain sim.particle
5. Generate comparison report

Example 3: Build a Quantitative Scenario

User: Help me build a quantitative strategy comparison scenario

Skill execution:
1. Guide user to define domain (e.g. quant.strategy)
2. Guide creation of two Gene phenotype.json files (Strategy A vs Strategy B)
3. If compilable source exists, compile to WASM
4. rotifer arena submit both Genes
5. Generate scenario comparison report

Checklist Before Running

  • Project has a rotifer.json (if not, guide rotifer init)
  • CLI is installed: npm i -g @rotifer/playground, or invoke it as npx @rotifer/playground
  • rotifer doctor passes — compiling to Native WASM needs esbuild and javy, and without them rotifer compile fails in a way that reads like a code error
  • ClawHub imports require network connectivity

What this Skill does on your machine

It has no code of its own — it tells your assistant which rotifer commands to run. That is why its manifest declares process execution, filesystem read/write and outbound network access: every one of those is the CLI acting, not this Skill.

RunsThe rotifer CLI (@rotifer/playground), fetched from npm if not installed.
ReadsGenes and Agent definitions in the current project workspace.
WritesOnly what the commands below write — Genes into the project's genes/, Agent definitions into .rotifer/agents/. Nothing outside the project.
SendsCloud registry and Arena queries, to the public Rotifer API. Your code is not uploaded unless you run rotifer publish yourself.

Commands that install, publish or overwrite are proposed for your approval first, never run silently.

SkillRelationship
gene (dev module)Route here when users need to create a Gene from scratch
gene (migration module)Route here when the report recommends a fidelity upgrade
gene (audit module)Suggest running when the report shows low security scores

Constraints

  • No automatic Cloud publishing: Comparison evaluation is a local operation; Cloud publishing requires explicit user confirmation
  • Cross-fidelity comparisons need a disclaimer: The baseFitness gap between Wrapped and Native comes from the scoring model, not actual capability differences
  • Reports are Markdown format: Ready for blogs, community sharing, or GitHub Issues

Related skills

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván555 installs18 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai21 installs8 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván854 installs69 stars

More from xiaoba-dev

Browse all skills

Route any Rotifer request to the right sub-capability — onboarding, scaffolding, diagnostics, search, or fidelity upgrade.

by xiaoba-dev17 installs

Build a Rotifer Agent from existing Genes through a 7-phase workflow of decomposition, composition, creation, and testing.

by xiaoba-dev14 installs

Rank an Agent's Rotifer Genes against the Arena and swap in stronger ones. Invoked explicitly via /evolve — scan local capabilities, compare Genes, inspect fitness scores, and replace weak ones with user approval. Not for capabilities outside Rotifer.

by xiaoba-dev17 installs

Cross-vendor adversarial review. WARNING — this sends your brief, and any source files you approve, to a model hosted by a THIRD-PARTY vendor, where it stays in that vendor's session history under their retention terms. Ship a plan, proposal, or design to a model from a DIFFERENT vendor to attack it; every objection carries a verifiable anchor; the defender rules with an evidence tag on each ruling; the final round classifies into still-disputed / unresolved / verified-consensus instead of forcing agreement; a fresh-session judge is mandatory whenever the outcome looks too clean. Invoke only when the user explicitly asks for an adversarial review by a model from another vendor. One model role-playing several experts is not this skill.

by xiaoba-dev2 installs

Session knowledge distillation: assign what you just learned in this session into an agent's four-layer persistent knowledge base (rule / memory / skill / decision record). The core is four disciplines — search before adding, pick the right layer, guard against bloat, and run a hygiene pass before landing anything. Fits agent workflows that already have (or want to build) these four layers; this is not a general note- taking tool. Invoke explicitly at the end of a session to consolidate what was learned.

by xiaoba-dev2 installs

Installs a documentation governance architecture in a project and diagnoses what it is missing. Three actions: audit diagnoses the current state against seven components (source-of-truth layering / decision records / cascade discipline / planning system / checkpoints bound to actions / gates / incident traceability); init installs what is missing (config, a script copy, a pre-commit gate, two Claude Code hooks, decision and plan templates); check keeps verifying that what the docs claim about reality still holds (TODOs left hanging too long, cascade memos never carried out, plan status that doesn't match reality, broken references, broken links, § section references pointing to the wrong place, missing index entries, broken tables, endpoints the docs declare but the code doesn't have). The framework was distilled from the documentation system of a large protocol project, and every check is tied to a real incident. ⚠️ init modifies the repository and installs hooks that keep running aft

by xiaoba-dev1 installs