The guide
The skills
What each scored skill asks — pick and place, draw anything — how a unit of each is built, which perturbation it carries, and why the demonstration never starts where the model does.
Everything in the competition is built out of one object: the unit. A unit is one task, one initial state, one demonstration and one seed. Both models see the demonstration, both start from the initial state, and both are scored on whether the task was done at the end. The skills differ in what the task is, what simulator runs it, and how a unit is perturbed away from the demonstration.
Pick and place
Grasp one object and place it at a destination, as the Behavior Prompting paper's LIBERO pick-and-place domain defines it: one grasp stage followed by one place stage, nothing else. Tasks that open a drawer, turn on a stove, push a plate or chain two placements are not in this skill. Every unit carries one of three perturbations — Spatial change, Environment change, Object change — drawn evenly across a duel:
- Spatial change — same objects, but they and the robot start somewhere else: LIBERO-PRO's swap and pose perturbations plus a displacement ladder with a minimum distance at each level, so a unit cannot be solved by replaying the demonstration's motion.
- Environment change — same task and layout, but on a different table in a different room, with the lights randomized from the unit's seed.
- Object change — the grasped object or its destination is swapped for another that affords the same operation. The demonstration shows the new pairing, so the model is told what to do; the pairing itself was never published as training data.
The perturbation a unit carried is published on the unit — the level, the table, the swap — and never scored on its own. The skill's score is one success rate over all of its units.
Draw anything
Reproduce a drawing shown once — the Behavior Prompting paper's DrawAnything-Sim domain. The demonstration is a person drawing a shape on a square whiteboard with a pen; the model then holds the pen on a blank board and has to draw the same shape. The board is turned to a different angle than the demonstration's, by at least 15°, and the pen starts somewhere else; the red edge of the board is the only orientation cue, so the drawing has to be understood, not traced.
A drawing unit succeeds when the strokes the model leaves are within 4 px Chamfer of the demonstrated strokes — the symmetric Chamfer distance between the two stroke sets, in canvas pixels, at the best moment of the episode. The distance itself is published on every unit beside the success flag, so a near miss and a blank board read differently even though both count as failures.
What every skill shares
- One demonstration, always of the perturbed task, always recorded from a different starting point than the one the model is scored from. The demonstration is the whole prompt.
- No language. The task is never named to the model. The task names are public — the benchmarks are open source — but nothing hands them to the policy.
- No weight updates. Parameters are frozen for the entire unit. The only thing that changes is what enters the prompt.
- The validator owns inference — the prompt encoding, the observation loop, the action chunking, for every skill. An entrant submits one checkpoint per skill; no participant code runs.
- Both sides see the same unit. Same initial state, same demonstration, same seed.
How the score is built
Each skill is a success rate over its units, excluding any that were void. The score is the mean of the skill rates. A duel page shows every skill's rate for both sides, with the difference in points beside each, and then the average row — the one comparison the crown rule makes — in the context of the rates that produced it.
The draw, at the default duel size
- Default duel size
- heavy
- Units per skill, default duel
- 42
- Units per side, default duel
- 84
- Selectable duel sizes
- smoke, light, medium, heavy
Rendered from spec.json at build time — the same file the validator reads.
Skills are meant to accumulate: adding one adds a directory to every submission and a row to every ledger, and bumps the specification version so no earlier draw is confused with a later one.
Next: what you submit.
