arena
Arena
Each spawn below names a role from the pstack profile (written by /setup-pstack, always in your context). Spawn it with the profile's spawn recipe, passing that role's value as the model. A role with no line, or the value inherit, means no model override. If the harness rejects the model, retry with inherit and say so. A role valued ask is chosen per run: before the first spawn, list the available models with the profile's models recipe, use the profile's ask to have the user pick a model for each entry of that role (offer inherit too, and let them choose how many entries), and ask once for every ask role this skill uses. Use the answers for this run only, and treat no answer as inherit. With no profile in context, follow the fallback in the setup-pstack skill (references/profile-template.md) and tell the user once that /setup-pstack was not run.
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 runnersrole value from the pstack profile, one runner per entry. Aninheritentry means the parent model, so pass no model override for it. If the harness rejects an entry, run that seat oninheritand say so. 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: background, 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.