agentleFS
ryanportfolioryanportfolio/Harness-Firmware/.agents/skills/arena/SKILL.md

arena

Skill1 starsChanged 21 days agoMITView on GitHub

Builds parallel attempts at one task, judges them blind, and grafts the best ideas onto the strongest. Use for $arena, \"try a few approaches\", \"build me options\", bakeoffs, competing versions, or a stalled long-horizon or wow-loop step.

We split this skill into the rules it gives an agent

6 rules. 0 are common, 2 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 60 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Use when the right shape of a solution is unclear and building several real versions will show it.

    line 8
  2. Very specific:

    No two workers share a writable path.

    line 29
  3. Very specific:

    Judge: Start it only after all candidates return.

    line 41
  4. Distinctive:

    Read every candidate completely, low scorers included, and score the criteria yourself.

    line 45
  5. Very specific:

    If the candidates split over a basic premise, brief.md has a gap: that gap gets fixed in the brief and a new round runs.

    line 49
  6. Distinctive:

    Check commands and their results.

    line 62

“Common” is measured: kept by at least 6 in 10 of the 60 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Arena

Use when the right shape of a solution is unclear and building several real versions will show it. Triggers: $arena, "try a few approaches", "build me options", bakeoffs, competing versions, or a stalled $long-horizon or $wow-loop step. Skip it for "arena" meaning a game level or map, work whose shape is obvious, tuning values of a settled design ($lab), comparing options on paper ($dare), or reviewing an existing diff ($impartial-review).

Before starting

Every candidate and the judge run with fresh context: agents spawned through the exposed multi-agent tools with fork_turns: "none", separate codex exec processes, or Claude CLI workers as described under Workers. Inspect actual tool exposure; config flags are not proof. If no fresh-context route exists, tell the user and stop. The parent never builds a candidate itself.

Arena permits work in scratch only. Commit, push, PR, merge, deploy, and installs each need their own authorization.

The arena folder

Everything lives under .tmp/arena/<slug>/. These access rules carry the blinding and isolation.

PathContentsWritten byRead by
brief.mdArtifact, inputs, and constraintsParentCandidates and parent
criteria.md3 to 6 pass/fail criteria an outsider could check, such as "adds a --dry-run flag that performs no writes" ("clean code" is too vague)ParentParent and judge only; never copied into a candidate's folder or worktree
c1/ ... cN/One candidate's artifact plus rationale.md: the options it considered and dropped, with reasonsThat candidate only, in this folder or its own git worktreeParent only; the judge never sees rationale.md
judge/Each artifact copied under a neutral letter, with names, angle, vendor, and model traces removed and content otherwise unalteredParentJudge, read-only
note.mdThe run record listed under "Done when"ParentParent, then the user

No two workers share a writable path. The parent holds the letter-to-candidate map until the verdict, then writes it to note.md. Record any trace that cannot be removed as a blinding limit.

Workers

Candidates. Three by default; more on request or when the options are many. Each brief names a different angle, such as minimal change, failure-proof, or end-user-first. Codex workers use the configured model. Claude workers run on Opus, the latest Fable, or higher, never sonnet or haiku. A user-chosen model that meets that floor wins.

Mix vendors without asking. One candidate and the judge run through the Claude CLI only when the $claude-review preflight proves subscription routing; never use API billing. Take flags from local claude --help, and never bypass permission checks. If the preflight fails, those workers run on Codex, noted.

For browser-rendered artifacts, each candidate brief includes the browser rule from AGENTS.md or CLAUDE.md, whichever the repo uses.

A candidate that returns nothing is a dropout. Record it and continue with the rest.

Judge. Start it only after all candidates return. Fresh and read-only, it sees only criteria.md and judge/, and returns pass/fail per criterion with evidence for every letter, plus a recommended base.

Deciding

Read every candidate completely, low scorers included, and score the criteria yourself. Before overruling the judge, recheck the evidence it cited.

The base is the candidate whose design the planned merges would disturb least; if still tied, the one with less code. Take at most one or two ideas from each other candidate and rewrite them to the base's conventions. A reader of the final artifact should not be able to tell where one candidate ends and another begins.

If the candidates split over a basic premise, brief.md has a gap: that gap gets fixed in the brief and a new round runs; a merge of both premises is never the answer. If they all agree, still run the checks.

Reruns

One rerun total, spent on either a split premise or a verification failure traced to the brief. If verification fails on something another candidate already solved, return to merging instead. More reruns need the user's OK.

Done when

The artifact passes the real checks it claims (tests, build, render, measurement), and note.md lists, in this order:

  1. A worker table: letter, model, vendor, angle, and outcome (returned, dropped, or blocked).
  2. Blinding limits and the judge's verdict.
  3. For each non-base candidate: every idea you looked at, marked taken or left, with the reason. Put the base choice and its reason at the top of this section.
  4. Check commands and their results.

The parent writes the final artifact to the path the user named, or else where the base candidate's work belongs in the repo. Candidate folders stay in scratch.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.