arena
Installation
SKILL.md
Arena
Open a todolist with one entry per phase (Frame, Fan out, Cross-judge, Pick, Graft, Verify) before launching anything.
Phase A: Frame
Every candidate gets the same prompt, so the prompt is the contract.
- State the artifact each candidate is producing.
- Derive the rubric, 3-6 concrete gradeable criteria for what success looks like on this task. It is the picker's tool in Phase D. Candidates only see the task.
- Pick the runners. Use the
arena runnersline in~/.cursor/rules/pstack-models.mdc. If the rule or that line is missing, default to one each onclaude-opus-5-5-xhighandgrok-4.7-xhigh-fast. Anautoorinherit-parententry in this line or the cross-judge line means the parent model, so omitmodelfor it. If the Task tool rejects a configured entry, run that seat on its family's default and say so. Families go by prefix:claude-*, andgrok-*withcursor-grok-*andcomposer-*. A refusedcomposer-*entry runs ongrok-4.7-xhigh-fast. With no family match, useclaude-opus-5-5-xhigh. If it rejects a default, use the closest valid slug of the same family from its error message. Spawn more runners when the arena covers multiple design directions. Use the same model N times when the work is generation-bound rather than judgment-sensitive. Pick each subagent's reasoning level and fast or standard speed for the job, per the Subagents section of the poteto-mode skill. - Give each candidate its own output location (a git worktree where possible, otherwise
/tmp/arena-<slug>/candidate-<n>/), per the separate-before-serializing-shared-state principle skill.
Phase B: Fan out
Spawn all N subagents in one message with run_in_background: true, each with the task, the path to the shared grounding, its own output path, and instructions to produce the artifact and a short rationale naming the alternatives it considered and what it rejected.
If a candidate produces no output, proceed with N-1 and note the dropout.